使用體繫結構決策記錄來簡化軟件開發項目的技術決策 - AWS規範指導

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用體繫結構決策記錄來簡化軟件開發項目的技術決策

大流士昆斯和多米尼克·戈比, 應用建築師,AWS專業服務

2022 年 3 月

本指南介紹了軟件工程項目的體繫結構決策記錄 (ADR) 流程。ADR 支持團隊協調,記錄項目或產品的戰略方向,並減少經常性和耗時的決策工作。

在項目和產品開發過程中,軟件工程團隊需要做出體繫結構決策以實現其目標。這些決策可以是技術性的,例如決定使用命令查詢責任分離 (CQRS) 模式,也可以是與流程相關的,例如決定使用 GitFlow 工作流來管理源代碼。作出這些決定是一個耗時和困難的過程。團隊必須證明這些決策的理由,記錄並將其傳達給相關利益相關方。

在做出建築決策時,經常會出現三種主要的反模式:

  • 沒有做出任何決定,因為害怕做出錯誤的選擇。

  • 一個決定是沒有任何理由做出的,人們不明白為什麼做出決定。這導致同一主題被多次討論。

  • 該決策不會被捕獲到體繫結構決策存儲庫中,因此團隊成員忘記或不知道決策是否已作出。

在產品或項目的開發過程中,這些反模式特別重要。

以 ADR 的形式獲取決策、背景和考慮因素,使當前和 future 的利益相關者能夠收集有關所做決策和每項決策背後的思考過程的信息。這樣可以縮短軟件開發時間,併為 future 的團隊提供更好的文檔。

針對性的業務成果

發展成果評估針對三個業務成果:

  • 它們協調當前和 future 的團隊成員。

  • 他們為項目或產品設定了戰略方向。

  • 他們通過定義正確記錄和傳達體繫結構決策的流程來避免決策反模式。

發展成果評估記錄了通知 future 利益相關者的決定的背景。ADR 集合提供了移交經驗和參考文檔。團隊或項目成員使用 ADR 集合進行後續項目和產品功能規劃。能夠引用 ADR 可減少開發、審核和體繫結構決策過程中所需的時間。ADR 還允許其他團隊從其他項目和產品開發團隊的考慮因素中學習並深入瞭解這些考慮因素。