DevOps 指標中的常見錯誤
作為持續改進過程的一部分,指標對于 DevOps 和持續交付至關重要。但是,您必須在收集和顯示數據與大量信息之間取得平衡。
作為持續改進過程的一部分,指標對于 DevOps 和持續交付至關重要。但是,您必須在收集和顯示數據與大量信息之間取得平衡。您需要隨時決定要收集哪些數據以及關注哪些較小的數據集。
如果你的汽車有一個儀表板,顯示它通過發動機管理系統收集的每一個指標,那么就沒有擋風玻璃的空間了。
早期汽車的儀表盤上只有一個電流表,用于測量電池和穩壓器之間的電流。這很重要,因為它告訴您充電系統正在工作。沒有速度表。汽車只能達到每小時 35 英里的最高速度,而懸架不鼓勵以這種速度行駛。沒有必要測量速度。
在現代汽車中,沒有為電流表留出儀表板空間(盡管如果出現問題,電池指示燈會亮起)。但是,你會發現幾乎每輛車都有一個速度表。當前的儀表板設計反映了汽車的發展及其運行的更廣泛系統。發動機更強大,懸架系統更好,道路總體上更平坦,路上行駛的汽車更多。對安全的態度也發生了變化。
同樣,隨著您對團隊和組織中的差異做出反應,您收集和顯示的指標也會隨著時間的推移而發生變化。
當您創建和發展您的測量系統時,您應該避免一些常見的錯誤。
忽略數據
指標的第一個問題是您花費大量精力收集它們,但并不總是使用它們。即使在定期審查數字的組織中也會發生這種情況。
您的數據需要一些產生洞察力的過程。您可以將您從信息中發現的內容轉化為用于實驗的理論。然后,實驗應提供新數據以再次開始循環。
收集 DevOps 指標的唯一好理由是更多地了解你的工作并找到改進它的方法。如果你收集數據只是為了以防萬一,它很可能會被濫用或根本不被使用。
活動偏差
有四個測量級別,活動通常是最早和最容易收集的。您通常可以近乎實時地跟蹤活動?;顒拥慕Y果通常不能作為輸出或基于結果的度量標準,直到稍后的某個日期。
活動指標通常是您現有工具的內置功能,因此它們已經可用。問題不是所有的活動都代表進步。有些活動甚至可能會減少產出并導致更糟糕的結果。
您可以使用活動指標來預測輸出和成果的未來變化。為此,您必須不斷測試活動指標與相關輸出或結果指標之間的關系。
如果你只測量活動,你會得到很多運動但沒有進步。
一次跟蹤太多指標
您收集和顯示的指標數量可能會增加,而且通常會迅速增加。不久之后,您的儀表板中充滿了圖表,您不知道什么是重要的,什么不是。
您需要使跟蹤的指標保持精簡、最新和相關。當圖表不再有用時,您應該將其從儀表板中刪除。您還應該考慮是否仍需要收集指標并在沒有充分理由跟蹤它時將其淘汰。
如果您已經有一個儀表板,請打開它,然后針對每個圖表詢問“如果這個數字上升或下降,我會做些什么不同的事情?”。經常重新審視這個問題,刪除您沒有答案的任何圖表。
您的指標集應側重于關鍵的長期輸出和成果指標,儀表板顯示您當前改進工作中所有類別的短期指標。
使用工具
Microsoft Power BI、Tableau 或 Google Data Studio 等數據可視化工具是您組織中最有用的軟件產品。許多業務工具都有基于網格或文本的界面,但數據工具卻堆滿了彩色動畫圖表。
創建一個引人入勝的儀表板很容易讓人分心。如果您不從度量設計開始,您最終會得到許多對您的日常工作沒有影響的令人愉悅的儀表板。您需要儀表板和圖表工具來幫助您理解信息,但首先要設計指標。
最好從低保真度開始收集有意義的指標??梢詮囊粋€簡單的電子表格甚至白板開始。在確定哪些度量對您的團隊和組織有幫助后,開始自動化收集并創建流暢的顯示。
如果您投入太多時間來創建令人驚嘆的儀表板,您會發現在不再需要圖表時很難將其刪除。
標準化
一些組織試圖通過讓其他團隊遵循相同的流程來復制高績效團隊的成功。這很少能成功,因為每個團隊處理不同的問題并且具有不同的技能水平。正如流程和實踐需要特定于上下文一樣,指標也是如此。
您應該將指標作為持續改進活動的一部分。對于提前期較長的團隊,您可以測量批次大小、排隊時間以及工作在每個狀態下花費的時間。這些指標不適合主要問題是質量的團隊。
這需要數據、洞察力、理論和實驗周期,你可以在其中查看你所擁有的關于你想要解決的問題的信息,形成一個關于什么可以改善問題的理論,然后運行一個實驗來測試你的想法。
您收集的指標還會向團隊發出當前重要的信號。您經常會看到改進,因為您的指標表明您關心軟件交付的某些方面。
靠眼睛
您應該創建一個簡單的儀表板來顯示您為實驗跟蹤的指標。這應該顯示在信息輻射器上,以便團隊中的每個人都可以看到數據。
但是,如果您僅在有人查看儀表板時才對數據做出反應,那么您會在儀表板上塞滿太多信息并錯過關鍵事件。隨著時間的推移,您保持跟蹤進度的長期指標似乎與用于改進軟件交付的短期指標一樣重要。
解決保留長期指標而不會使儀表板混亂的問題的關鍵是為數據實施監控和警報流程。自動警報應該會告訴您指標是否超過閾值,并且您可以使用異常檢測來告訴您是否發生了有趣的事情。
通過自動跟蹤指標,您可以將它們從儀表板中刪除以釋放空間。
獎勵表現
如果您的團隊正在努力提高其部署率,那么如果他們實現每日部署,可能會很想通過獎勵來激勵他們。這種激勵方法會導致不良結果。一個團隊可能會為了實現目標而忽略其他關鍵工作——不是為了欺騙系統,而是因為你讓日常部署比其他任何事情都重要。
在具有里程碑意義的《獎勵懲罰》一書中,Alfie Kohn 解釋說,試圖通過激勵來管理人員會給您的組織帶來長期傷害。數百項研究發現,人們在獲得獎勵時會做得更差。
使用指標來營造競爭氛圍,無論是為了個人表現、不同團隊的比較,還是為了游戲化工作場所(在其中引入游戲元素作為“有趣”競爭的一種形式),都會導致麻煩。
競爭與您在組織中真正需要的東西相沖突:協作。如果你的工作假設人們想做好工作,你會發現你不需要使用獎勵或懲罰來讓他們提高績效。
結論
5 個 DORA 指標和 SPACE 框架提供了預構建的、平衡的方法來衡量軟件交付性能。(過去有 4 個 DORA 指標,但增加了一個額外的可靠性指標。)
一組好的指標將混合領先指標以預測性能與滯后指標以檢查預測的準確性。測量應跨越活動、輸出、系統輸出和結果類別。
無論您衡量什么,您都需要不斷完善您的指標,以確保它們對您的團隊和組織仍然有用。理想情況下,您收集的指標與您為檢驗理論而運行的特定實驗相關。
如果你很好地使用指標,你就會在尋求成為軟件交付領域的精英之一時提高績效和學習。