架构回顾:如何让软件架构变得更好
创始人
2024-12-12 23:21:22
0

作者 | Pierre Pureur, Kurt Bittner

译者 | 明知山

策划 | Tina

重复同样的行为却期待出现不同的结果,这种已被广泛定义为“疯狂”的认知却是那些从不反省自己工作方式的团队常常掉入的陷阱。设计软件架构也不例外:如果你从不停下来检查你是如何做出决策的,结果可能会反映出你在看待问题方式上的系统性偏见。

软件架构评审很重要,但它们不能代替回顾,我们将探讨其中的原因。评审关注的是产品本身及其架构设计,而非决策过程本身,或团队执行这些决策的方法。回顾是许多敏捷软件开发方法的关键要素,原因很简单:它们为团队提供了必要的时间和思考空间,用于反思如何改进工作方式。在本文的其余部分,我们将探讨如何以及为什么要这样做。

架构回顾与架构评审的区别

架构评审的核心目标在于提升架构质量。在 MVA 方法的框架下,我们所讨论的架构评审主要专注于评估架构增量(MVA)对支持增量产品 MVP 的适用性。

增量开发的核心在于收集可以用来改进产品(MVP)及其相关架构(MVA)的反馈,所以架构评审是必不可少的,并且应该在每个增量开发周期(例如 Scrum 的 Sprint)中进行。

这与传统的架构评审不同,后者往往因频率较低而难以及时捕捉问题,直至问题恶化至不可逆转的地步。然后,它们会变成重大事故之后的一种事后分析,目的是确定是否可以采取任何措施来解决事故中遇到的问题。传统的架构评审,特别是如果由外部团队执行时,通常会变成一场责任推诿的游戏。与之相反,MVA 方法强调定期进行架构评审的重要性,核心在于汲取经验教训,确保灾难性故障永远不会发生。

架构回顾的目的在于利用过往经验帮助开发团队改进他们的架构技能和决策方式。架构回顾是开发团队进行反思,以便在未来可以做得更好的契机,并且对于每一个迭代 /Sprint 来说也很重要,因为团队几乎总是可以发现并学习那些可以在未来做得更出色的方面。

通过比较和对比架构评审和架构回顾,有助于了解它们之间的差异(见表 1)。

表 1:架构评审与架构回顾对比

架构回顾应该与架构评审分开

如果你已经有在 Scrum 框架下进行 Sprint 回顾,那么只需要留出一点时间,提出一些关键性的问题,探索如何优化你的架构工作流。

如果你还没有进行 Sprint 回顾,可以安排专门时间来深入探讨关键性问题,这些问题将帮助你理解你的架构工作流。这种探讨不仅限于架构本身,也可以扩展到团队的工作方式。我们认为这两者都很重要,尽管本文重点放在对架构进行回顾上。

你可能会考虑在架构评审中添加一个回顾环节,但我们不建议这么做。例如,在 Scrum 中,Sprint 评审 和 Sprint 回顾是两个独立的过程,这是有原因的:

  • 架构评审的涉众包括团队之外的人,他们可能并不了解团队的工作方式,也可能对团队的内部运作不感兴趣。如果你谈论他们不知道或不关心的事情,可能意味着你没有尊重他们的时间,导致他们在未来可能选择不参与评审。
  • 开发人员在有外人在场的情况下,可能不会自在地讨论他们的工作方式中存在的问题。而如果不公开讨论团队正在经历的挑战,可能就无法发现重要的改进机会。
  • 在大多数情况下,为开发人员在架构评审之后提供一些反思的时间是非常值得的。当架构评审暴露出架构问题时,每个人都自然会集中精力去解决这些问题。有些问题的根源隐藏在团队的工作方式或决策方式中,只是解决具体的问题往往无法触及这些根源。将架构回顾与架构评审分开,可以给予团队成员足够的时间来深思熟虑,从而更深入地理解问题的根源。

