如何开始使用 ADR
要开始使用 ADR,请与你的队友讨论以下几个方面。
决策识别:
这项 AD 有多紧急、多重要?
必须现在做出决定,还是可以等到了解更多信息之后?
个人和集体的经验,以及公认的设计方法与实践,都有助于识别决策。
理想情况下,维护一份与产品待办事项相互补充的决策待办清单。
决策制定:
存在许多决策制定技术,既有通用的,也有专门针对软件架构的,例如对话映射(dialogue mapping)。
群体决策是一个活跃的研究课题。
决策实施与执行:
AD 用于软件设计;因此必须将其传达给出资、开发和运营该系统的利益相关者,并获得他们的接受。
架构上一目了然的编码风格,以及关注架构问题和决策的代码评审,是两项相关的实践。
在软件演进过程中对软件系统进行现代化改造时,也必须(重新)考虑 AD。
决策共享(可选):
许多 AD 会在不同项目中反复出现。
因此,在采用明确的知识管理策略时,过往决策的经验(无论好坏)都可以成为宝贵的可复用资产。
决策文档化:
存在许多用于记录决策的模板和工具。
参见敏捷社区,例如 M. Nygard 的 ADR。
参见传统的软件工程和架构设计流程,例如 IBM UMF 以及 CapitalOne 的 Tyree 和 Akerman 所建议的表格布局。
更多信息:
- 以上步骤取自维基百科的架构决策词条