正式化軟體開發和管理的建議
適用於此 Azure 架構完善的架構營運卓越檢查清單建議:
OE:03 | 將軟體構想和規劃程序正規化。 借鑒已建立的產業和組織標準。 使用一般、已排定優先順序的待辦專案,以及足夠詳細的規格。 根據結果,推動規劃程式中的持續改進。 |
---|
本指南說明根據既定標準管理軟體開發實務的建議。 您的小組產生高質量軟體的能力依賴結構化、共同作業的開發規劃方法。 產品擁有者和經理必須能夠清楚了解開發人員在開發週期中的任何環節所做的工作,並向專案關係人闡述。 相對地,開發人員必須透過精心撰寫的功能、使用者劇本和驗收準則來了解開發週期的目標。 已建立的標準會定義應該如何執行開發做法,並允許工作負載小組有效地共同作業,降低對目標和期望造成混淆的風險。
關鍵設計策略
正式化您的軟體開發做法,以協助確保產品擁有者、專案經理和開發人員瞭解每個短期衝刺的目標,並將一致的品質傳遞給項目關係人。 若要檢閱開發實務的指引,請參閱 持續整合指南。
建立共同作業和通訊標準
共同作業:定義工作負載建議變更的程式應該是共同作業。 工作負載的大部分變更都會影響多個函式和/或元件,因此盡可能涉及盡可能多的工作負載小組成員將有助於確保不會遺漏重要的考慮,而且每個人都知道對其特定網域的影響。 共同作業也有助於清楚定義變更的範圍,以及如何將完成變更所需的必要工作分割成定義完善的工作專案,因為跨領域具有專業知識的較大群組將能夠為所需的工作提供經驗支持的預估。
通訊:定義產品擁有者和專案經理的標準通訊協定,以在內部和外部升級即將推出的版本。 例如,您可以針對即將推出的版本,建立與外部合作對象的通訊標準。 標準可能會規定應該在發行前兩周傳送通訊,並在發行前 24 小時傳送提醒。
檢閱:定期透過開發週期回顧和驗屍,對開發做法執行內部稽核。 程式反映應該是無可指責的,而且應該專注於可套用為改進的學習。 請確定小組會反映用戶劇本和工作在定義必要工作和時間估計精確度方面的有效性。
報告:為專案關係人標準化報告,這些報表可提供著重於變更的實用計量。 專注於變更可讓您追蹤產品加速和減速。 實用的計量可以包含下列中的變更:
採用的每月增長率。
效能:
訓練時間。
事件的頻率。
報告不應用來作為評估個人工作的工具,因此請避免每個工程師的案例點或程式代碼行等計量。
選擇業界標準工具
使用已建立且經過業界驗證的工具和程式,例如 Agile、 Scrum 和 Kanban 面板。 開發您自己的工具和程式是一項重大工作,需要花費時間和開發週期,否則可能會花費在您的工作負載上。 最有經驗的DevOps工程師和產品擁有者都熟悉這些類型的工具和程式,因此採用它們的學習曲線應該最少。 同樣地,新進員工的上線程式也會受益於使用標準工具和程式,因為它們可能已經接觸相同的工具和程式。
取捨:如果敏捷式方法過於規範,則方法可能會變得過於嚴格。 努力在定義完善的標準與創新之間取得平衡。
採用標準來擷取終端使用者案例
使用者劇本:標準化使用者劇本的範本。 請確定每個用戶劇本都是從用戶的觀點撰寫的離散工作單位。 撰寫良好的使用者劇本應該具有下列特性:
每個使用者故事應該彼此完全獨立。 讓使用者劇本彼此獨立,可避免與重疊的工作產生任何混淆,並協助小組瞭解在指定的用戶劇本上是否依賴其他案例的工作,這有助於排程和優先順序。
每個使用者的故事都是可談判的。 終端使用者和工作負載小組成員的觀點都對於擷取可在短時間內完成的實際使用者案例而言都很重要。
用戶劇本對使用者而言很有價值。 當您從用戶的觀點撰寫用戶劇本時,您會擷取他們感興趣的變更,併為其體驗增加價值。 在使用者劇本細分為工作專案時,將此焦點保持在一定狀態,有助於確保每個部署都提供改良的體驗。
用戶劇本所需的工作是高度信賴度所估計的。 如果沒有能夠接近指定使用者劇本所需的時數,規劃將會很困難,而且遺漏期限的可能性增加,可能會對其他計劃的工作造成串聯影響。
撰寫良好的用戶劇本很小,因此可以在幾周內完成。 較小的範圍故事有助於讓他們保持可擷取且可管理,並協助讓工作專案保持可完成。
用戶劇本應可測試。 若無法測試已傳遞功能,用戶就無法確信已達成目標。 即使尚未針對指定的使用者劇本撰寫測試,也應該清楚瞭解如何開發測試,以證明功能傳遞。
接受準則:標準化驗收準則的範本。 請確定驗收準則與使用者劇本特別相關,而且可以使用一或多個驗收測試明確證明。
標準化部署做法
部署:規劃使用頻繁的小型反覆部署,而不是大型不常部署。 使用此方法可協助使用者案例和工作專案從專案管理的觀點進行管理,並降低部署失敗時發生大規模問題的風險。
詞彙:標準化已完成開發週期的定義,以協助確保順利完成支援的功能,包括測試、文件和輔助功能功能。
追蹤:確定開發程式可追蹤。 您應該清楚追蹤生產工作負載的狀態,並將相關聯的程序代碼追溯到品質保證測試、驗收準則、用戶劇本和功能。 例如,詳細追蹤也可能是某些情況下的法規需求,例如醫療保健。
Azure 便利化
Azure Boards 是以 Web 為基礎的服務,可讓小組跨整個開發程式規劃、追蹤和討論工作。 它非常適合敏捷式開發實務。
GitHub Projects 是可自定義的專案管理工具,可使用 GitHub 中的問題和提取要求來組織專案並整合。
相關連結
社群連結
卓越營運檢查清單
請參閱一組完整的建議。