DevOps關鍵能力之持續交付 - 新書預覽《加速:精益軟件和DevOps的科學》

 持續交付需要哪些關鍵能力呢?

本文是重磅新書《加速》讀後感系列文章DevOps需要哪些關鍵能力?新書預覽《加速:精益軟件和DevOps的科學》的續篇。在前文中,我們提到DevOps有24個關鍵能力。

而其中,有8個關鍵能力是關於持續交付的。這些能力將賦能我們更安全、更快和更持續地把新的特性、缺陷修復以及試驗代碼交付到生產環境和用戶手中。

01

持續交付的5個核心原則

  1. 內建質量

    把質量一開始就內建在軟件產品中。

  2. 小批量

    把大而全的需求拆分成更小的、可度量其價值的小需求,以便我們可以更快地獲取用戶反饋並及時修正,和降低每次的變更成本。

  3. 電腦執行重複性的工作,人來解決問題

    如果重複性工作可以被自動化,將賦能人們去聚焦在更有價值的、解決問題的事情上。

  4. 無休止地追求持續改進

    高效能的團隊對變得更好的追求是永無止境的,他們總是把改進變成日常。

  5. 每個人都有擔當和負起責任

02

實施持續交付的要求

  1. 完善的配置管理

    儘可能把所有配置都通過版本控制器來管理,並自動化服務器環境的預備以及軟件的構建、測試和部署。

  2. 持續集成

    高效能團隊會盡力縮短代碼分支存在的週期(最好少於1天),並迅速地把分支合併到主幹中。

  3. 持續測試

    測試是必須的,而且是持續性的。它是開發過程的一部分,並通過自動化給予開發人員即時的質量反饋。

03

關鍵能力

  1. 版本化一切構件

    版本控制器應該用於管理所有構件,包括腳本、代碼和配置,以便於自動化構建和配置環境。

  2. 自動化部署

    自動化所有部署工作,過程不需要人工干預。

  3. 實施持續集成

    持續集成是持續交付的第一步。它通過監控代碼提交行爲並觸發一系列的快速測試來暴露迴歸問題。一旦發現迴歸問題,開發人員可以快速修復,從而增強軟件的質量。

  4. 基於主幹的開發

    儘量保持最少和最短的分支(最好少於1天),並頻繁地合併到主幹中。這樣將大大避免合併衝突,減少代碼鎖定週期。

  5. 實施測試自動化

    只有通過可靠的自動化測試的代碼才能上線。開發人員的首要責任是構建和維護自動化的驗收測試。

    測試驅動編程強制開發人員編寫可測試的代碼並讓他們對這些測試代碼負責。相對於繁文縟節的測試文檔,他們也更有興趣來維護和修復這些測試代碼。

    測試工程師依然重要,他們執行自動化測試未能覆蓋的人工測試,並幫助開發人員補充和完善他們的自動化測試。

  6. 測試數據管理

    當構建自動化測試時,管理與之配套的測試數據也是完整的自動化測試的一部分。因此,開發人員必須設法把測試數據的準備過程也自動化了。

  7. 安全左移

    把安全評審和安全測試嵌入到持續集成中。傳統的安全評審和安全測試是在軟件開發完成後才進行的,這將不可避免地帶來大量的返工工作。而且,一旦交付變得頻繁,安全團隊也沒有能力及時跟進安全評審,所以軟件安全性必須內建在開發過程中。

  8. 實施持續交付

    實施持續交付意味着構建多個的反饋環,以確保高質量的軟件可以更頻繁、更可靠地交付給用戶,最終實現按需發佈。

一旦團隊在實踐持續交付,發佈上線就不再是大型的一次性活動,而是在上班時間內的常規工作。持續交付幫助我們實現敏捷宣言的12原則之一:敏捷過程提倡可持續的開發,項目方、開發人員和用戶應該能夠保持恆久穩定的進展速度

實施持續交付所需要的各種實踐,需要我們重新思考團隊是如何工作的和團隊成員如何交互,以及有哪些工具和流程是需要的。測試、部署自動化也有賴於不斷簡化的系統架構,以避免自動化過於複雜和昂貴,無法啓動和維護。

因此,實現持續交付的其中一個關鍵障礙是企業和系統的架構。我將在後續的文章對這個主題及其相應的關鍵能力進行探討。敬請留意後續文章。

部分內容翻譯自Ariana Brighenti@HSBC的撰文。

近期必讀:

DevOps需要哪些關鍵能力?新書預覽《加速:精益軟件和DevOps的科學》

複雜(Complex)問題與繁雜(Complicated)問題,你怎麼選

參觀微信總部的一些分享

關於作者


劉華(Kenneth)

  • 就職於世界500強銀行,負責基金服務業務軟件開發與交付

  • 敏捷、精益、DevOps專家

  • 精通極限編程、Scrum、看板方法、測試驅動開發、持續集成、行爲驅動開發、DevOps工具棧

  • 曾在GDevOps、DevOpsDays Meetup、中國軟件技術大會、ArchSummit等論壇發表主題演講

  • 著有《獵豹行動:硝煙中的敏捷轉型之旅》一書

小說體敏捷/DevOps轉型教科書

和實戰經驗分享

購書指南


紙質書、電子書在京東噹噹亞馬遜、微信讀書等渠道已全面上架,搜索關鍵字“獵豹 敏捷”即可找到。點擊閱讀原文可直接購書。

有聲書已登錄喜馬拉雅、微信讀書,適合路上聽書的你。

關注公衆號看其他原創作品

覺得好看,點個“在看”或轉發給朋友們,歡迎你留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章