衡量交付系統
已完成一起檢視交付流程、不穩定情形、服務結果與投入。評估 AI 的影響時,使用明確定義。
檢查理解程度導入 AI 後,部署頻率增加,非計畫性的修補部署也增加。應得出什麼結論?進行練習
學習目標
- 區分交付表現與程式碼生成活動。
- 依事件定義與範圍解讀指標。
- 用衡量結果選擇改善事項,而非替個人排名。
先確認要做什麼決定
團隊想知道 AI 是否改善交付。計算生成行數,回答的是另一個問題。選擇指標前,先定義有用結果與品質條件。
對虛構匯出服務而言,期望結果是以較少總投入,可靠地交付已接受變更。記錄準備、實作、審查、修正和等待,也納入失敗或放棄的變更。
選擇一項邊界清楚的服務。把實驗性網站與關鍵付款服務混在一起,可能得到兩者都無法解釋的數字。比較不同期間或團隊前,先描述情境。
使用現行定義
DORA 現行交付模型包含五項指標。它們的範圍是交付表現,不是每項功能的價值,也不是個人貢獻。DORA 指標定義。
| 指標 | 衡量重點 |
|---|---|
| 變更前置時間 | 從 commit 到正式環境 |
| 部署頻率 | 正式環境部署頻率 |
| 失敗部署復原時間 | 部署失敗後的復原 |
| 變更失敗率 | 需要立即介入的部署 |
| 部署返工率 | 正式環境事件造成的非計畫性部署 |
儀表板可能使用其他定義。解讀結果前,先閱讀定義。Taiga 目前的部署文件說明四項回報指標,來自提供者的部署紀錄。其復原衡量使用後續成功部署,但那不是每個正式環境事件的完整紀錄。Taiga 定義。
檢視虛構變更序列
假設服務一個月部署十二次。八次交付計畫變更,四次修補先前發布的問題。總次數是十二,但組成很重要。
下個月,團隊部署十次:九次計畫變更,一次修補。較少部署可以伴隨更多有用工作。這些數字用來示範如何解讀,不是效能基準。
也要檢視分布。一次很長的審查等待,可能被平均值掩蓋。只來自一次失敗的復原指標,對未來可靠性的證明很有限。回報觀察次數與重要例外。
同時檢視流程與後果
使用服務訊號,檢查交付變更是否影響使用者。匯出若更常失敗,只讓管線變快並不足夠。使用適當 SLO,或其他定義清楚的結果指標。SLO 指引。
審查投入與返工有助於解釋結果。AI 若縮短實作時間,卻產生龐大的變更內容,審查可能變成限制。若取得環境需要數天,寫程式更快對整體交付時間可能影響不大。
選擇一項處理已觀察限制的改善,例如提供受支援測試環境,或縮小變更規模。定義用來平衡速度的品質指標,讓團隊能偵測是否只是因檢查變弱,而看似變快。
讓衡量保持有用
避免依 PR 次數或生成程式碼替個人排名。這些指標可能鼓勵刻意拆分工作、避開困難維護,或把審查投入轉嫁給同事。
與負責完整服務的人員一起檢視結果。記錄工具、工作組成、團隊和環境發生了哪些改變。把前後比較視為有限制的證據,不是自動成立的因果證明。
目的是做出更好的下一個決定。小而可信、能帶來經驗證改善的衡量,比沒有共識定義的大型儀表板更有用。
用十項變更練習
這份獨立的虛構資料集記錄十項計畫變更。所有時間均為所示日期的 UTC。修正欄為空,代表此資料集未記錄修正。
| 變更/日期 | 開始工作 | 程式碼就緒 | 開始審查 | 已接受 | 已發布 | 已修正 |
|---|---|---|---|---|---|---|
| C01 · 2026-09-14 | 08:00 | 08:45 | 09:15 | 09:30 | 10:00 | — |
| C02 · 2026-09-14 | 09:00 | 09:30 | 12:00 | 12:20 | 13:00 | — |
| C03 · 2026-09-15 | 08:00 | 09:00 | 09:15 | 09:40 | 10:00 | 15:00 |
| C04 · 2026-09-15 | 10:00 | 10:30 | 10:45 | 11:00 | 11:15 | — |
| C05 · 2026-09-16 | 08:00 | 09:00 | 13:00 | 13:30 | 14:00 | — |
| C06 · 2026-09-16 | 10:00 | 11:00 | 11:30 | 12:00 | 12:15 | — |
| C07 · 2026-09-17 | 08:00 | 08:30 | 09:00 | 09:20 | 09:30 | — |
| C08 · 2026-09-17 | 10:00 | 10:45 | 11:00 | 11:30 | 14:30 | — |
| C09 · 2026-09-18 | 08:00 | 08:30 | 09:00 | 09:30 | 10:00 | — |
| C10 · 2026-09-18 | 09:00 | 09:30 | 10:00 | 10:30 | 11:00 | 14:00 |
先比較程式碼就緒到開始審查的時間,再比較接受到發布的時間。找出最長的可見等待,調查原因後,再判斷是否能避免。這些時間戳記沒有衡量實際投入,也沒有指出事件何時開始。只有修正發布,不能確定失敗部署復原時間。
檢查等待時間
核對解讀:C05 等待審查四小時。C08 在接受後等待三小時才發布。資料集沒有解釋原因。詢問可用資源、工作時段、發布政策和相依關係。
進行練習
使用本課的十項變更資料集。定義部署、失敗變更與復原事件。找出最長的可見等待,並說明需要什麼才能確認原因。提出一項改善,以及一個能揭露品質下降的指標。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。
來源與延伸閱讀
- DORA: Software delivery performance metrics ↗
- Taiga docs: Deployments and metric definitions ↗
- Google SRE: Implementing SLOs ↗