Dev Ops 報告現況

2019 年 5 月 29 日

DevOps 報告現況是一份年度報告,使用統計分析調查資料,以確定軟體交付組織的有效實務。其主要作者為 Nicole ForsgrenJez HumbleGene Kim

該報告根據數萬名專業軟體開發人員的調查。調查包含旨在識別建構組成部分的問題,例如組織文化等無法直接測量的部分。在本案例中,建構代表軟體交付組織的能力 [1],例如實務(持續整合)和環境因素(團隊文化)。針對每個建構,調查問題旨在間接識別這些部分,因此不會詢問「您是否執行持續整合」(我們知道會得到 非常不可靠的答案),而是詢問 CI 的具體部分(例如「是否所有人每天都推送到共用主線」)。接著,他們使用各種統計技術來測試問題是否實際測量基礎概念。進一步分析可以測試關於這些建構如何連結在一起的假設。

此調查最驚人的結果之一是團隊如何群集到四個軟體交付效能標準(頂尖、高、中、低)。頂尖表現者每天部署多次,將開發人員完成的變更導入生產環境所需時間不到一小時。相比之下,低表現者需要數個月才能將變更部署到生產環境。這種高產出並未以系統穩定性為代價,因為頂尖團隊的變更失敗率低於 15%(低表現團隊為 46-60%),且可以在數分鐘內從失敗中復原,而不是數週。

開始進一步了解此資訊的最佳地點是 2019 年 DevOps 報告現況,可免費取得。若要深入了解結果和用於發現結果的技術,我 強烈推薦 他們的書籍 加速[2]

2019 年報告的四個關鍵指標

頂尖
部署頻率依需求(> 1/天)1/小時至 1/天1/週至 1/月1-6 個月
前置時間< 1 天1 天至 1 週1 週至 1 個月1-6 個月
復原時間< 1 小時< 1 天< 1 天1 週至 1 個月
變更失敗率0-15%0-15%0-15%46-60%

報告根據四個關鍵指標的相似性對受訪組織進行分類。

  • 部署頻率:團隊將程式碼部署到生產環境的頻率
  • 前置時間:從提交程式碼到程式碼在生產環境中成功執行所需的時間
  • 復原時間:發生缺陷時復原服務所需的時間
  • 變更失敗率:導致需要補救措施的問題所佔的變更百分比

備註

1: 軟體交付是從開發人員完成軟體系統變更工作到變更部署到生產環境的過程。不包括找出需要哪些變更,以及開發團隊在開發環境中完成變更之前如何進行變更工作的部分。

2: Dora 社群 雖然沒有原始創辦人的參與,但持續進行這項工作。