购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Preface
前言

突然之间,我们无法离开家,无法与自己所爱的人在一起,不能与亲朋好友相聚,不能再去办公室工作。2020年,伴随着下一个新十年的到来,新冠疫情的爆发彻底改变了我们的生活。作为需要经常出差与客户合作并参加行业活动的顾问,每周七天、每天24小时都待在家里对我的冲击很大。这也让我面临一个严峻的问题:应该如何利用好这些空闲时间?

很幸运,即使在最严格的封控期间,我也能继续远程工作。我终于有时间去读一些过去一直想读的书,也终于有时间在游戏机上玩我钟爱的《跑车浪漫旅》( Gran Turismo )游戏了。即便如此,在晚上和周末,我仍然还有很多的空闲时间,而在过去我通常会进行差旅返程和社交活动。因此,我开始考虑写书。

我之前与Scott Millett合著过 Patterns Principles and Practice of Domain-Driven Design (Wrox,2015)。那次的经历很棒,我一直梦想着再写一本。但我的原则是必须先积累足够的知识和经验,到了觉得值得写的时候才会动手。我不想仅仅为了虚荣心而写作,要写就要能为读者带来价值。

到了2020年,虽然我还没感觉到可以动笔,但是发现许多组织仍然把架构现代化当作一项技术任务,缺乏发挥架构现代化潜力所必需的领域、组织和战略思维,而这正是一些组织正在经历的。因此,我决定在Leanpub上尝试写书,探索在存在差距的前提下,可以写到什么程度,以及自己是否适合写这本书。

在接下来的两年里,我总结每次与客户合作的心得,不断地迭代并大幅度地修改,以此来丰富内容。我感觉这本书逐渐开始满足我最初设定的能为读者带来价值的标准。特别是引入了与从业者合作的案例研究,使本书达到了我个人经验所无法企及的新高度。

到了2022年,我注意到书中还缺少数据网格方面的内容。数据网格是许多开始进行架构现代化的组织想了解的一个热门话题。因此,我找到了该领域的专家Jean-Georges Perrin,请他来撰写一个新章节。幸运的是,Jean-Georges Perrin不但同意撰写数据网格章节,还建议我联系曼宁出版社来出版本书。于是就有了本书(英文版)。在与曼宁出版社合作的12个月里,我在许多人的帮助下对本书的每个章节都进行了深入的修改和完善。书的质量比Leanpub版本有了大幅度的提升。

对我而言,撰写本书的三年经历极其宝贵。但更重要的是,我希望本书能实现为读者带来价值的终极目标。

——Nick Tune

读者对象

本书主要面向负责管理架构现代化的技术领导者,比如CTO、工程副总裁和架构负责人。本书的内容同样适用于具体领导落地实施的技术人员,例如首席工程师、高级工程师和架构师。此外,本书对技术和架构的相关人员也同样具有参考价值,即使他们不直接参与架构设计和编码,例如产品负责人、产品经理、服务设计师和用户体验(User eXperience,UX)设计师。由于本书不包含代码或对特定技术的详细指导,因此不适合想要寻找大量代码示例和软件重构具体指南的软件工程师。

本书内容的组织结构:导览

本书共分为17章,每章都专注于架构现代化的某个特定方面。大部分章都融合了理论概念、实用技巧和真实案例。本书要求按照章节顺序阅读。对于架构现代化,遵循从识别原因、设计架构到实现落地的叙事线。然而,由于主题之间的边界模糊,因此并非所有章都严格遵循这一简化叙述的模式。

第1章将介绍书中其他章节所涉及的与架构现代化相关的重要概念。

第2章将讨论在开始实现架构现代化之前应该考虑的重要问题和常见挑战。

第3章将探讨架构现代化可以为企业带来的业务价值,并介绍如何定义产品的“北极星”指标及明确组织的战略目标。

第4章将阐述如何组织各部门人员沟通以启动架构现代化,发现最重要的挑战和机会并通过实现架构现代化为组织带来最大的利益。

第5章将介绍用于战略分析的沃德利地图。通过沃德利地图,我们可以可视化组织的业务前景和行业走势,从而更深入地了解具体哪些核心能力值得投入。

第6章将讲述如何利用产品分类法创建基本构建模块来设计架构。这是一种围绕产品定义业务和技术架构的方法。

第7章将介绍全局事件风暴方法,该方法以高度协作的研讨会形式划分业务领域,为识别领域边界奠定基础。

第8章将讨论如何避免把架构现代化简单地视为用新技术重建旧系统的项目,而应该把它当成改善UX、解决长期存在的痛点、优化工作流程和开发新功能的机会。

第9章将展示如何把业务划分为不同的领域和子领域,这是构建现代化软件架构和组织结构的基础。

第10章将介绍将架构作为投资组合,并基于业务价值和复杂性确定在各领域的最佳投资水平的原则、工具和模式。

第11章将对架构的组织方面进行探讨,包括如何利用团队拓扑的原则和模式来帮助识别、验证和改善价值流。

第12章将详细介绍设计松耦合、保持领域一致性的软件架构的原则和方法,并讨论每个子系统如何从当前状态向目标状态迁移。

第13章将探索架构与其运行平台之间的复杂关系,并聚焦设计可以为开发者带来良好体验的平台,以便架构能更快速、更可靠地演进。

第14章将介绍为什么需要数据网格、它的四项基本原则及原则之间的相互依存关系。此外,本章还将介绍构建数据网格需要的工具。

第15章将介绍架构现代化赋能团队(Architecture Modernization Enabling Team,AMET),这是指导和支持架构现代化的团队,该团队的作用是在整个架构现代化过程中为其他团队提供动力,但不会做所有决策。

第16章将讨论如何生成有吸引力的叙事内容并把架构现代化工作规划到发展路线图中,使其同时关注持续演进,尽早、尽快交付价值,而非一开始就进行大规模的设计和规划。

第17章将重点讨论如何在组织内部培养人才和提升架构能力,以确保新架构能够充分利用现代的思维和方法。

如何阅读本书

不必严格按照顺序阅读本书的各章节。许多章节都包含独立的概念和技术,同时也会提及其他章节中介绍的相关概念。 iqjRrW22zGJ8xJvQGaJocZoiqDwmgAkzuy1faduVxF+OeRUVSYTA58/snK5k611y

点击中间区域
呼出菜单
上一章
目录
下一章
×