1. 程式人生 > >DevOps的四種核心能力

DevOps的四種核心能力

作者:Necco Ceresani,翻譯:劉錦濤(NJU),微信公眾號:DevOps社群
原文:https://dzone.com/articles/the-4-core-capabilities-of-devops

DevOps 的成功取決於速度和穩定性。你可以改善哪四個核心概念來讓你的DevOps更加努力地為你工作呢?

毫無疑問,DevOps 對組織是非常有價值的。根據近期釋出的 State of DevOps Report,高效的 IT 組織可能會將利潤率、市場份額和生產力目標提高兩倍。但是,他們是如何做到的呢?又是怎麼利用DevOps來提高價值並且和公司區分開的呢?

最近,我們和DORA(DevOps研究與評估)的CEO、首席科學家、DevOps狀態報告的帶頭人Nicole Forsgren討論了對成功DevOps的研究的意義,Forsgren和她的同事從數年的對DevOps運作和文化的研究中發現,成功的DevOps取決於提高“速度”和“穩定性”這兩項關鍵因素。“這兩項對提高組織績效和價值至關重要。”Forsgren說。

但是實現快速、穩定需要在特定的核心能力花大功夫,這些核心能力可以分為四個大類,是提高軟體的主要工具,從而推動、預測並且積極影響團隊的底線。

一、技術與自動化

在這個大類中的任何領域的改進都會對你的軟體開發與交付產生巨大的影響,關鍵能力包括:

  • 對所有產品使用版本控制;
  • 自動化部署過程;
  • 實現持續整合;
  • 使用中繼式開發方法;
  • 實現測試自動化;
  • 支援測試資料管理;
  • 安全轉移;
  • 實現持續交付。

Forsgren指出:“上述清單中,最有挑戰性的就是支援測試資料管理,而業績最高的公司往往在部署過程自動化方面最強。”如果你剛剛開啟你的DevOps旅程,Forsgren建議最好從對所有產品進行版本控制開始做起。

二、管理和流程

為了提高管理和流程的各個方面,Forsgren建議從以下的能力開始:

收集、實現和傳播使用者的反饋

你的開發團隊知道他們為什麼在敲他們正在敲的程式碼麼?你是直接從你的客戶那裡收集關於應該敲的程式碼的想法麼?你的開發團隊知道開發建議是從哪來的麼?

讓工作在整個價值流中可見

這個能力不是靠一塊儀表盤就可以搞定的,是要讓整條價值鏈可以看得到並且讓人們瞭解到他們的產品適合整個流程。

小批量工作,輕量級審批過程

這樣可以保證工作可以很快的通過系統。

三、度量和監控

在這個大類中規定了促使改進的四種能力:

  • 監控應用程式和基礎架構以通知商業決策;(注意,雖然許多公司很善於監測工作流,但是他們不善於將這些資訊通知業務決策。)
  • 主動檢查系統安全性;
  • 使用WIP limit 改進流程和管理工作;
  • 視覺化質量監控

四、企業文化

提高企業文化是企業面對的困難領域之一,但是,通過更好地理解以下DevOps強大的文化能力,企業可以為建立一個健康、成功的IT團隊打下良好的基礎。

鼓勵和支援學習

認真、重視學習的價值,將學習作為長期的投資而不是短期的消費。

支援、促進團隊間的合作

1)提供資源和工具讓工作變得有意思

這能力不僅僅是粗淺地測試人們對自己所做的工作有多開心的“工作滿足感”,它關注於人們是否能從他們的工作中找到意義和是否能獲得成功所需要的資源和工具。

2)支援“高產的”文化

“我們通常認為DevOps文化可以打破溝通孤島、實現新的想法等。”Forsgren 指出,“然而,企業需要一個堅實的框架來預測績效成果和搞清楚哪裡出現了問題。”為此,她和她的團隊借用了社會學家Ron Westrum提出的用於預測和理解諸如醫療衛生、航空航天、核能等高危、高複雜度領域成功結果的模型。

這個框架同樣可以很好地理解那些影響公司績效的文化特徵。Forsgren指出,高績效的科技公司更可能鼓勵高產的文化。

對照著下表,現在知道你的公司失敗在哪了麼?是不是激發了你如何進行企業文化改革來提高軟體交付的靈感呢?