共用方式為


什麼是敏捷式開發?

敏捷 開發是一個術語,用於描述迭代軟體開發。 迭代軟體開發透過以短增量完成工作(通常稱為 衝刺)來縮短 DevOps 生命週期。 短衝通常持續一到四週。 敏捷開發通常與傳統或瀑布式開發形成對比,傳統或瀑布式開發預先規劃較大的專案並根據計劃完成它們。

在每次衝刺中交付生產級別程式碼需要敏捷開發團隊適應加速的開發節奏。 所有編碼、測試和質量驗證都必須在每個衝刺中完成。 除非團隊組建得當,否則結果可能會達不到預期。 雖然這些失望提供了很好的學習機會,但在開始之前學習一些重要的教訓會很有幫助。

本文列出敏捷開發團隊的幾個關鍵成功因素:

  • 勤奮的待辦事項清單精煉
  • 儘早且經常進行整合
  • 最大限度地減少技術債務

認真的積壓工作清單精化

敏捷開發團隊處理需求待辦項目,這些需求通常稱為 使用者故事。 待辦事項會被優先排序,最重要的使用者故事位於頂端。 產品擁有者擁有待辦專案,並根據客戶的需求新增、變更使用者劇本並重新排定優先順序。

顯示多個欄位的工作流程看板圖片。在每個欄中,可以看到幾張卡片。

敏捷團隊生產力的最大拖累之一是定義不明確的待辦事項。 除非團隊有明確定義的需求,否則不能指望團隊在每個衝刺中始終如一地交付高質量的軟件。

產品負責人的工作是確保每個短衝,工程師都有明確定義的使用者故事來處理。 待辦事項清單頂端的使用者故事應該總是準備好讓團隊開始。 這個概念稱為待辦專案細化。 為敏捷開發團隊準備好待辦事項需要努力和紀律。 幸運的是,這是非常值得投資的。

當您精簡待辦專案時,請記住下列重要考慮事項。

  1. 完善用戶故事通常是一項耗時較長的活動。 優雅的使用者介面、精美的螢幕設計和令客戶滿意的解決方案都需要時間和精力來創造。 勤奮的產品負責人提前兩到三個開發週期完善使用者故事。 它們考慮了設計迭代和客戶評論。 他們努力確保每個用戶故事都是敏捷團隊自豪地交付給客戶的東西。

  2. 除非團隊說,否則用戶故事不會被完善。 小組需要檢閱使用者劇本,並同意其已準備好進行處理。 如果團隊直到衝刺的第一天才看到使用者故事,則可能會產生問題。

  3. 待辦事項列表下方的用戶故事可能仍然模棱兩可。 不要浪費時間完善優先順序較低的項目。 專注於待辦專案的頂端。

儘早並經常整合

持續整合持續交付 (CI/CD) 讓您的團隊能夠快速實現敏捷開發。 儘快將建置、測試和部署管線自動化。 將自動化設定為您開始新專案時團隊處理的首要任務之一。

透過自動化,團隊可以避免緩慢、容易出錯且耗時的手動部署流程。 由於團隊會發布每個短期衝刺,因此沒有時間手動執行這些任務。

CI/CD 也會影響您的軟體架構。 它確保您提供可建置和可部署的軟體。 當團隊實作難以部署的功能時,如果建置和部署失敗,他們會立即意識到。 CI/CD 會強制團隊在部署問題發生時修正它們。 然後產品隨時準備出貨。

抽象長條圖,顯示一段時間內 CI 建置的狀態。大多數構建都成功了。只有少數人失敗了。

有一些關鍵的 CI/CD 活動對於有效的敏捷開發至關重要。

  1. 單元測試。 單元測試是防止人為錯誤的第一道防線。 將單元測試視為編碼的一部分。 將測試與程式碼一起提交。 讓單元測試成為每個組建的一部分。 單元測試失敗意味著建置失敗。

  2. 構建自動化。 組建系統應該在組建執行時,直接從原始檔控制自動提取程式代碼和測試。

  3. 分支和建置原則。 設定分支和建置原則,以在小組將程式碼提交至指定分支時自動編譯。

  4. 將應用程式部署到某個環境中。 設定發行管線,自動將建置專案部署至模擬生產環境的環境。

最大限度地減少技術債務

對於個人財務來說,避免債務比償還債務更容易。 同樣的規則也適用於技術債務。 技術債務包括團隊因為之前採取快捷方式而必須解決的任何問題。 例如,如果您的日程安排很緊,您可能會犧牲品質來趕上最後期限。 技術債務是你以後付出的代價,當你必須重構程式碼來彌補品質的不足時。 範例包括修復以解決不良設計、錯誤、效能問題、操作問題、可訪問性問題和其他問題。

積極管理技術債務需要勇氣。 延後重構程式碼的壓力很大。 處理功能並忽略債務感覺很好。 不幸的是,遲早必須有人還清技術債務。 就像金融債務一樣,技術債務存在的時間越長,就越難償還。 聰明的產品負責人會與他們的團隊合作,確保每個衝刺都有時間償還技術債務。 平衡技術債務減少與功能開發是一項艱鉅的任務。 幸運的是,有一些簡單的技術可以 創建富有成效、以客戶為中心的團隊

始終保持敏捷

敏捷意味著從經驗中學習並不斷改進。 敏捷開發比傳統專案規劃提供了更多的學習週期,因為流程循環更緊密。 每次迭代都為團隊帶來新的學習機會。

例如:

  • 小組會為客戶提供價值、取得意見反應,然後根據該意見反應修改待辦專案。
  • 他們得知他們的自動化建置缺少關鍵測試。 他們將解決該問題的工作包括在下一個開發迭代中。
  • 他們發現某些功能在生產環境中表現不佳,因此他們制定了提高性能的計劃。
  • 團隊中有人聽說了一種新做法。 團隊決定嘗試進行幾次衝刺。

剛開始敏捷開發的團隊應該期待更多的學習機會。 它們是這個過程中非常寶貴的部分,因為它們會帶來成長和改進。

後續步驟

有很多方法可以確定適合團隊的敏捷開發流程。 Azure DevOps 提供各種程式範本。 正在尋找不同基準結構的團隊可以使用這些範本作為起點。 如需選取最適合小組文化和目標的程式範本的相關資訊,請參閱 選擇程式流程或程式範本以在 Azure Boards 中運作

隨著組織的發展,保持紀律可能是一項挑戰。 深入瞭解如何 將敏捷擴展至大型團隊