共用方式為


標準化工具和流程的建議

適用於此 Power Platform Well-Architected 卓越營運檢查清單建議:

OE:04 透過遵循經過產業驗證的開發和測試做法,來最佳化軟體開發和品質保證流程。 對於明確的角色指定,請跨元件 (如工具、原始檔空置、應用程式設計模式、文件和樣式指南) 來標準化實踐。

本指南描述了定義開發工具和程序標準的建議。 定義一致的做法可以帶來高效率的工作負載團隊和高品質的工作。 高績效團隊使用經過行業驗證的工具和流程來最大限度地減少浪費的精力和潛在的程式碼錯誤。

關鍵設計原則

最佳化開發做法的第一步是標準化工具和流程。 只要有可能,請使用經過行業驗證的解決方案,而不是開發自己的解決方案。 對於所有標準化工具和程序,提供練習以確保您的團隊能夠有效地使用它們。

若要定義有助於最佳化開發做法的標準,請考慮以下建議。

使用平台可用的工具

最佳化使用 Power Platform Tools,否則使用眾所周知且成熟的現成工具,並標準化其使用。 高效率的工程團隊採用一流的工具。 避免開發用於規劃、開發、測試和協作的解決方案。 選擇滿足您的工作負載要求的工具。

工具應提供以下功能:

  • 工作計畫和待辦項目管理
  • 版本控制和儲存庫
  • 部署管線
  • 正在測試
  • 程式碼開發和審查

在某些情況下,一個工具或一套工具可能提供多種功能。 確保您了解工具的功能及其局限性,以便它們能夠滿足您各項功能的要求。

確定您是否應該投資平台的高級功能或工具的高級版本。 與高級工具提供的功能相比,請考慮開發自己的解決方案所需的時間和精力。 考慮一次性成本與經常性成本。 在大多數情況下,現成的工具可以為您的團隊提供更高的價值。 例如,受控環境提供開箱即用的功能來設定創客加入訊息或主動限制共用。 自己建立這些功能需要開發和持續的維護工作,這可能比投資受控環境更昂貴。

在切實可行的情況下使用 AI 工具。 AI 工具可以幫助程式碼開發、審查和最佳化。

建立共同發展的治理框架

建立有效的共同開發治理框架,以確保製作者定義的專案和整合團隊的一致性和可重複性。

標準化您的原始碼控制系統和最法

採用 Azure DevOps 等原始碼控制系統。 Azure DevOps 為支援團隊提供開發人員服務,以規劃工作、協作程式碼開發以及建置和部署應用程式。 從您的開發環境匯出解決方案,其中包含您的應用程式和自訂、打開您的解決方案,並將元件儲存在原始控制系統中。

確保解決方案版本控制準確,並遵循在 Azure Boards 中為您的團隊實施 Scrum 實務中規定的衝刺和開發人員指南。 提取請求的測試結果可以採用螢幕擷取畫面或影片的形式,描述正在建構的功能。 自動化拉取要求治理流程有助於確保程式碼品質,而無需手動審查解決方案版本等基本檢查。

建立範本以提高效率並促進一致性。 團隊運作的各個方面都受益於標準化和簡化,從入職工作和故事評審示範到旨在節省時間並在定義使用者故事、功能、錯誤和工作時為團隊提供指導的工作項目範本

評估指標以量化有效性

開發和品質保證團隊只有量化其有效性才能提高。 為了量化有效性,他們必須確定衡量開發人員速度的指標並定義關鍵績效指標 (KPI)。

這些指標的範例包括:

  • 前置時間:工作或使用者故事從積壓到生產部署所需的時間。
  • 平均解決時間:修復程式碼中的錯誤或缺陷所花費的平均時間。
  • 變更失敗率:導致失敗的變更的百分比。

為了幫助利害關係人和工作負載團隊輕鬆追蹤速度,請使用儀表板或其他報告工具來視覺化 KPI。

標準化工作負載團隊編寫、審閱和記錄代碼的方式

使用風格指南標準化工作負載團隊編寫、審查和記錄程式碼的方式。 標準風格使協作變得容易,並有助於新開發人員的入職。 為了有效地工作,新開發人員需要了解工作負載團隊的運作方式。 具有明確定義標準的風格指南可以簡化他們的訓練過程。

風格指南應涵蓋:

  • 解決方案、工件、控制項、操作、環境、分支和建置的命名約定
  • 錯誤處理標準
  • 常見模式或程式庫

追蹤架構決策,以幫助團隊保持對工作負載的全新理解,並讓新團隊成員了解工作負載生命週期內所做的設計決策。 在您的架構決策文件中包含所考慮的工具和技術、決策的原因以及決策中考慮的功能性和非功能性需求。 記錄決定以避免重複解釋或重新與新成員或利害關係人進行討論。

實施解決技術債的標準和指南

