软件架构师是如何工作的?

软件架构师是如何工作的:

     首先咱们来说一下缘起,在软件行业对于什么是架构一直都有很多的争论,架构在软件发明时的N多年一亲肌已经存在了。那为什么会产生架构呢?在早起人类都是一个个体,自己进行自己的事情,但是慢慢之后进行群居,一旦多人分工配合作为生存的整体,力量就会强大的多。当分工产生之后,实际上每个人的生产力都得到了提高,因为做的都是每个人最擅长的事情。因为每个人的能力和时间都是有限的,并且因为人的结构限制,人同时只呢哥专心做一件事,这样不得已就导致了分工的产生。

     总结一下,什么是架构,就是:根据要解决的问题,对目标系统的边界进行界定、并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间、并对这些切分出来的部分,设立沟通机制、使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。在识别出事谁的问题之后,会发现大部分情况下,问题都迎刃而解。很多时候问题的产生都是因为沟通的误解,或者主观上有很多不必要的利益诉求导致的。但是总是有部分确实是有问题的,需要做调整,那么就必须要所有动作,做相应的调整。这个调整就是架构的切分。切分调整都是对相关人的利益的调整。因为维护自己的利益,是每一个人的本性,是在骨子里面的。社会发展,每个人都希望能够把自己的利益最大化。对弈一个人干所有事,分工可以让大家都能够得到更过,也产生了一个相互依赖的社会,相互之间谁都离不开谁。那么究竟该怎么切分呢?

     对比一个人干所有的事情,结果就是大家都能够得到更多,当然也产生了一个互相依赖的社会,互相谁都离不开谁。这就是自然而然而产生的架构切分,背后的原动力就是人们对自己利益的渴望。人们对自己利益的渴望也是推动社会物质发展的原动力。在这个模式下,比较有意思的是,每个人必须要舍掉自己的东西,才能够得到更多的东西。有些人不愿意和别人进行交换,不想去依赖于别人,这些人的生活就很明显的差很多,也辛苦很多,自然而然的就被社会淘汰了。

     架构的切分的导火索是人的负载太重。架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个 stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。我们经常把软件设计看作是为保证软件系统能够按照原来的设想正常运行而在各个环节上采取正确步骤,软件架构所要考虑的问题更夹广泛。架构设计师面临的时诸多相互竞争的因素和需求。软件架构对从事软件开发的组织产生深远影响的范式。在软件开发中,构架和其开发组织相互影响,相互帮助,共同成长、发展。

      如果一个人在工作中,只是致力于完成自己的工作,以做好自己的工作为主要目标,那么最多只能成为一个工匠,无法成为一个架构师。因为这个过程解决的还是自己的问题,并没有时间的压力,可以随意什么时候做完都可以。架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意的为别人的利益服务,自然而然的架构师就拥有了强有力的影响力,肯定会是一个 leader。但是只是民意上的 leader 是没有用的,不能完全发挥架构师的能量。架构师必须是一个组织的领导人,有权利调动这个组织的架构,才能够更好的发挥架构师的作用,更好的把利益的调整落到实处。所以很多公司设了很多架构师的职位,但是并不具备调动组织架构的权利,那么这个架构师的职位一定是形同虚设。

     架构师必须能够超越对时间的恐惧 -- 也就是说必须具备了一定程度的自信,哪怕是装的,去真正的发现问题的主体,识别真正的问题,并把这个行为变成为自己面对问题的第一反应。架构师还必须要明白,所给出的解决方案 – 架构的分拆、合并方案,只有让问题的主体的权责对等,才能够真正的解决别人的问题。一般明白了问题的主体,以及主体的利益所在,做到这一点也没有问题。

     架构毕竟解决的还是人的利益问题,成本越低越好,这个成本当然是长期总体成本,不是眼前的短期成本。架构师应该承担起解决业务问题的这个角色来。让技术人员致力于为业务在计算机中跑起来而努力。只有把这两者很好的结合起来,才能更好地完成业务的目标,才会让软件更好地服务于大家。最终一定会得到一个很好的软件架构,令软件开发团队和业务部门都能够很好地开展工作并降低成本。软件架构的出现也是同样的。一开始是懵懵懂懂的去写软件,后来慢慢的就有意识的去切分,演变成了不同的架构。这个背后的动力也是一样的,就是提升参与的人的利益,降低成本。导火索也是软件工程师的任务太重,我们需要把很多工作拆分出来。拆分的原则也是一样的,如何让权责一致。同样,这个拆分也是需要组织架构的调整,来保证架构的落地。

原文地址:https://www.cnblogs.com/dazhi151/p/14482459.html