Architecture Decision Record

Active theme: Light

← 決策記錄範本

{在此填寫標題}

!!! info

**狀態**:{ 已提議 | 評審中 | 已接受 | 已拒絕 | 已取代 | 已棄用 }

**更新日期**:{YYYY-MM-DD}

摘要

{這是你的 ADR 的「執行摘要」或「電梯演講」。用幾句簡潔的話(通常 2 到 4 句),清楚地陳述本 ADR 所針對的核心問題、疑問或機會。簡要提示所做的決策或關注的領域。目標是幫助讀者快速瞭解這份 ADR 的內容,並判斷它是否與自己相關,而無需閱讀整份文件。可以把它看作技術論文的摘要,或對主題的一段非常簡短的介紹。}

驅動因素

{本節解釋為什麼現在要做出這項決策。清楚地闡述促使做出這項架構決策的主要動機、需求或問題。思考其背後的原因和壓力。}

  • {例如:我們正在開發一項新功能/新能力,需要……}

  • {例如:我們需要提升效能、可訪問性,清理技術債務……}

  • {例如:使用者反饋表明……}

  • {例如:當前的做法帶來了這些限制……}

選項

{在這裡列出你正在考慮的各種選項。請只陳述事實,避免發表意見,分析在下一節中進行。包括簡明的描述、相關文件或範例的連結。

請包含你探討過的所有重要備選方案,即使它們最終沒有被選中。目標是在你開始評估之前,讓讀者對每個備選方案有清晰、不帶偏見的瞭解。}

{選項 1 標題}

{描述該選項,提供摘要,列出事實,提供連結等。}

{選項 n 標題}

...

選項分析

{在這裡對「選項」一節中列出的每個選項進行批判性評估。針對每個選項,平衡地說明其優點、缺點以及任何其他相關的考慮或權衡。請具體說明,並儘可能將你的論點與「驅動因素」聯絡起來。

可以考慮以下方面:

  • 成本(開發、運營、許可)

  • 複雜性(實施、維護、學習曲線)

  • 風險(技術、運營、安全)

  • 與架構原則或現有標準的一致性

  • 對效能、可擴充套件性、可用性、可維護性、安全性等的影響

可根據需要包含任意數量的優點/缺點/其他陳述。 }

{選項 1 評估}

  • 優點:{該選項的某項具體優勢或益處。}

  • 缺點:{與該選項相關的某項具體劣勢、風險或成本。}

  • 其他:{不嚴格屬於優點或缺點的相關要點。}

{選項 n 評估}

...

建議

{在這裡清楚地陳述最終決策,並明確指出所選的選項。詳細解釋為什麼選擇該選項。你應當清楚地闡明所選選項如何最好地滿足「驅動因素」,並滿足關鍵需求或解決所述問題。}

後果

{本節為可選。}

{既然已經做出決策,預期的結果和影響(包括正面和負面)是什麼?做出這項決策意味著接受了哪些已知的限制、成本或風險?這項決策將如何影響不同的利益相關者、其他系統、開發實踐、運維流程或使用者體驗?}

  • 優點:{該決策預期帶來的某項具體積極成果或益處。}

  • 缺點:{該決策所導致的某項被接受的具體缺點、成本或風險。}

  • 其他:{不嚴格屬於優點或缺點的某項後果。}

確認

{本節為可選。}

{概述將如何驗證該決策的實施,以及如何確保持續遵守。這有助於表明該決策不僅僅停留在理論層面,而是會被積極付諸實踐並受到監控。

你將如何檢查決策是否已被正確實施?(例如:程式碼評審、特定測試、演示、同行評審)。

隨著時間推移,將如何保持對該決策的遵守?(例如:自動化檢查、定期審計、更新團隊指南、培訓)。

是否有特定的指標或指示器能表明該決策正在實現其預期的積極成果?(例如:效能基準、採用率、特定錯誤的減少、使用者反饋評分)。

誰負責監督此事?如果沒有遵循該決策,會發生什麼?}

更多資訊

{本節為可選。}

{使用本節提供任何支援該決策、補充背景或指導未來行動的補充資訊。指向其他決策和資源的連結也可以放在這裡。

你可以簡要說明哪些人參與了決策過程,以及是否/如何達成共識。你還可以建議一個時間範圍或特定事件,它們可能會促使將來重新評估這項決策。}