平台和技術變化很快,新功能和功能定期推出。 採取這樣的心態:技術債對於工作負載團隊的可交付成果是必要的。 這種心態會激勵您的團隊定期考慮和解決技術債務,以避免累積。 將技術債做為積壓中的定期重複任務來解決。 確保您已製定流程來跟上平台變化 (包括新功能和棄用功能),並制定動作計劃來應對工作負載的變化。

例如,產品功能可能會被棄用或被不同版本取代。 工作負載團隊必須優先完成向新功能的過渡,以避免影響工作負載。 該團隊可能會建立自訂解決方案或控制,隨著時間的推移,它會成為平台的一部分。 您的工作負載團隊必須過渡到該平台功能,以降低技術債務和您自己的工作負載的維護。

使用業界驗證的應用程式設計模式來確保您的應用程式可靠、高效能且安全。 使用這些模式可以節省時間和精力,而不是為您的應用程式開發自己的解決方案。 選擇有利於您的工作負載的模式。 定期檢視設計模式,以確保隨著工作負載的變化使用正確的模式。

實作左移測試方法

透過儘早並經常在整個開發過程中執行單元測試來實作左移測試方法。 在每個開發環境中進行頻繁測試可以幫助開發人員對他們的應用程式充滿信心。

為了幫助使用左移方法建立測試策略,請考慮以下原則:

  • 盡可能以最低的等級編寫測試。 優先使用最少的外部依賴項進行測試,並將測試做為組建的一部分執行。
  • 編寫一次測試,即可在任何地方執行測試,包括生產。 編寫可以在每個開發環境中執行的測試,而無需考慮特定於某一環境的因素,例如加密的機密或設定。
  • 設計您的測試工作負載。 當您開發應用程式時,請將可測試性做為一項要求。
  • 考慮測試所有權,它基於工作量所有權。 您的工作負載團隊負責自己的測試,而不應依賴其他團隊來測試其程式碼。
  • 盡可能實現自動化測試。 自動化程式碼減輕了工作負載團隊的負擔並確保品質一致。

請您的工作負載團隊了解與開發和品質保證相關的安全做法。 團隊成員必須毫無例外地遵守這些做法。 如需進一步了解,請參閱確保開發生命週期安全的建議

Power Platform 簡易化

Power Platform 中的管線旨在透過將 ALM 自動化和持續整合和持續交付 (CI/CD) 功能引入服務中,為 Power Platform 和 Dynamics 365 客戶實現應用程式生命週期管理 (ALM) 的民主化。

管線中由 Copilot 產生的部署說明會產生解決方案摘要並預填部署說明欄位,讓查看部署請求或記錄的任何人都能獲得足夠的背景資訊來了解該解決方案的作用和內容。

適用於 Azure DevOps的 Microsoft Power Platform Build Tools 可用於自動執行與在 Power Platform 上建置的應用程式相關的常見建置和部署工作。

適用於 Power Platform 的 GitHub Actions 使開發人員能夠建立自動化的軟體開發生命週期工作流程。 借助 Microsoft Power Platform 的 GitHub 動作,您可以在存放庫中建立工作流程,用來組建、測試、打包、發佈及部署應用程式;執行自動化以及管理機器人和 Power Platform 所建立的其他元件。

Power Apps 檢查工具 Web API 提供了一種針對 Microsoft Dataverse 平台的客製化和擴充功能執行靜態分析檢查的機制。

Test Studio 允許您為畫布應用程式建立端對端 UI 測試。

使用 Azure Pipelines 自動執行測試

Power CAT 程式碼審查工具可讓您執行程式碼審查。

Power CAT Copilot Studio Kit 可讓您設定代理程式和測試。 透過針對 Copilot Studio API 執行單獨的測試 (Direct Line),可以根據預期結果評估代理程式回應。

ALM Accelerator 是一個開源工具,由一組應用程式、指令碼和管線組成,旨在自動化持續整合/持續交付流程。

Microsoft Power Platform CLI (PAC CLI) 是一個命令列工具,支援 Power Platform 解決方案的匯入和匯出,以及封裝和解封裝 Power Platform 解決方案原始檔。 PAC CLI 可作為獨立命令列工具Visual Studio Code 的擴充功能使用。

其他可以幫助您標準化開發實踐的工具和服務包括:

  • Azure DevOps,您可以使用一組服務來建立協作、高效且一致的開發實踐。 Azure DevOps 綁定了以下解決方案:

    • Azure Pipelines 是一種雲端服務,提供建置和發佈服務以支援應用程式的 CI/CD。
    • Azure Boards 是一款以 Web 為基礎的工作管理工具,支援 Scrum 和 Kanban 等敏捷實踐。
    • Azure Repos 是一個版本控制工具,支援 Git 分散式版本控制系統和 Team Foundation 版本控制系統。
    • Azure Test Plans 是一種基於瀏覽器的測試管理解決方案,提供計劃手動測試、使用者驗收測試、探索性測試以及收集利害關係人意見反應所需的功能。
  • GitHub Projects 是一個工作管理工具,您可以使用它來建立看板、報表、儀表板和其他功能。

共同開發治理

後續步驟