推進軟件持續交付的24個關鍵能力點 | IDCF

持續交付能力

1.對全部生產工件使用版本控制

版本控制是將全部生產工件歸入版本控制系統(例如GitHub或Subversion)管理,包括應用程序代碼,應用程序配置,系統配置以及用於自動構建和配置環境的腳本。數據庫

2.自動化部署過程

部署自動化是指部署徹底自動化且不須要人工干預的程度。編程

3.實施持續集成

持續集成(CI)是實現持續交付的第一步。這是一種開發實踐,其中的代碼會按期檢入,每次檢入都會觸發一組快速測試,以發現嚴重的迴歸問題,開發人員會當即對其進行修復。CI流程將建立規範的構建和程序包,並最終進行部署和發佈。安全

4.使用基於主幹開發方法

基於主幹的開發模式已被證實能夠實現軟件開發和交付中的高性能。它的特色是在代碼存儲庫中少於三個活動分支。在合併入主幹分支以前具備很是短的生命週期(例如,少於一天)的分支;應用程序團隊不多或歷來沒有「code lock」期,由於合併衝突,代碼凍結或穩定階段,沒人能簽入代碼或執行拉取請求。架構

5.實施測試自動化

測試自動化是一種在整個開發過程當中自動(而非手動)連續運行軟件測試的實踐。有效的測試套件是可靠的,也就是說,測試會發現真正的失敗,而且只能經過可發佈的代碼。請注意,開發人員應主要負責建立和維護自動化測試套件。框架

6.支持測試數據管理

測試數據須要仔細的維護,而且測試數據管理已成爲自動化測試中愈來愈重要的部分。有效的作法包括擁有足夠的數據來運行您的測試套件,按需獲取必要數據的能力,在管道中對測試數據進行條件調整的能力以及不限制能夠運行的測試數量的數據。可是,咱們確實要警告,團隊應儘量減小運行自動化測試所需的測試數據量。微服務

7.左移安全性

將安全性集成到軟件開發過程的設計和測試階段是提升IT性能的關鍵。這包括對應用程序進行安全審查,包括在應用程序的設計和演示過程當中的信息安全團隊,使用預先批准的安全性庫和程序包,以及將安全性功能做爲自動化測試套件的一部分進行測試。工具

8.實施持續交付(CD)

CD是一種開發實踐,其中軟件在其整個生命週期中都處於可部署狀態,而且團隊優先考慮使軟件保持在可部署狀態,而不是研究新功能。全部團隊成員均可以快速得到有關係統質量和可部署性的反饋,當他們收到有關係統不可部署的報告時,能夠快速進行修復。最後,能夠根據須要隨時將系統部署到生產或最終用戶。性能

架構能力

9.使用鬆耦合的架構

這影響了團隊能夠按需測試和部署其應用程序的程度,而無需與其餘服務進行協調。鬆散耦合的架構使您的團隊可以獨立工做,而無需依賴其餘團隊的支持和服務,從而使他們可以快速工做併爲組織創造價值。學習

10.受權團隊的架構師

咱們的研究代表,能夠選擇要使用哪些工具的團隊在持續交付方面會更好,進而能夠推進更好的軟件開發和交付性能。沒有人比從業者更清楚他們須要什麼纔能有效。測試

產品和過程能力

11.收集並實施客戶反饋

咱們的研究發現,組織是否認期主動地尋求客戶反饋,並將此反饋歸入其產品設計對軟件交付性能很重要。

12.經過價值流使工做流程可見

團隊應該對從業務一直到客戶的工做流程有很好的理解和可視性,包括產品和功能的狀態。咱們的研究發現,這對IT性能有積極影響。

13.小批量工做

團隊應該將工做分紅小塊,能夠在一週或更短的時間內完成。關鍵是將工做分解爲容許快速開發的小功能,而不是在分支上開發複雜的功能並不多發佈它們。這個想法能夠應用於功能和產品級別。(MVP是產品的原型,具備足夠的功能以令人們可以有效地瞭解產品及其商業模型。)小批量工做可縮短交貨時間並加快反饋循環。

14.培養和啓用團隊實驗

團隊實驗是開發人員在開發過程當中嘗試新想法並建立和更新規範的能力,而無需團隊外部的批准,這使他們可以快速創新並創造價值。當與小批量工做相結合,合併客戶反饋並使工做流程可見時,這特別有影響。

精益管理和監控能力

15.進行輕量級變動批准流程

咱們的研究代表,與使用外部變動批准委員會(CAB)相比,基於同級審查(對編程或團隊內部代碼審查)的輕量級變動批准過程可產生出色的IT性能。

16.跨應用程序和基礎架構進行監視以通知業務決策

使用來自應用程序和基礎架構監視工具的數據來採起行動並制定業務決策。當出現問題時,這不只僅能夠傳呼別人。

17.主動檢查系統運行情況

使用閾值和變化率警告來監視系統運行情況,以使團隊可以搶先發現和緩解問題。

18.改進流程並管理在製品(WIP)限制的工做

在精益社區中,使用在製品限制來管理工做流程是衆所周知的。有效使用後,可提升流程效率,提升吞吐量並在系統中顯示約束。

19.可視化工做以監視質量並在整個團隊中進行溝通

已顯示用於監視質量和在製品的視覺顯示,例如儀表板或內部網站,有助於軟件交付性能。

文化能力

20.支持生成文化

衡量組織文化的依據是社會學家羅恩·韋斯特魯姆(Ron Westrum)開發的一種類型學,他在航空和醫療保健領域研究了對安全相當重要的複雜系統。咱們的研究發現,這種文化程度能夠預測IT績效,組織績效和減小倦怠。此措施的標誌包括良好的信息流,高度的合做與信任,團隊之間的橋樑以及有意識的詢問。

21.鼓勵和支持學習

在您的文化中,學習被認爲對持續進步相當重要嗎?學習被視爲成本仍是投資?這是對組織學習文化的一種衡量。

22.支持和促進團隊之間的合做

這反映了傳統上孤立的團隊在開發,運營和信息安全方面的互動程度。

23.提供使工做有意義的資源和工具。

這項工做滿意度的特殊衡量標準是從事具備挑戰性和有意義的工做,並有權鍛鍊您的技能和判斷力。這還與得到作好工做所需的工具和資源有關。

24.支持或體現變革型領導

變革型領導支持並擴大了DevOps中相當重要的技術和流程工做。它由五個因素組成:視覺,智力刺激,鼓舞性溝通,支持性領導和我的承認。

來源:DevOps雲學堂

摘自Nicole Forsgren博士,Jez Humble和Gene Kim 的Accelereate摘錄

4月每週四晚8點,【冬哥有話說】DevOps之庖丁解牛,拆解DevOps的工具及具體實戰。公衆號留言「解牛」可獲取地址

  • 0401《數據庫持續交付流水線分享與演示(Azure DevOps+Flyway)》
  • 0408《持續交付中的版本管理與基於Azure DevOps擴展框架的插件開發》
  • 0428(週三)《微服務,多團隊協做中的API測試怎麼作 - Pact契約測試》
  • 0429(週四)《BoatHouse端到端流水線展現》
相關文章
相關標籤/搜索