赞
踩
先介绍一下这些生存法则的来源。按照实证主义的思维,这些生存法则其实不是定理, 因为它们缺乏严格的推导逻辑,它们更多的是一些假设,这些假设基于多次失败之后总结 和抽象出根因,即过去的失败分类后都与这 6 个要素有关,如果想最大程度避免失败,就要遵守 6 个架构师生存假设。不过,直到观察到明确的反例之前,这些生存假设都是成立 的,因此可以将其称为生存法则。
我之所以总结提炼这些原则,是因为在二十多年的架构师生涯中,我一次又一次地看 到我身边的架构师,包括我自己,在违反这些规则后付出了惨重的代价。我希望这 6 条生 存法则能够帮助更多架构师成长,也希望他们能发现反例或者对生存法则做出重要补充, 大家共同维护这组生存法则。从实证思维来看,它们将成为一组不断经历“假设-实证-修 正”循环的科学理论。
接下来,简单介绍一下这 6 条生存法则的核心内容。
(1)目标:架构师必须保障整个架构活动有且仅有一个正确的目标。这是架构活动的 起点,也是甄别架构方案优劣的主要输入,所以架构师有义务影响和干预这个目标,以确 保目标本身的正确性。
(2)人:架构设计需要顺应人性。架构活动既要服务用户,也要组织研发人员协同工作。这就意味着,架构师必须洞察研发人员和目标用户的人性,从人性的角度出发做决策, 这样才能保障最终面向用户的方案具有长期正确性,以及面向研发团队的实施过程具有可行性。
(3)经济价值:架构师永远需要在有限资源下最大化经济价值。架构师通过对架构活动进行干预来为企业带来额外的经济价值增量。
(4)环境:架构选型必须顺应技术趋势。在架构设计的过程中,架构师面对一个相对 确定的商业环境和技术环境,在这个选择空间内,理解、顺应且利用好商业和技术周期至 关重要。一般情况下,要选择已经有规模优势或即将有规模优势的技术,而不是选择那些 接近衰老期的技术。
(5)过程控制:架构师要通过架构手段为企业注入外部适应性。这种在不确定环境下 以价值思维驱动的应变能力也是架构师职业成长的必备能力。这样最终实现的软件架构将 会因其很强的外部适应性而长期存在,并为架构师建立长期的口碑。
(6)文化:架构师需要在一个友善的企业中成长,才有希望找到正确的架构方案。架 构师要尽量创造一个过程正义的架构活动的内部文化。同时, 架构师要尽量影响整个企业 的文化。
至此,你可能会认为这 6 条生存法则是平淡无奇的。这很正常,因为软件架构必须符 合人类活动的各种规律,如经济学、社会学、管理学、心理学、系统科学等,你应该或多 或少在其他科学领域听过类似的规律总结。
事实上,在当前的信息化时代,获取各种规律并不难,难的是怎么将这些规律准确地 应用到架构活动的各种异常场景中。
当在架构活动中真正碰到某个规律适用的场景时,我们很难识别这个场景,也就是不 知道应该应用哪一个规律,就像每个具体的算法都需要在特定的细分数据场景下才能最大 化效果一样,如果算法工程师以暴力搜索去发现正解,那么他在找到方案之前恐怕就被淘 汰了。
举个例子。几乎每个研发人员都了解康威定律,但是康威定律到底影响架构活动的哪 些要素,必须在哪个节点关注它,却很少有人能够阐述明白。
并非所有的架构活动都能成功,接下来我就介绍影响架构活动成败的要素。
在介绍这些要素之前,我要先定义一下什么是成败。本书中强调的成功不是互联网企 业常见的上线之后就开始庆祝的简单的未经验证的成功,而是架构师保障一个大型的架构 活动达到它的预期目标,且这个预期目标与企业战略相符,能够保障企业长期生存。
在这种定义下,影响架构活动成败的第一个要素是目标。确定目标是架构规划的起点, 因此架构师生存法则的第一条就是有唯一且正确的目标。架构师必须理解和干预目标,确 保最终的架构活动能够为团队或企业带来最大的价值。如果目标设得过高或过低,架构活 动将没办法完成或者价值太小。
在人工智能对软件研发形成彻底革命之前,软件研发工作主要由人来承担。因此,架 构活动首先是人的活动,影响架构活动成败的第二个要素就是人。在输入端,架构师需要 与多个产品团队和研发团队协作。架构师要理解研发人员的核心诉求,在架构规划中尽量 激发而不是抑制研发人员的创造力和投入度。在输出端,架构规划最终要通过产品来服务用户,因此深度洞察用户的需求才能真正为企业创造长期价值。不论是在输入端,还是在 输出端,架构活动都需要靠撬动人性来实现价值最大化。
对软件企业而言,架构活动也是商业活动,这个活动要消耗各种资源,除了消耗人力资源,还消耗时间和企业的机会,在活动上线之后还要占用营销资源和运营资源等。消耗资源的最终目的是带来商业回报,除了直接的经济回报,还有用户增长、效率提升、运营成本降低、用户体验提升、品牌影响扩大等。这些资源消耗和商业回报都可以归结为影响架构活动成败的第三个要素—经济价值。
架构活动的作用对象是软件产品,软件产品有对应的生产环境、运行环境、竞争环境 和监管环境,其中生产环境和运行环境是由当前的技术环境决定的,而竞争环境和监管环 境是由整个市场环境决定的。在互联网时代,不论是技术环境还是市场环境,都在高速发 生变化,架构不仅要关注当下的环境,还要关心环境的变化趋势和未来的环境。架构规划 只有顺应环境变化才能保障长期价值,所以架构活动成败的第四个要素就是环境。
架构活动都不具有常规性,架构师要为每次架构活动重新制订全新的规划,并且需要 监控整个过程,及时干预,确保架构活动沿着预期的方向发展。这种监控就像运维一个互 联网软件时设置监控报警并及时响应一样。最初的架构规划只是过去某个时间的判断,随 着进度的推进、环境的变化,架构师要不断地根据实际情况来调整规划的实施。这就是架 构活动成败的第五个要素—过程控制。
整个架构活动和所有参与者都运行在整个企业的大环境中,架构师的最核心的价值就 是发现问题和影响他人的决策,但架构师是否能够影响整个架构活动是由企业文化决定 的。如果一家企业的文化是一味执行,不能理智地对待负面消息,也不允许任何人挑战高 层的决策,甚至是打击发声者,那么包括架构师在内的所有专业决策者都很难在这种环境 下创造价值。因此, 架构活动成败的第六个要素就是文化。
图 4.3 展示了这 6 个要素之间的关系。
图 4.3 中每个实体前面的数字代表要素,其中 1 表示第一个要素—目标;2 表示第 二个要素—人,包括用户、产品团队和研发团队; 3 表示第三个要素—经济价值, 包括资源和预期产出;4 表示第四个要素—环境,包括技术环境和商业环境;5 表示第 五个要素—过程控制,包括架构师、软件产品、架构活动和架构规划;6 表示第六个 要素—文化。
在整个架构活动中,架构师真正能够主动决策并且干预的是过程控制这一个要素,环 境、文化这两个要素架构师根本不可能影响,只能想办法顺应,而目标、人和经济价值这 三个要素架构师仅能部分干预但不能完全掌控。
总结一下,架构师在一家企业中,根据企业的战略目标和架构活动的具体目标来制订 架构规划。这个规划要与当前的技术环境和商业环境相匹配,还要满足各种资源的约束条件。架构师要从候选方案中找出能够最小化资源和成本,最大化经济价值,以及最大化目 标满足度的设计方案。最终,架构师还要保障研发团队能够交付这个设计方案,为目标用户创造价值。
成为一名合适的架构师你只需要阅读这本《架构思维:从程序员到CTO》
阅读本书,你将掌握:
**架构思维,架构设计的3种思维定式和4种思维模式;
**生存法则,影响架构活动成败的6个要素及对应的生存法则;
**实践挑战,架构活动中必然或可能遇到的技术/场景挑战及应对思路;
**成长规划,从程序员到CTO的职业能力跃迁。
当你学完本书时,你将了解行业发展脉络,理解架构师工作的底层逻辑,掌握架构设计的思维原则,从而梳理出自己的清晰的成长地图,实现职业角色的跃迁。
本书以架构师工作中的痛点问题为导向,结合大量真实、复杂的案例,帮助架构师提高架构 设计能力,规划职业成长路径。本书共 4 部分,第一部分“架构师的思维模式”介绍 3 种架构师的 思维定式和 4 种架构活动中常见的思维模式;第二部分“架构师的生存法则”介绍影响架构活动 成败的 6 个要素,以及由其引出的架构师的 6 条生存法则;第三部分“架构活动中的挑战、根因和 应对”介绍架构师在整个架构活动中持续发挥的作用以及架构活动不同阶段常见的问题; 第四部 分“架构师的职业规划和能力成长”介绍架构师的成长地图和对应角色的关键能力,以及提升思 考力的方法。
本书对所有 IT 从业人员都有益,尤其适合想成为架构师的研发人员和想提升自己架构能力的架 构师。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。