跳转到主要内容
Chinese, Simplified

敏捷原则的出现带来了如下思考:

  • “持续关注卓越的技术和良好的设计可以提高灵活性。”
  • “最好的架构、需求和设计都来自于自我组织的团队。”

-敏捷宣言

由于这些原则,人们理解团队在敏捷世界中不需要架构师的角色,所有的架构决策都应该分散并由团队负责。尽管我们100%同意这些原则及其解释,但我们不能否认理论与实践之间存在差距。因此,大多数架构决策都与业务不一致。那么,组织如何确保团队做出的技术决策符合业务目标呢?

在敏捷架构风险管理(AARM)方法中,架构师负责宣传团队和培训新的架构师。它包括四个阶段:

  • 产品/业务战略:确定产品的战略目标。
  • 优先考虑架构特征:定义架构特征以支持业务需求。
  • 风险风暴:识别与架构相关的风险。
  • 架构故事:创建由团队开发的架构故事。

Agile Architecture Risk Management (AARM)

产品/业务战略包括收集产品的战略计划。PO(产品负责人)需要回答以下问题:

  • 产品的愿景是什么?
  • 产品的使命是什么?
  • 在以下功能中,选择五个应该优先考虑的功能:

Product/Business Strategy

以下是一个示例:

产品的使命是什么?

创造条件,使支付网关能够抓住每一个机会,更快地扩展业务,在重视客户和保护核心业务的同时实现成果最大化。

产品愿景是什么?

确保以用户体验为重点的流畅支付体验,为公司创造新的收入流,并通过全球可扩展的交易平台增加订单转化。

目前该产品的主要战略目标是什么?

  • 增加利润
  • 提高客户忠诚度
  • 提高安全性
  • 缩短上市时间
  • 多样化或创造新的收入来源


确定架构特征的优先级包括从答案中映射架构特征。让最有经验的人参与架构实践是至关重要的,因为权衡既复杂又微妙。正确定义关键的架构特征对产品的成功至关重要。

对于支付网关示例,已经映射了以下特征:

Payment Gateway example

下一步是确定架构特征的优先级。根据产品的背景和战略方向,与产品领导者举行会议,讨论当前最重要的功能。

目标是确定驱动决策的主要架构特征,遵循以下步骤:

  1. 确定前七个主要的架构特征;
  2. 在这七个中,选择前三名;
  3. 然后,识别隐含的特征,即未由业务目标指定或确定的特征。映射它们很重要,因为它们可以根据产品的时刻或业务目标的变化而成为指导特征;
  4. 最后,强调已映射的、目前不被视为优先事项的架构特征。


对于支付网关,优先级如下图所示。

Payment Gateway characteristics

一旦架构特征被映射并划分优先级,就到了识别架构中风险的时候了。为此,我们使用风险风暴,这是一种协作练习,用于确定特定特征内的架构/系统风险。在这里,需要注意的是,每次风险冲击会议都应该一次分析一个单一的架构特征,使参与者能够专注于特定的维度,避免与同一领域中确定的多个风险混淆。有了风险风暴的结果,团队可以创建架构故事,并在架构编码阶段添加到团队的积压工作中。

需要注意的是,敏捷架构风险管理将产品/业务的战略目标与团队日常工作中最相关的产品技术决策联系起来。通过这种方式,我们确保技术团队做出的所有决策都与战略目标直接相关。

此外,风险管理愿景不仅使我们能够以协作、结构化和优先的方式管理我们的架构对业务目标的遵守,而且还可以提前识别和沟通重要风险。因此,业务可以更好地了解技术和架构,而产品团队则可以获得自主权和卓越的技术。

工具书类

  • 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.

 

原文地址
https://www.thoughtworks.com/en-au/insights/blog/architecture/architectural-risk-management
本文地址
Tags
 
Article

微信

知识星球

微信公众号

视频号