採用 DevOps 文化特性

已完成
讓開發和營運小組能夠透過共同作業、共同責任和擁有權的心態合作,持續改善其系統設計和流程。

DevOps 是一個實踐社群,其中觀點和技能的多樣性推動著一項任務。 小組必須培養分享知識的共同作業環境,而不是孤立的學習環境。 使用共用功能來努力克服資源限制。

良好的 DevOps 文化特性會在共同責任中茁壯成長。 開發和營運小組應將其目標和優先順序與客戶的期望保持一致,並牢記業務重點。 開發小組應該讓營運小組參與意見反應迴圈,讓改善能同樣地推動上游且其他小組能夠受益。 相反地,營運小組會負責藉由共用與工作負載相關的資源和意見反應,讓開發小組在業務成果中獲得成功。

同時,DevOps 做法會將劃分明確的擁有權和責任線套用至每個小組。 無論應用程式執行的位置為何,工作負載小組都會負責該應用程式。

DevOps 會將作業工作最佳化,使其有效但不會造成負擔。 為了獲得 DevOps 的完整效益,文化特性應該透過技術最佳化流程,並讓組織中的人員能夠透過流程促進透明通訊。

範例案例

Contoso 的人力資源 (HR) 部門正在啟動一個專案,針對其部門內部使用開發新的企業營運 (LOB) 應用程式。 應用程式目前處於規劃階段,尚未開始任何設計或實作工作。

有效率地共同作業

使用可促進共同作業環境的常見系統和工具進行通訊和追蹤進度。

常見的工具和流程可實現透明通訊。 開發和營運小組都受益於各種環境的情境感知、常見的支援問題,以及整體挑戰和勝利。

小組已熟悉發生事件時現有的呈報路徑。

共用待辦項目會明確指出處理新功能或修正 Bug 等作業的優先順序。

Contoso 的挑戰

  • Contoso 有三個技術小組,將參與新應用程式的開發和維護:開發、測試和營運。 目前,沒有標準通訊和專案追蹤工具可一致地用於這些小組。
  • 從歷史上看,每個小組都能夠選取其選擇的工具。 有些會使用 Slack,有些則使用 Microsoft Teams 進行內部傳訊。 有些會使用 Azure DevOps (ADO),而另一些人則使用 Excel 來追蹤工作,而每個小組會使用與其他人不同的文件存放庫來共用知識與事件回應程序。
  • 在過去專案中,由於使用不同的工具,整體技術組織一直苦惱於通訊和共同作業。 接下來,Contoso HR 想要改善生產力,並避免可能會讓專案進度變慢的情況,就像先前遇到的情況一樣。

套用方法和結果

  • 來自技術小組的潛在客戶與專案贊助商會面,以選擇未來將使用的標準工具。 一群人選擇了 ADO 來管理其待辦項目、程式碼存放庫和部署管線。 他們也會選擇了 Microsoft Teams 進行通訊和共同作業。
  • 使用一組常見的工具,可讓開發、營運和測試小組隨時掌握和同步處理各種環境的狀態、常見的專案問題和小組成就。 此外,小組可以存取從單一已知位置發生事件時所建立呈報路徑的相關資訊。
  • 共用待辦項目也有助於統一規劃並維持優先順序,例如開發新功能或修正 Bug。

採用持續改進

在整個開發週期中建立持續學習和實驗思維。 支援跨小組知識分享,同時維護文件以供重複使用。 此外,進行無究責的分析,並彙報發行後和/或事件後檢閱。

透過 A/B 測試和開發概念證明等實驗機制,您可以鼓勵創新,同時降低成本。

透過共同作業分享知識,讓小組熟悉設計方法、工具和流程。

在專案之後進行回顧有助於識別改進和慶祝成功的領域。

Contoso 的挑戰

  • 為了進一步促進資訊分享,並培養共同作業與透明度的文化特性,小組想要為專案文件提供集中且易於存取的真實來源。 除此之外,如果新的開發人員加入小組,且需要快速跟上專案的速度,這會很有幫助。
  • Contoso HR 特別感興趣的是,希望確保從影回應用程式可用性的事件中的發現結果,並在整個技術組織中分享,以協助處理日後的事件,並盡可能防止重複發生。
  • 為了避免重複過去設計應用程式使用者體驗時的錯誤,小組也想要使用更靈活的方法,讓他們能夠考慮實際的使用者意見反應。

套用方法和結果

  • 小組會在 ADO 中建置知識分享 Wiki,其中所有設計規格都會連同所有作用中的作業程序、事件回應計劃及回顧結果一併張貼。
  • 在事件和每個開發反覆項目之後進行無究責的回顧,並記錄 Wiki 中的發現結果,將可協助專案小組找出改進和慶祝成功的領域。
  • 小組已採用探索新應用程式的使用者體驗設計方法,利用 A/B 測試,找出 UX 顧問所提議的數個衍生項目中的最佳使用者體驗,並考慮使用者意見反應以做出資料驅動決策。

編寫開發和作業程序

設定所有開發和作業程序的標準,並定期進行檢閱和驗證。 這些程序包括例行工作、頻外程序、緊急演練和情況、工具選擇、監視程序、技能計劃,甚至是與專案關係人和客戶揭露的通訊。 刻意且明確的決定。

標準可增加作業的可預測性,並讓流程和做法可調整。 驗證標準是指出改進點的絕佳方式。

定期進行演習,為緊急和復原情況做好準備。

精確地執行並啟用控管,以防止導致風險的異常情況。

Contoso 的挑戰

  • 過去影響開發小組生產力和輸出品質的挑戰之一,就是程式碼基底缺乏標準化和一致性。 例如,在命名慣例或常見軟體模式的使用中缺乏統一性,使得小組成員難以了解彼此的程式碼,而這便影響了效率。
  • 此外,如果沒有正確記載的通用作業方法,作業人員可能會使用不同的方法來達成相同的目標,如此導致效率低落和混淆情況。
  • Contoso HR 由於實作其他 DevOps 改進的成功,因此已決定在下一個開發週期中解決此問題。

套用方法和結果

  • 開發小組會在開發週期期間聚集在一起,針對一組要實作的開發標準達成共識。 他們會記錄所做的選擇,並會在程式碼檢閱和使用工具期間開始強制執行這些選項。 他們正在查看下列主題:程式碼格式化和命名慣例、錯誤處理、版本控制以及安全性做法。 小組計劃密切關注 ADO 中產生的品質計量和報告,以量化這些變更對品質和生產力的影響,以便向其管理團隊證明這幾種 DevOps 改進的價值。
  • 同樣地,營運小組會在相同的期間內投入時間,以擴充其現有的例行工作管理與疑難排解做法文件,然後在 Wiki 中發佈。 今後,Wiki 將作為單一真實來源,並節省花費在搜尋資訊的時間與精力。

檢定您的知識

1.

下列哪一項是營運和開發小組使用一組通用工具的優點?

2.

下列何者是建置持續學習和實驗思維的範例?

3.

是非題:Contoso 在其工具組中缺乏標準化。