讀完這章你要能回答:我該度量什麼、又該怎麼避免「路燈效應」?哪些指標永遠不該拿來考核個人?我的管理槓桿該往哪裡使?
度量工程效能很容易踩坑:要嘛量了一堆好量但沒意義的東西(路燈效應——只在燈下找鑰匙),要嘛把團隊指標扭曲成個人 KPI 而摧毀信任。好的度量,始於「為什麼要量」,而非「能量什麼」。
GSM 框架:從目標推導指標#
GSM(Goal → Signal → Metric)強制你先說清楚目標,再找能反映目標的訊號,最後才落到可量化的指標。順序反過來,就會掉進路燈效應。
flowchart LR
G[🎯 Goal 目標<br/>想達成什麼結果] --> S[📡 Signal 訊號<br/>達成時會觀察到什麼]
S --> M[📊 Metric 指標<br/>訊號的可量化代理]
style G fill:#e3f2fd
style S fill:#fff3e0
style M fill:#e8f5e9- Goal:用結果描述,不夾帶解法(例:「工程師能快速且有信心地提交變更」)。
- Signal:達成目標時你會看到的現象(例:「提交到合併的時間縮短、回滾減少」)。
- Metric:訊號的可量化代理,知道它可能不完美(例:「PR 中位數合併時長」)。
一個 Signal 可以對應多個 Metric;一個 Metric 也可能服務多個 Goal。重點是每個指標都能往上追溯到一個明確目標。
QUANTS:效能的五個維度(且彼此取捨)#
工程效能不是單一數字,至少要從五個維度看,而且這些維度之間存在取捨——優化一個常會犧牲另一個。
| 維度 | 含義 | 取捨提醒 |
|---|---|---|
| Quality(品質) | 程式碼與系統的可靠程度 | 一味求快會傷品質 |
| engineer-attention(注意力) | 工程師需投入多少心神 | 自動化可釋放注意力,但有建置成本 |
| intellectual-complexity(智識複雜度) | 任務的本質困難度 | 複雜度高未必是壞事,但要被看見 |
| teMpo(節奏) | 交付與迭代的速度 | 過度追節奏會累積技術債 |
| saTisfaction(滿意度) | 工程師的主觀體驗與留任意願 | 純看產出會忽略人的可持續性 |
五個維度刻意涵蓋「速度」與「品質」「人」的對立面,就是為了逼你正視取捨。任何只談一個維度(尤其只談 Tempo/產出)的效能討論,幾乎都會把團隊帶歪。
度量之前先問四個問題#
不是所有東西都值得量。量化本身有成本,也可能扭曲行為。下面這四問可以幫你篩掉沒價值的度量。
度量前必問的四個問題
- 這個問題用度量能回答嗎? 有些問題(如「這個架構優雅嗎」)量化只會失真。
- 這個結果能驅動行動嗎? 量了卻不會改變任何決定,就是在浪費資源。
- 誰會根據它行動、會怎麼行動? 想清楚使用者與用途,避免被誤用成考核工具。
- 量化的成本值得嗎? 收集、維護、解讀都要成本,要與帶來的洞見相權衡。
絕不要用維運/效能指標來考核個人。生產類指標(如部署頻率、變更失敗率)只反映團隊整體系統的健康,一旦掛到個人績效上,人們就會優化數字而非結果,指標立刻失去意義。永遠只看團隊整體。
限制步驟與管理槓桿#
效能管理的另一半,是把有限的精力使在刀口上。兩個簡單的心智模型很有用。
吞吐量取決於最慢的步驟#
任何流程的整體吞吐量,由其限制步驟(bottleneck)決定。優化非瓶頸環節對整體毫無幫助,甚至會讓問題更難看見。
- 先找到限制步驟(通常是排隊最久、等待最長的環節)。
- 把改善資源集中在它身上,而非到處微優化。
- 限制步驟一旦被解開,瓶頸會移動,要重新定位。
管理槓桿 = 影響範圍 × 涉及人數#
管理者的時間有限,該優先做槓桿最大的事。一個粗略的估算:
$$ \text{Leverage} = \text{Impact} \times \text{People affected} $$
- 修一條讓「全團隊」每天都卡住的流程,槓桿遠高於幫單一工程師除錯。
- 建一次性的自動檢查(presubmit、formatter),勝過反覆人工提醒。
成對指標與領先 / 落後指標#
- 成對指標(paired metrics):永遠把「速度類」與「品質類」指標配對看,避免單一指標被優化到極端(例:部署頻率 + 變更失敗率)。
- 領先指標(leading):能預測未來結果,可即時調整(例:PR 評審等待時間)。
- 落後指標(lagging):事後才知道,確認結果(例:季度事故數)。兩者都要,但管理動作主要靠領先指標。
本章要點#
- GSM 防路燈效應:先有目標、再找訊號、最後才定指標。
- QUANTS 五維有取捨:Quality / engineer-attention / intellectual-complexity / teMpo / saTisfaction,別只看一個。
- 度量前先四問:能否回答、能否行動、誰來用、值不值得。
- 指標不考核個人:維運指標只看團隊整體,否則必被扭曲。
- 瓶頸決定吞吐:資源集中在限制步驟,別微優化非瓶頸。
- 挑高槓桿的事做:$\text{Leverage} = \text{Impact} \times \text{People}$,並用成對 / 領先指標導航。