这种关注点的分离(借鉴自 Scrum 等方法)非常有效,因为它有助于集中注意力。评审产品或架构已经足够复杂了,所以无需再扩大评审的范围,而应该专注于团队的工作方式,这样有助于团队更有效地进行自我改进。

在架构回顾中需要问的问题

架构回顾会议的机制与 Scrum 中 Sprint 回顾会议的机制相同。实际上,可以在常规的回顾会议中加入架构重点,避免创建另一个会议,只要所有参与者都参与制定架构决策即可。这还是一个展示机会,证明任何人都可以做出架构决策,不仅仅是“架构师”。加入架构重点意味着要问一些关于团队如何制定架构决策的问题:

  • 看看 QAR 是如何制定的。它们是猜测出来的吗?它们准确吗(也许它们是从其他系统复制过来的)?它们有用吗?它们是否带有限制性?我们做了哪些假设?团队的完成定义是否反映了 QAR?
  • 看看做决策的方式。是整个团队都参与了决策,还是主要由最资深的人主导?它们是否得到了实证的支持(即开发和测试一个 MVA 的实证)?决策是基于经验而做出的吗?我们的认知或决策过程中是否存在系统性偏见(这些偏见会阻碍我们取得良好的结果)?
  • 看看如何利用反馈来提升决策。你是否评估过决策的有效性?你是否因为接收到新的信息而撤销过决策?你是否在反馈的影响下曾经将某些任务从待办清单中剔除,因为它们不再具有相关性?
  • 深入关注权衡决策。它们的有效性是否是基于你从 MVA“实验”中学到的东西?它们是否满足了预期的需求,还是有所不足?
  • 评审技术债务。技术债务在增长吗?(答案显然是肯定的...)这是可接受的吗,还是团队实际上在无意中为将来的问题埋下伏笔?
  • 考虑如何使用反馈来改进架构。你能够按照 MVP/MVA 来增量发布系统吗?你愿意进行可能失败的实验吗?你是否创建了既支持 MVP 又能验证决策和权衡有效性的 MVA?你能否利用发布 MVA 的反馈来改进未来的 MVA?
  • 看看团队的技能。你的团队是否具备开发有效 MVA 的技能、专业知识和经验?团队需要改进或获得哪些技能?你是否因为无法抽出时间学习新技术而坚持使用旧技术?

在任何一个架构回顾会议中,最应铭记的要点是,回顾的目的是找到具体的改进团队工作方式的方法。回顾的目的不是为了批评或归咎责任,一旦出现了这种情况,回顾就变得毫无用处,甚至有害。团队只能通过构建和测试架构增量(MVA)来学习和成长,且不是每个想法都能如愿以偿。构建和测试想法对于尝试新方法和做出更好的决策来说至关重要。

应该多久回顾一次?

有些人可能认为,每次创建 MVA(例如 Scrum 中的每个 Sprint)都不需要回顾,因为他们担心这会花费太多的时间。我们认为,在每次 MVP/MVA 发布后都自问一下上述的问题——如果没有什么引人深思的答案,那么回顾可以简短结束,你可以继续前进。但如果答案中包含了有价值的见解,那么花点时间检查一下你制定架构决策的方式是值得的。然后,你再开始构建下一个增量 MVP/MVA。从长远来看,这种做法将为你节省时间并避免潜在的痛苦。

结 论

架构回顾帮助团队改进他们的工作方式,而架构评审帮助团队改进他们正在开发的产品。架构评审不应该取代架构回顾,正如架构回顾不会取代架构评审一样。

许多团队选择忽略架构回顾,因为他们不愿直面自身的不足。架构回顾更具挑战性,因为它们不仅审视团队的工作方法,还审视团队的决策过程。但架构回顾所带来的回报是巨大的:它们能够揭示那些未被明确表达的假设和隐藏的偏见,而这些偏见往往会阻碍团队做出更明智的决策。如果你一直进行架构回顾,得到更好的架构。

