標準化工具和流程的建議
適用於此 Power Platform Well-Architected 卓越運營清單建議:
OE:04 | 透過遵循經過產業驗證的開發和測試做法,來最佳化軟體開發和品質保證流程。 對於明確的角色指定,請跨元件 (如工具、原始檔空置、應用程式設計模式、文件和樣式指南) 來標準化實踐。 |
---|
本指南描述了定義開發工具和程序標準的建議。 定義一致的做法可以帶來高效率的工作負載團隊和高品質的工作。 高績效團隊使用經過行業驗證的工具和流程來最大限度地減少浪費的精力和潛在的程式碼錯誤。
關鍵設計原則
最佳化開發做法的第一步是標準化工具和流程。 只要有可能,請使用經過行業驗證的解決方案,而不是開發自己的解決方案。 對於所有標準化工具和程序,提供練習以確保您的團隊能夠有效地使用它們。
若要定義有助於最佳化開發做法的標準,請考慮以下建議。
使用平台可用的工具
最佳化使用 Power Platform Tools,否則使用眾所周知且成熟的現成工具,並標準化其使用。 高效率的工程團隊採用一流的工具。 避免開發用於規劃、開發、測試和協作的解決方案。 選擇滿足您的工作負載要求的工具。
工具應提供以下功能:
- 工作計畫和待辦項目管理
- 版本控制和儲存庫
- 部署管線
- 正在測試
- 程式碼開發和審查
在某些情況下,一個工具或一套工具可能提供多種功能。 確保您瞭解工具的功能及其限制,以便它們滿足您在各個職能部門的要求。
確定您是否應該投資平台的高級功能或工具的高級版本。 與高級工具提供的功能相比,請考慮開發自己的解決方案所需的時間和精力。 考慮一次性成本與經常性成本。 在大多數情況下,現成的工具可以為您的團隊提供更高的價值。 例如,受控環境提供開箱即用的功能來設定創客加入訊息或主動限制共用。 自己構建這些功能需要開發和持續的維護工作,這可能比投資受控環境成本更高。
在可行的情況下使用 AI 工具。 AI 工具可以幫助程式碼開發、審查和最佳化。
建立共同發展的治理框架
建立有效的協同開發治理框架,以確保製作者定義的專案和融合團隊的一致性和可重複性。
標準化您的原始碼控制系統和最法
採用 Azure DevOps 等原始碼控制系統。 Azure DevOps 為支持團隊提供開發人員服務,以規劃工作、協作進行代碼開發以及構建和部署應用程式。 從您的開發環境匯出解決方案,其中包含您的應用程式和自訂、打開您的解決方案,並將元件儲存在原始控制系統中。
確保解決方案版本控制準確無誤,遵循在 Azure Boards 中為團隊實施 Scrum 做法中規定的衝刺 (sprint) 和開發人員準則。 拉取請求的測試結果可以採用螢幕截圖或視頻的形式,用於描述正在構建的功能。 自動化拉取要求治理流程有助於確保程式碼品質,而無需手動審查解決方案版本等基本檢查。
創建範本以提高效率和升階一致性。 團隊運營的所有方面都受益於標準化和簡化,從入職任務和故事審查演示文稿到 旨在節省時間併為團隊在定義使用者故事、功能、錯誤和任務時提供指導的工作項範本 。
評估指標以量化有效性
開發和品質保證團隊只有量化其有效性才能提高。 為了量化有效性,他們必須確定衡量開發人員速度的指標並定義關鍵績效指標 (KPI)。
這些指標的範例包括:
- 提前期:工作或使用者情景從積壓工作部署到生產部署所需的時間。
- 平均解決時間:修復代碼中的 bug 或缺陷所花費的平均時間。
- 更改失敗率:導致失敗的更改的百分比。
為了幫助利害關係人和工作負載團隊輕鬆追蹤速度,請使用儀表板或其他報告工具來視覺化 KPI。
標準化工作負載團隊編寫、審閱和記錄代碼的方式
使用風格指南標準化工作負載團隊編寫、審查和記錄程式碼的方式。 標準風格使協作變得容易,並有助於新開發人員的入職。 為了有效地工作,新開發人員需要了解工作負載團隊的運作方式。 具有明確定義標準的風格指南可以簡化他們的訓練過程。
風格指南應涵蓋:
- 解決方案、工件、控制項、操作、環境、分支和建置的命名約定
- 錯誤處理標準
- 常見模式或程式庫
跟蹤架構決策,以幫助團隊保持對工作負載的新理解,並允許新團隊成員瞭解在工作負載生命週期內做出的設計決策。 在您的架構決策文檔中包括考慮的工具和技術、決策的原因以及決策中考慮的功能和非功能要求。 記錄決定以避免重複解釋或重新與新成員或利害關係人進行討論。
實施解決技術債的標準和指南
平台和技術變化很快,新功能和功能定期推出。 採取這樣的心態:技術債對於工作負載團隊的可交付成果是必要的。 這種心態會激勵您的團隊定期考慮和解決技術債務,以避免累積。 將技術債做為積壓中的定期重複任務來解決。 確保您有適當的流程來保持與平臺更改 (新功能和棄用) 保持同步,並制定如何應對工作負載變化的行動計劃。
例如,產品功能可能會被棄用或被不同版本取代。 工作負載團隊必須優先完成到新功能的過渡,以避免影響工作負載。 團隊可能會構建自定義解決方案或控件,隨著時間的推移,它將成為平臺的一部分。 您的工作負載團隊必須過渡到該平臺功能,這樣可以減少技術債務並維護您自己的工作負載。
使用經過行業驗證的應用程式設計模式來確保您的應用程式可靠、高性能且安全。 使用這些模式可以節省時間和精力,而不是為您的應用程式開發自己的解決方案。 選擇有利於您的工作負載的模式。 定期檢視設計模式,以確保隨著工作負載的變化使用正確的模式。
實作左移測試方法
透過儘早並經常在整個開發過程中執行單元測試來實作左移測試方法。 在每個開發環境中進行頻繁測試可以幫助開發人員對他們的應用程式充滿信心。
為了幫助使用左移方法建立測試策略,請考慮以下原則:
- 在盡可能低的級別編寫測試。 優先使用最少的外部依賴項進行測試,並將測試做為組建的一部分執行。
- 編寫一次測試,並在任何地方運行測試,包括生產環境。 編寫可以在每個開發環境中執行的測試,而無需考慮特定於某一環境的因素,例如加密的機密或設定。
- 設計用於測試的工作負載。 當您開發應用程式時,請將可測試性做為一項要求。
- 考慮基於工作負載擁有權的測試擁有權。 您的工作負載團隊擁有它的測試,不應依賴其他團隊來測試其代碼。
- 盡可能自動化測試。 自動化程式碼減輕了工作負載團隊的負擔並確保品質一致。
請您的工作負載團隊了解與開發和品質保證相關的安全做法。 團隊成員必須無一例外地跟隨這些做法。 有關詳細資訊,請參閱 保護開發生命周期的建議。
Power Platform 簡易化
管道旨在通過 Power Platform 將 ALM 自動化以及持續集成和持續交付 (CI/CD) 功能引入服務,為 Power Platform Dynamics 365 客戶實現應用程式生命週期管理 (ALM) 的大眾化。
Copilot 在管道中生成的部署說明 會生成解決方案摘要並預填部署說明欄位,為查看部署請求或記錄的任何人提供足夠的上下文來了解解決方案的作用及其包含的內容。
Microsoft Power Platform Build Tools for Azure DevOps 可用於自動執行與所構建 Power Platform應用程式相關的常見構建和部署任務。
GitHub Actions 使 Power Platform 開發人員能夠構建自動化的軟體開發生命週期工作流。 借助 Microsoft Power Platform 的 GitHub 動作,您可以在存放庫中建立工作流程,用來組建、測試、打包、發佈及部署應用程式;執行自動化以及管理機器人和 Power Platform 所建立的其他元件。
Power Apps Checker Web API 提供了一種機制,用於針對平臺的 Microsoft Dataverse 自定義項和擴展運行靜態分析檢查。
Test Studio 允許您為畫布應用程式構建端到端 UI 測試。
使用 Azure Pipelines 自動執行測試。
Power CAT Code Review Tool 允許您執行代碼審查。
Power CAT Copilot Studio Kit 允許您設定 Copilot 和測試。 通過針對 Copilot Studio API()Direct Line 運行單個測試,將根據預期結果評估 Copilot 回應。
ALM Accelerator 是一個開源工具,由一組應用程式、腳本和管道組成,旨在自動化持續集成/持續交付過程。
Microsoft Power Platform CLI ( PAC CLI) 是一個命令行工具,支援解決方案的 Power Platform 導入和匯出,以及打包到解決方案源檔和從 Power Platform 解決方案源檔解包。 PAC CLI 可作為 獨立的命令行工具 使用,也可作為 Code Visual Studio 的擴展使用。
其他可以幫助您標準化開發實踐的工具和服務包括:
Azure DevOps,這是一組服務,可用於構建協作、高效且一致的開發實踐。 Azure DevOps 綁定了以下解決方案:
- Azure Pipelines,一種雲服務,提供生成和發佈服務以支援應用程式的 CI/CD。
- Azure Boards,一種基於 Web 的工作管理工具,支援 Scrum 和看板等敏捷實踐。
- Azure Repos,一種支援 Git 分散式版本控制系統和 Team Foundation 版本控制系統的版本控制工具。
- Azure Test Plans,一種基於瀏覽器的測試管理解決方案,提供計劃內手動測試、使用者驗收測試、探索性測試和收集利益幹系人反饋所需的功能。
GitHub Projects,一種工作管理工具,可用於創建看板、報告、儀錶板和其他功能。