架构师必须补充的能力
这段时间,看到网上有关于系统架构师应该具备的能力,我深深不以为然。诚然,技术的东西还是要掌握的,但是我认为,而且也坚决地认为大家应该转变想法,架构师,需要具备的不光光是技术能力,更重要的是“系统思考能力”与“思维组织能力”。
系统思考能力,这其中的系统,不是简简单单指的是咱们开发的软件系统,而是软件所处于企业应用场景中的系统。说白了就是,解决用户实际问题的整体方案,叫系统。因此要切记的是,我们提供给用户的,不光光是软件。除非你的软件傻瓜到不需要任何指导就可以使用,否则,你会惊讶的发现,用户完全没有按照你当初设想的方式去做事。
架构师必须解决这个问题。这个问题不是交由市场或者客服去解决的,而是在软件设计当初就要考虑周到的。那么架构师要怎么做才能解决这个问题呢?
我们知道,解决一个问题,往往需要定义流程、相关干系人,相关指导手册。其实,在实际过程中,还可能制定相关制度。我说的这些,其实就是一门科学:《流程管理》。很多人可能很不以为然,但我敢肯定,就像前几年流行《设计模式》一样,软件架构业界也会推崇《流程管理》。我说这话是有根据的。
第一、 我们软件设计中常用的UML 的建模图中,包含的用例图、顺序图、状态图等等。在以前,很多人都习惯了,设计就是 重复 的描绘出业务人员嘴中的工作场景。但我要说,不!设计软件,其实就是企业内部信息化一样事情,作为架构师,你除了了解这些场景,还得设计新的,在使用了软件之后的场景。回答,软件能够做什么,不能够做什么。如果软件不能做,用户应该怎么办?
第二、 UML中对于系统分析的理论是空缺的。而这点,戴明等流程专家们,却在流程管理领域里给出了答案。因此,软件架构师们,需要利用这些理论,去弥补 UML 的不足。
第三、 在实际的工作中,我有一位这样的工作伙伴Navy 小姐,她负责着公司的流程管理工作,因此在交流的过程中,实实在在地发现软件与流程是不可区分的。而且其理论,总是可以给软件设计指明理论方向。
这是我认为架构师必补的第一个课程。第二个课程是有关麦肯锡给企业战略管理做的7s 理论。这个 7s 理论包括(目标、策略、系统、组织、人力、能力、文化)等 7 个以 S 大头的单词组成。其理论在世界前 500 强中大量使用。这个 7s 理论,可以帮助我们很好的理解企业中的行为和规律,并可以帮助我们去设计组织的运作方式。架构师如果能够理解好这些,那么软件在组织中的作用,以及除了软件,我们还需要设计什么的问题,就跃然纸上。回答好这些问题,是有优良教育的架构师的必备功课。
最后一个必备课程,就是《金字塔原理》。这是不是一个有关设计与架构的课程,但确实是一个可以帮助我们组织设计思想的好书。麦肯锡公司同样在推荐这本书给所有500 强的员工们。
很多人可能很奇怪,为什么,架构师需要学习这样一个偏僻的书籍。道理很简单。因为架构师不光光是将系统设计出来,还得给其他人演示出来。这还只是说的开始。当你有一点想放弃掉原来的诺言,终于又要重新尝试着去将自己的理念说给别人听的时候,你可能还是只能最终绝望的说一句:反正我也不指望能说服你!
是的,我们终于还是要面对这样一个问题,我们除了在解决技术问题之外,我们必须解决好这些人的问题。我们有责任将我们的意见说给别人听。至少告知,但更重要的是要将我们的设计精髓贯彻到每一个人的头脑中。这样才能在执行过程中,不会出现偏差和违背的现象。
《金字塔原理》这本书,就是这样一本可以帮助我们如何去组织思维,并利用组织好的思维,很好的去说服别人的书籍。从一定意义上,这不是一本书,而是一个模式,一个思维模式,只要我们学好了,说服别人,只要看我们做得好不好。
我今天,给大家推荐了一个理论+ 两本书籍,表面看上去完全和架构师没有任何关系,但我认为,这才是我们架构师发展的方向所在。
我同意这样的一句话,架构师是非常伟大的人群。