【架构治理】架构风险管理
视频号
微信公众号
知识星球
敏捷原则的出现带来了如下思考:
- “持续关注卓越的技术和良好的设计可以提高灵活性。”
- “最好的架构、需求和设计都来自于自我组织的团队。”
-敏捷宣言
由于这些原则,人们理解团队在敏捷世界中不需要架构师的角色,所有的架构决策都应该分散并由团队负责。尽管我们100%同意这些原则及其解释,但我们不能否认理论与实践之间存在差距。因此,大多数架构决策都与业务不一致。那么,组织如何确保团队做出的技术决策符合业务目标呢?
在敏捷架构风险管理(AARM)方法中,架构师负责宣传团队和培训新的架构师。它包括四个阶段:
- 产品/业务战略:确定产品的战略目标。
- 优先考虑架构特征:定义架构特征以支持业务需求。
- 风险风暴:识别与架构相关的风险。
- 架构故事:创建由团队开发的架构故事。
产品/业务战略包括收集产品的战略计划。PO(产品负责人)需要回答以下问题:
- 产品的愿景是什么?
- 产品的使命是什么?
- 在以下功能中,选择五个应该优先考虑的功能:
以下是一个示例:
产品的使命是什么?
创造条件,使支付网关能够抓住每一个机会,更快地扩展业务,在重视客户和保护核心业务的同时实现成果最大化。
产品愿景是什么?
确保以用户体验为重点的流畅支付体验,为公司创造新的收入流,并通过全球可扩展的交易平台增加订单转化。
目前该产品的主要战略目标是什么?
- 增加利润
- 提高客户忠诚度
- 提高安全性
- 缩短上市时间
- 多样化或创造新的收入来源
确定架构特征的优先级包括从答案中映射架构特征。让最有经验的人参与架构实践是至关重要的,因为权衡既复杂又微妙。正确定义关键的架构特征对产品的成功至关重要。
对于支付网关示例,已经映射了以下特征:
下一步是确定架构特征的优先级。根据产品的背景和战略方向,与产品领导者举行会议,讨论当前最重要的功能。
目标是确定驱动决策的主要架构特征,遵循以下步骤:
- 确定前七个主要的架构特征;
- 在这七个中,选择前三名;
- 然后,识别隐含的特征,即未由业务目标指定或确定的特征。映射它们很重要,因为它们可以根据产品的时刻或业务目标的变化而成为指导特征;
- 最后,强调已映射的、目前不被视为优先事项的架构特征。
对于支付网关,优先级如下图所示。
一旦架构特征被映射并划分优先级,就到了识别架构中风险的时候了。为此,我们使用风险风暴,这是一种协作练习,用于确定特定特征内的架构/系统风险。在这里,需要注意的是,每次风险冲击会议都应该一次分析一个单一的架构特征,使参与者能够专注于特定的维度,避免与同一领域中确定的多个风险混淆。有了风险风暴的结果,团队可以创建架构故事,并在架构编码阶段添加到团队的积压工作中。
需要注意的是,敏捷架构风险管理将产品/业务的战略目标与团队日常工作中最相关的产品技术决策联系起来。通过这种方式,我们确保技术团队做出的所有决策都与战略目标直接相关。
此外,风险管理愿景不仅使我们能够以协作、结构化和优先的方式管理我们的架构对业务目标的遵守,而且还可以提前识别和沟通重要风险。因此,业务可以更好地了解技术和架构,而产品团队则可以获得自主权和卓越的技术。
工具书类
- Richards, Mark, and Neal Ford. Fundamentals of Software Architecture: An Engineering Approach. "O'Reilly Media, Inc.", 2020.
- Hewitt, Eben. Technology Strategy Patterns: Architecture as Strategy. O'Reilly Media, Incorporated, 2018.
- 89 次浏览