看英文原文

https://www.infoq.com/articles/architectural-retrospectives/

剥离几百万行代码,复制核心算法去美国?TikTok 最新回应来了

一季度完成去年全年目标后,得物宣布裁员5%并启动组织提效;让3人干5人的活?奇瑞回应;英特尔市值仅相当于OpenAI | Q资讯

95% 向量资源节省,火山引擎云搜索 RAG 技术体系演进

利润暴涨 65%后,戴尔一天内裁 12500 人!15 年老员工哭诉:20 万美元期权被扣,管理层贪婪无耻

相关内容

原创 ...
顾客违反商家规定且不听劝阻,还伸手将工作人员推倒致其手骨折。 如此...
2025-07-12 08:36:59
原创 ...
1949年5月27日,盘踞上海的国民党军队彻底兵败,解放军队伍开进...
2025-07-12 08:33:50
原创 ...
自从1840年英国用鸦片和军舰大炮打开中国国门,中国便从此进入屈辱...
2025-07-12 08:33:36
原创 ...
三家分晋是先秦时期,中华文明史上一次影响深远的重要事件。老东家晋国...
2025-07-12 08:33:35
原创 ...
1949年10月1日下午3点,毛主席在天安门城楼上庄严地向世界宣告...
2025-07-12 08:33:30
原创 ...
重文轻武的宋朝,读书人为了考取功名,不仅要做生意还要晚婚 【引言】...
2025-07-12 08:33:29
原创 ...
如果不是周边都是同行的游人,站在这家店里,还真以为是穿越到千年之前...
2025-07-12 08:33:24
原创 ...
一九五三年,我国和尼泊尔之间发生了一场震惊中外的冲突,原因就是珠穆...
2025-07-12 08:32:49
原创 ...
世界十大古墓中,中国占两个,兵马俑和马王堆,和胡夫金字塔并列。但在...
2025-07-12 08:32:37

热门资讯

队报:里昂需要2亿欧元的资金才... 上周二由于俱乐部财政问题,里昂被国家管理控制局(DNCG)勒令降入法乙。据《队报》报道,目前里昂需要...
2025年乌鲁木齐击剑公开赛启... 当日,中国击剑协会D级认证赛“2025年新疆维吾尔自治区乌鲁木齐击剑公开赛”在乌鲁木齐奥体中心体育馆...
媒体人:泰山队上下都认为自己是... 7月3日晚,山东体育休闲频道《侃球时间》节目中,资深媒体人尹波表示:“山东泰山上上下下都觉得自己是受...
“苏超”南京队杨笑天:我们的目... 《扬子晚报》报道,7月3日晚,“苏超”南京队进入南京奥体中心内场进行备战训练,多名球员重新回到了他们...
津媒:久尔杰维奇排兵“伤”脑筋... 《天津日报》报道,目前在大连备战东亚杯的中国男足国家队遭遇到伤病影响,后防线如何调整将成为代理主帅久...
世体:尼科-威廉斯将与家人和经... 据《世界体育报》的消息, 尼科-威廉斯将与家人、经纪人开会,决定是否接受巴萨的报价。巴萨需要与尼科-...
原创 为... 刚提三元锂电池电车的王先生最近很郁闷:明明每次都充满电,续航却从520公里跌到了480公里。而隔壁开...
近10省份将现40℃以上桑拿天... 据多家媒体报道,近期,我国北方多地连续多日体验“桑拿天”。受高温和高湿双重影响,北京“出门就像被牛舔...
获冲锋枪射击冠军的广州男特警:... 7月11日,“尖刀·使命”2025年全国公安特警挑战赛在新疆乌鲁木齐顺利闭幕,广东特警获得多个科目冠...
民工大爷写《我的母亲》爆火!“... 民工大爷写《我的母亲》爆火这一事件令人动容。那质朴的文字中饱含着对母亲深深的爱与敬意,仿佛能穿透人心...