在我刚成为架构师的时候,软件架构的实践方式以“事前大设计”为荣,这种设计方法适合用于从零开始创建全新的代码,把架构作为蓝图的做法是从建筑行业借鉴过来的。时光飞逝,15年后,老旧的软件正在吞噬着我们的新世界。现在人类的福祉紧密地依赖着通过网络互联的软件,这些软件不仅覆盖了银行、商业、交通控制、食品生产、能源分配,还涉及智能手机、家居、医院,甚至我们的身体。
随着时间的推移,陈旧的软件系统不仅需要应对逐渐累积的混乱或者熵增,还必须适应不断的变化。近年来,演进式架构作为一种对需求和技术变动迅速做出反应的敏捷架构,已经获得了广泛的认可和赞赏。因此,一本关于架构现代化的书籍可能会唤起我们对系统重构过程中可能出现的代码废弃和重构的普遍关切。
随着软件密集型组织在其商业成长周期中的日益成熟,它们不可避免地会面临日益增长的社会技术的复杂性。团队间的合作以及组织与其外部环境之间的价值交换,使得既有软件及新开发软件的技术复杂性不断加剧。软件决策、产品决策和商业决策彼此交织,这让所有利益相关者达成一致意见变得极为困难,更不用说让他们在决策过程中发挥影响力和进行协商了。
这本书具有划时代的意义。它引领我们步入架构领域的新前沿。在当前的社会技术环境下,我们需要从传统的软件和企业架构思维转向社会技术架构的思维模式,实现软件、产品、战略、组织动态以及工作方式的深度融合。尽管这是一项艰巨的挑战,但也是必要而且完全可行的。
在从软件架构师变身为社会技术架构师的过程中,我深刻地感觉到要在大型组织中促进复杂变革,需要以更深层次、更直观的方式刷新我们的架构实践。在这种转变过程中,首先要做的就是把我们的思维工具提升到架构现代化的多领域场景,本书对此进行了精确的阐述。
作为一名作家,Nick Tune在将极其复杂的主题简化并迅速给出现实中可立即执行的步骤方面拥有非凡的天赋,这些步骤恰恰是理论与应用的结合点。这本书贯穿DDD、团队拓扑、DevOps、产品开发、战略、架构和领导力等多个领域,并且把这些领域的知识巧妙地整合为包括视觉模型、思维和沟通工具以及协作设计方法在内的一个既连贯又实用的综合体。
本书汇集了Nick在多篇博客和会议演讲中的精彩见解,是一本指导现代化架构之旅的实用手册,其中包括了易于理解与沟通的决策模型。这是一本易于上手的操作指南,旨在帮助读者在大型社会技术变革项目中顺利启动、持续发展并取得成功。
这本书真正令人瞩目的地方,不仅在于它创造性地将各种方法和模型融会贯通作为学术成果,还在于它搜集了大量的实战经验和生动的案例研究。Nick采访了一大批社会技术领域的领导者、架构师和设计师。他从这些采访中提炼出了许多关于在实现现代化架构的过程中,如何开展集体发现、视觉建模、深层对话,以及创造价值的具体且实用的想法和建议。
作为一名社会技术架构的实践者,Nick擅长将理论付诸实践。本书分享的许多经验都源自Nick在全球范围内为众多客户所做的咨询工作。
如果遵循本书的建议,那么你对架构现代化的投入将不是一次性的。它将激发产品和工程团队的内在能量,共同制定方案来解决问题以应对挑战。工程师和设计师可以因此成长为战略家,并与实际的领导者共同创造未来。协作设计、建模和制定战略的技巧可以确保你在持续的实施和学习过程中保持发展势头。从长远来看,这也是帮助企业抓住机会进行下一场变革、现代化或者革新的真正竞争优势。本书将教导你如何做到这一点,帮助你把技能提升到更高的水平。
祝你的架构现代化之旅愉快!
——姚欣,独立领域驱动设计顾问,社会技术架构师