架构师、架构活动与生存法则

Posted by 皮皮潘 on 04-27,2022

架构师

架构师的成长分解成五种能力,分别是:单个模块的设计能力、解决横向问题的能力、解决跨领域冲突的能力、全局性技术决策的能力,以及通过技术带来生存优势的能力。

上述的架构师职业生涯中几个最重要的能力跨越,也代表了一个架构师在不同阶段要面临的不同挑战以及要解决的不同复杂度的问题

想要跨越到更高的阶段,意味着要先跨越一个能力障碍,建立全新的能力维度,而不是把现有能力做得更极致。

另外,根据不同的能力,架构师的成长角色也分为以下四种:兼职架构师、跨域架构师、总架构师和CTO,它们的能力以及解决的核心问题如下图所示:

1811_1.png

架构活动

一名软件架构师要为相对复杂的业务,制定、引导并且实施一个结构化的架构方案,而这个发现最终方案和推动实施的过程则是架构活动

活动划分

架构活动可以分成八个节点:环境搭建、目标确认、可行性探索、架构规划、项目启动、阶段交付、全面上线和复盘。在每个节点中,架构师的每一步行动,包括进入条件、准备工作、应对办法等,都会影响架构活动的成功率,而这每个节点对应的行为就是作为架构师给架构活动带来的真实贡献。

从全局的角度来看,架构活动主要可以划分为以下三个部分:

1809_1.png

  1. 中间白色部分是架构师的决策领域,包括架构方案架构活动,其中一个是静态的交付物和一个是动态的过程
  2. 黄色部分是架构师的输入和输出部分:
    1. 输入不仅指架构活动消耗的资源(商业资源、研发资源等)和成本(时间成本、机会成本等),还指不受架构师所控制的部分研发活动
    2. 输出呢不仅指架构活动可能带来的短期和长期的商业价值(公司的规模、效率和体验等),还指架构活动为目标用户群体所提供的直接价值
  3. 蓝色部分指架构师的工作环境,主要包括企业所处的商业环境,如竞争、市场、监管等;企业内部的技术环境,如交互设备、sensor 网络、计算环境、外部的数据源等;以及企业和团队的文化环境

实施要素

影响架构活动实施成功还是失败的主要有六个要素:目标、资源、行为、天时、地利、人和

要素解释
目标确定目标是架构规划的起点,所以深入理解目标对架构活动至关重要,我们要学会如何去理解和干预这个目标,确保最终的架构活动能够为所在的团队或企业带来价值,否则目标错了,项目永远也没法成功
资源所有的活动都要消耗资源并且最终要创造价值,我们要学会如何通过消耗尽可能少的或者有限的资源来最大化贡献的商业价值,否则资源不足或者消耗太快,项目也同样无法成功
行为有了足够的资源还要有正确的行为,也就是正确的做事方式,不确定性是互联网大环境的常态,我们要学会在周遭环境发生变化时做出正确的反应,才能逐步逼近正确的架构方案,并且指导团队完成它
天时天时指的是商业环境和技术环境的变化趋势,环境复杂多变,我们要学会借助环境的变化并顺应趋势来成就团队与企业
地利地利指的是所在企业的文化环境,我们要学会选择最有利于架构师职业发展的文化环境进而最大化个人的成长
人和架构活动中涉及的人主要是研发人员目标用户。在输入端,我们要学会和多个研发团队协作,进而理解研发方的核心诉求;在输出端,架构师产出方案与架构活动的最终评判即目标用户的长期满意度,因此我们要学会深度洞察用户的人性进而保证架构活动的成功

生存法则

生存法则指的是我们作为架构师在设计架构方案和组织架构活动时必须要尊重的一些原则。如果违背这些原则,那么作为一个架构师的生存就会受到威胁

  1. 架构师必须保障整个架构活动有且仅有一个正确的目标。这是架构活动的起点,也是甄别架构方案的主要输入,所以架构师有义务影响和干预这个目标,以确保目标本身的正确性。
  2. 架构师永远需要在有限资源下最大化商业价值。对于任何一个架构活动来说,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等,都是极其有限的,所以架构活动必须在这些限制条件下,最大化商业价值。
  3. 架构师需要在架构活动中不断干预活动的目标和内容,以同时保证整个架构活动可以为企业注入外部适应性。这是架构师个人能在架构活动中创造的核心价值,而且也是架构师职业成长的必须,甚至也是架构师的荣耀所依赖。最终正确的架构选型会因为有很强的外部适应性而长期存在。
  4. 架构选型必须要考虑到所依赖的商业和技术模块的生命周期。在架构设计的过程中,架构师会有一个相对确定的商业和技术选择空间。那么在这个选择空间内,理解、顺应且利用好商业和技术周期就至关重要。也就是说,架构师要看准技术趋势,一般情况下,要选择已经有规模优势或者是即将有规模优势的技术,而不是选择那些接近衰老期的技术
  5. 架构师需要在一个相对安全的文化环境中探索未知, 只有这样,才有希望找到正确的架构方案。文化环境是架构师最难影响的,因而架构师要有足够的判断力,认清自己所在的文化环境是否有利于探索正确的架构方案,不要在一个错误的环境中浪费自己的宝贵生命。
  6. 架构活动需要尊重和顺应人性。架构活动既要服务用户,也要组织研发人员协同工作。这就意味着架构师必须洞察研发人员和目标用户的人性。从人性角度出发来做决策,才能保障最终面向用户的方案具有长期正确性,以及面向研发同学的实施过程具有可行性。

参考

  1. 《郭东白的架构课》