建立開發標準
開發團隊負責在發行前,以最少的摩擦解決工作負載問題。 請留意開發人員的效率,並最佳化從編碼到測試結果的快速週轉週期。 實作有效且大小正確的流程,以規劃和標準化技術活動,並推動團隊和專案關係人之間的共識。
範例案例
Contoso Ticketing 是一家小型初創公司,可為中型公司提供票務企業營運 (LOB) SAAS 解決方案。 新客戶上線是一個複雜的流程,需要產品自訂和自訂開發才能與客戶的環境整合。 實作團隊會使用 Azure DevOps 作為共同作業和傳遞的平台,但不會遵循任何正式的開發方法。
採用業界標準進行開發
使用業界標準軟體開發方法,針對工作負載和團隊大小的需求進行適當的調整。 維護所有角色之間共用的待辦項目。
採用已知的方法會設定項目的節奏。 它透過為團隊成員提供明確的期望和責任來消除流程的模糊性。
透過追蹤一般清單,可以使用標準做法讓任務更精確並得到優先處理。 該專案將有更大機會按時交付。
標準方法有助於風險管理。 透過細微的里程碑檢閱,開發人員可以在成為攪局者之前解決潛在問題。
Contoso 的挑戰
- 公司的主要產品越來越熱門,整合團隊現在處理的同步處理專案比以往更多。 為了跟上增加的工作負載,團隊不得不增加其人數。
- 團隊的成長,加上缺乏正式流程,帶來了一些挑戰,如團隊成員之間不清楚的溝通隨機且低效率的會議,以及不頻繁又不定期的開發週期。 數個上線專案現在排程落後,公司的領導已要求團隊進行必要的變更,以糾正情況。
套用方法和結果
- 為了克服這些挑戰,團隊決定採用 Scrum 方法,這是軟體開發的熱門敏捷架構。
- Scrum 將協助團隊解決其面臨的一些問題。 除此之外,Scrum 會為開發流程提供清楚且一致的結構,其中包含預先定義的角色、事件、成品和規則。 共用待辦項目和短期開發衝刺的節奏可協助團隊擁有共用的願景,並定期且可靠地為客戶提供價值。
向左移以進行測試
具有在開發生命週期早期強調測試的品質保證流程。 包含計劃性測試流程的所有成品,包括屬於功能發行或更新一部分的應用程式元件、基礎結構和資料平面作業。
當成品在環境中升級時,將其視為不可變的,每次通過品質把關都能更有信心。
在實用的情況下,自動化例行檢查。
品質保證可確保功能和非功能需求都得到滿足,從而對客戶產生積極的影響。
Contoso 的挑戰
- 工作負載團隊的功能測試策略會使用自動化和手動測試的組合。 其測試方法並未涵蓋系統的所有層面,例如效能、安全性和可用性。 它們也不會以完全自動化的方式將程式碼部署至不同的環境,這會帶來變異性和不確定性。
- 客戶上線工作的數量和複雜度增加,這增加了其測試策略的挑戰,導致頻繁的錯誤、重新作業和客戶的不滿。
套用方法和結果
- 工作負載團隊會著手改善其測試策略,並增加其部署管線的一致性和可預測性。
- 他們會從對開發中的每個功能或自訂項目建立測試計劃開始,涵蓋功能和非功能需求。 他們會使用 Azure DevOps 來管理其測試案例、測試資料和測試結果。 他們會在部署管線中設定品質把關,以驗證程式碼、設定和部署的品質,再將成品升級至下一個環境。
- 實作這些改進之後,團隊會看到失敗部署的數目,以及生產環境中的錯誤和事件數目均會減少。 品質、交付速度和客戶滿意度也因此大幅提高。
測量開發效率
報告測量效率的進度和趨勢。 追蹤並報告錯誤的趨勢、失敗的更新、部署時間和意見反應迴圈,以推動開發做法的改善。
Contoso 的挑戰
- 工作負載團隊最近已實作數項變更,以提升客戶上線流程的品質和可預測性。 不過,公司面臨測量和報告這些變更影響的挑戰。 可惜的是,公司沒有可靠的資料或計量來顯示品質與可預測性已改善多少,或哪些變更相對來説更有助於改善。
- 公司需要一種方法來量化和傳達其流程投資的優點,以便在未來優先處理其資源和工作。
套用方法和結果
- 團隊決定開始利用 AzDO 中的報告功能,該團隊已在使用以量化一段時間内的改善,並優先處理未來投資的資源配置。
- 它們一開始會使用數個現成的報告:
- 速度報告
- 累計流程圖
- 錯誤趨勢: 在一段時間內建立、解決和關閉的 Bug 數目,以及它們如何影響質量計量。
- 部署統計資料: 將軟體從程式碼傳遞至生產環境所需的時間,以及其與目標和基準的比較方式。
- 團隊還計劃在不久的將來使用儀表板和 Power BI Analytics 報告來開發自訂報表。