Architecture Decision Record

Active theme: Light

← 决策记录模板

Jeff Tyree 搭 Art Akerman 个决策记录模板

迭是 Jeff Tyree 搭 Art Akerman(Capital One Financial)辣《Architecture Decisions: Demystifying Architecture》里发表个架构决策描述模板。

  • 问题:描述侬要解决个架构设计问题,要让人勿会再问为啥现在要解决迭个问题。采用极简个办法,只处理搭记录辣生命周期各个节点上需要处理个问题。

  • 决策:清爽地讲明架构个方向,也就是侬选定个立场。

  • 状态:决策个状态,比方待定、已决定或者已批准。

  • 分组:可以用简单个分组,比方集成、展示、数据等等,来帮助整理一套决策。也可以用更加精细个架构本体,比方 John Kyaruzi 搭 Jan van Katwijk 个本体,里向有更加抽象个类别,比方事件、日历搭地点。比方用迭个本体,侬会拿处理系统需要信息个那眼情形个决策归辣事件下底。

  • 假设:清爽地描述侬做决策个环境里向个基本假设,比方成本、日程、技术等等。注意,环境个限制(比方公认个技术标准、企业架构、常用个模式等等)可能会限制侬考虑个备选方案。

  • 限制:记下所选备选方案(也就是决策)可能给环境带来个任何额外限制。

  • 立场:列出侬考虑过个立场(可行个选项或者备选方案)。迭眼常常需要长篇解释,有辰光甚至要模型搭图表。迭份清单勿需要穷尽。勿过侬勿想辣最终评审个辰光听到“侬有勿有想过……?”迭个问题;迭能会失去可信度,也会让人质疑其他架构决策。迭一节也有助于确保侬听过别人个意见;明确写出其他意见,可以帮助拿伊拉个拥护者拉到侬个决策里来。

  • 论据:概述侬为啥选某个立场,包括实施成本、总拥有成本、上市辰光,还有所需开发资源个可得性等等。迭个可能搭决策本身一样重要。

  • 影响:正如 REMAP 元模型所示,一个决策会带来许多影响。比方,决策可能引出做其他决策个需要、产生新需求或者修改现成需求;给环境带来额外限制;需要搭客户重新协商范围或者日程;或者需要额外个员工培训。清爽地了解搭讲明侬决策个影响,对于获得认同、制定架构执行路线图可以非常有效。

  • 相关决策:许多决策互相有关系是显而易见个,可以辣迭里列出来。勿过阿拉发现实践中,追溯矩阵、决策树或者元模型更加有用。元模型适合用图表展示复杂关系(比方 Rose 模型)。

  • 相关需求:决策应该由业务驱动。要体现责任,就要拿侬个决策明确对应到目标或者需求。侬可以辣迭里一条条列出相关需求,勿过阿拉发现引用追溯矩阵更加方便。侬可以评估每个架构决策对满足每条需求个贡献,再评估所有决策合起来对需求满足得哪能。要是一个决策对满足需求呒没贡献,就勿要做迭个决策。

  • 相关工件:列出受迭个决策影响个相关架构、设计或者范围文档。

  • 相关原则:要是企业有一套公认个原则,要确保决策搭其中一条或者几条一致。迭能有助于保证各个领域或者系统之间个一致。

  • 备注:因为决策过程可能要花几个礼拜,阿拉发现记下团队辣沟通过程中讨论个备注搭问题蛮有用。