Freigeben über


Empfehlungen für die Standardisierung von Tools und Prozessen

Gilt für die Empfehlungen dieser Power Platform Well-Architected Operational Excellence-Checkliste

OE:04 Optimieren Sie die Softwareentwicklungs- und Qualitätssicherungsprozesse, indem Sie branchenerprobte Verfahren für Entwicklung und Tests befolgen. Um eine eindeutige Rollenzuweisung zu gewährleisten, standardisieren Sie Vorgehensweisen für alle Komponenten, wie etwa Werkzeuge, Quellcodeverwaltung, Anwendungsentwurfsmuster, Dokumentation und Stilhandbücher.

In diesem Leitfaden werden die Empfehlungen zum Definieren von Standards für Entwicklungstools und -prozesse beschrieben. Die Definition konsistenter Methoden führt zu einem effizienten Workloadteam und einer qualitativ hochwertigen Arbeit. Leistungsstarke Teams verwenden branchenerprobte Tools und Prozesse, um verschwendeten Aufwand und potenzielle Codefehler zu minimieren.

Wichtige Designstrategien

Der erste Schritt zur Optimierung von Entwicklungsmethoden ist die Standardisierung von Tools und Prozessen. Verwenden Sie nach Möglichkeit branchenerprobte Lösungen, anstatt eigene Lösungen zu entwickeln. Bieten Sie für alle standardisierten Tools und Prozesse Schulungen an, damit Ihre Teams sie effizient nutzen können.

Berücksichtigen Sie die folgenden Empfehlungen, um Standards zu definieren, die zur Optimierung Ihrer Entwicklungsmethoden beitragen.

Verwenden Sie für die Plattform verfügbare Tools

Verwenden Sie vorzugsweise Power Platform Tools oder ansonsten bekannte und ausgereifte Tools von der Stange, und standardisieren Sie deren Verwendung. Hochwirksame Entwicklungsteams nutzen die besten Tools der Klasse. Vermeiden Sie es, Lösungen für Planung, Entwicklung, Tests und Zusammenarbeit zu entwickeln. Wählen Sie Tools aus, die die Anforderungen für Ihre Workload erfüllen.

Die Tools sollten die folgenden Funktionen bieten:

  • Arbeitsplanung und Backlogverwaltung
  • Versionskontrolle und Repositorys
  • Bereitstellungspipelines
  • Tests
  • Codeentwicklung und -überprüfung

In einigen Fällen kann ein Tool oder eine Suite von Tools mehrere Funktionen bereitstellen. Stellen Sie sicher, dass Sie die Funktionen Ihrer Tools und deren Einschränkungen verstehen, damit sie Ihre Anforderungen funktionsübergreifend erfüllen.

Bestimmen Sie, ob Sie in Premiumfunktionen der Plattform oder Premiumversionen von Tools investieren sollten. Berücksichtigen Sie Zeit und Aufwand für die Entwicklung eigener Lösungen im Vergleich zu den Funktionen, die die Premium-Tools bieten. Berücksichtigen Sie Einmalkosten im Vergleich zu wiederkehrenden Kosten. In den meisten Fällen bieten Standardtools ihrem Team einen höheren Wert. So bieten verwaltete Umgebungen zum Beispiel Standardfunktionen zum Festlegen einer Onboarding-Nachricht für Ersteller oder zum proaktiven Beschränken der Freigabe. Diese Funktionen selbst zu erstellen, erfordert einen Entwicklungs- und laufenden Wartungsaufwand, der sich als kostspieliger erweisen kann als die Investition in verwaltete Umgebungen.

Verwenden Sie KI-Tools, wenn es sich anbietet. KI-Tools können bei der Entwicklung, Überprüfung und Optimierung von Code hilfreich sein.

Einen Governance-Rahmen für die gemeinsame Entwicklung schaffen

Richten Sie ein effektives Governance-Framework für die gemeinsame Entwicklung ein, um Konsistenz und Wiederholbarkeit in vom Entwickler definierten Projekten und Fusionsteams sicherzustellen.

Quellcodeverwaltungssystem und Methoden standardisieren

Führen Sie ein Quellcodeverwaltungssystem, z. B. Azure DevOps, ein. Azure DevOps bietet Entwicklerdienste für Supportteams, um die Arbeit zu planen, bei der Codeentwicklung zusammenzuarbeiten und Anwendungen zu erstellen und bereitzustellen. Eine Lösung aus Ihrer Entwicklungsumgebung exportieren, die Ihre Apps und Anpassungen enthält, Ihre Lösung entpacken und die Komponenten in Ihrem Versionsverwaltungssystem speichern.

Stellen Sie eine genaue Lösungsversionierung sicher, folgen Sie den Sprint- und Entwicklerrichtlinien, entsprechend de Implementierung der Scrum-Methoden für Ihr Team in Azure Boards. Die Testergebnisse der Pull-Anforderung können in Form von Screenshots oder Videos vorliegen, die die erstellte Funktionalität veranschaulichen. Durch die Automatisierung des Governance-Prozesses für Pull-Anforderungen wird die Codequalität sichergestellt, ohne dass eine manuelle Überprüfung einfacher Tests wie Lösungsversionen erforderlich ist.

Erstellen Sie Vorlagen für mehr Effizienz und Konsistenz. Alle Aspekte der Abläufe des Teams profitieren von Standardisierung und Vereinfachung, von Onboarding-Aufgaben und dem Überprüfen von Story-Präsentationen bis hin zu Arbeitsaufgabenvorlagen, die Zeit sparen und Teams bei der Definition von User Storys, Funktionen, Fehlern und Aufgaben anleiten sollen.

Auswerten von Metriken zur Quantifizierung der Effizienz

Entwicklungs- und Qualitätssicherungsteams können sich nur verbessern, wenn sie ihre Effektivität quantifizieren können. Um die Effektivität zu quantifizieren, müssen sie die Metriken identifizieren, die die Entwicklergeschwindigkeit messen und Key Performance Indicators (KPIs) definieren.

Beispiele für diese Metriken sind:

  • Durchlaufzeit: Die Zeit, die benötigt wird, bis eine Aufgabe oder ein Benutzerabschnitt vom Backlog zu einer Produktionsbereitstellung wechselt.
  • Durchschnittliche Zeit bis zur Lösung: Die durchschnittliche Zeit, die für die Behebung von Fehlern oder Fehlern im Code aufgewendet wird.
  • Änderungsfehlerrate: Der Prozentsatz der Änderungen, die zu einem Fehler führen.

Damit die Beteiligten und das Workloadteam die Geschwindigkeit problemlos nachverfolgen können, visualisieren Sie KPIs mithilfe von Dashboards oder anderen Berichterstellungstools.

Standardisieren, wie Ihr Workloadteam Code schreibt, überprüft und dokumentiert

Standardisieren Sie mithilfe eines Stilleitfadens, wie Ihr Workloadteam Code schreibt, überprüft und dokumentiert. Ein Standardstil erleichtert die Zusammenarbeit und hilft beim Onboarding neuer Entwickler. Um effektiv zu arbeiten, müssen neue Entwickler wissen, wie das Workloadteam arbeitet. Ein Stilleitfaden mit klar definierten Standards kann den Trainingsprozess vereinfachen.

Der Stilleitfaden sollte Folgendes abdecken:

  • Namenskonventionen für Lösungen, Artefakte, Steuerelemente, Aktionen, Umgebungen, Branches und Builds
  • Fehlerbehandlungsstandards
  • Gängige Muster oder Bibliotheken

Behalten Sie den Überblick über Architekturentscheidungen, um Teams dabei zu helfen, ein neues Verständnis der Workload aufrechtzuerhalten und neuen Teammitgliedern die Möglichkeit zu geben, sich über die Designentscheidungen zu informieren, die während des Lebenszyklus der Workload getroffen wurden. Beziehen Sie in Ihr Architekturentscheidungsdokument die in Betracht gezogenen Tools und Technologien, den Grund für eine Entscheidung sowie funktionale und nicht-funktionale Anforderungen, die in die Entscheidungen einflossen, mit ein. Protokollieren Sie Entscheidungen, um wiederholte Erklärungen oder Diskussionen mit neuen Mitgliedern oder Beteiligten zu vermeiden.

Implementieren von Standards für technischen Aufwand

Die Plattform und die Technologie ändern sich schnell, regelmäßig werden neue Features und Funktionen eingeführt. Machen Sie sich klar, dass der technische Aufwand für die Leistungen Ihres Workloadteams unerlässlich ist. Diese Denkweise motiviert Ihr Team, den technischen Aufwand regelmäßig zu berücksichtigen und anzugehen, um eine Akkumulation zu vermeiden. Betrachten Sie den technischen Aufwand als eine regelmäßig wiederkehrende Aufgabe im Backlog. Stellen Sie sicher, dass Sie über Prozesse verfügen, um bei Plattformänderungen, sowohl bei neuen Funktionen als auch bei veralteten Funktionen, auf dem neuesten Stand zu bleiben, und arbeiten Sie an einem Aktionsplan, wie Sie mit Änderungen in Ihrer Workload umgehen können.

Eine Produktfunktion kann zum Beispiel veraltet oder durch eine andere Version ersetzt werden. Das Workload-Team muss den Abschluss des Übergangs auf die neue Funktion priorisieren, um Beeinträchtigungen der Workload zu vermeiden. Das Team kann eine benutzerdefinierte Lösung oder ein benutzerdefiniertes Steuerelement erstellen, das im Laufe der Zeit Teil der Plattform wird. Ihr Workload-Team muss auf diese Plattformfunktion umstellen, wodurch der technische Aufwand und die Wartung Ihrer eigenen Workload verringert werden.

Verwenden Sie branchenerprobte Anwendungsentwurfsmuster, um sicherzustellen, dass Ihre Anwendung zuverlässig, leistungsfähig und sicher ist. Verwenden Sie diese Muster, um Zeit und Aufwand im Vergleich zur Entwicklung eigener Lösungen für Ihre Anwendung zu sparen. Wählen Sie die Muster aus, die zu Ihrer Workload passen. Überprüfen Sie regelmäßig Entwurfsmuster, um sicherzustellen, dass Sie die richtigen Muster verwenden, während sich Ihre Workload weiterentwickelt.

Shift-Left-Ansatz für Tests implementieren

Implementieren Sie einen Shift-Left-Ansatz für Tests, indem Sie Komponententests frühzeitig und häufig während des gesamten Entwicklungsprozesses durchführen. Häufige Tests in jeder Entwicklungsumgebung helfen Entwicklern, Vertrauen in ihre Anwendungen zu gewinnen.

Berücksichtigen Sie die folgenden Prinzipien bei der Erstellung Ihrer Teststrategie mit einem Shift-Left-Ansatz:

  • Schreiben Sie Tests auf der niedrigsten möglichen Ebene. Bevorzugen Sie Tests mit den wenigsten externen Abhängigkeiten, und führen Sie Tests als Teil des Builds aus.
  • Schreiben Sie Tests einmal, und führen Sie Tests überall aus, einschließlich der Produktion. Schreiben Sie Tests, die Sie in jeder Entwicklungsumgebung ausführen können, ohne Faktoren zu berücksichtigen, die für eine Umgebung spezifisch sind, z. B. verschlüsselte Schlüssel oder Konfigurationen.
  • Entwerfen Sie Ihre Workload für Tests. Wenn Sie Ihre Anwendung entwickeln, müssen Sie die Testbarkeit als Anforderung festlegen.
  • Berücksichtigen Sie den Testbesitz, der auf dem Besitz der Workload basiert. Ihr Workload-Team ist für die Tests verantwortlich und sollte sich nicht darauf verlassen, dass andere Teams den Code testen.
  • Automatisieren Sie Tests so weit wie möglich. Automatisierter Code entlastet Ihr Workloadteam und erzwingt konsistente Qualität.

Ihre Workloadteam muss sich mit den Sicherheitspraktiken im Zusammenhang mit Softwareentwicklung und Qualitätssicherung vertraut machen.+ Die Teammitglieder müssen diese Praktiken ausnahmslos befolgen. Weitere Informationen finden Sie unter Empfehlungen zum Sichern eines Entwicklungslebenszyklus.

Umsetzung in Power Platform

Pipelines in Power Platform zielen darauf ab, den Anwendungslebenszyklus (ALM) für Power Platform- und Dynamics 365-Kunden zu demokratisieren, indem ALM-Automatisierung sowie Continuous Integration- und Continuous Delivery-Funktionen (CI/CD) in den Dienst integriert werden.

Von Copilot generierte Bereitstellungshinweise in Pipelines generieren eine Lösungszusammenfassung und füllen das Feld für Bereitstellungshinweise vorab aus, sodass jeder, der die Bereitstellungsanforderung oder den Datensatz anzeigt, genügend Kontext erhält, um zu verstehen, was die Lösung tut und was sie enthält.

Microsoft Power Platform Build Tools für Azure DevOps können verwendet werden, um allgemeine Build- und Bereitstellungsaufgaben in Verbindung mit auf Power Platform basierenden Apps zu automatisieren.

GitHub Actions für Power Platform ermöglichen es Entwicklern, Workflows für den automatisierten Softwareentwicklungs-Lebenszyklus zu erstellen. Mit GitHub-Aktionen für Microsoft Power Platform können Sie Workflows in Ihrem Repository erstellen, um Apps zu erstellen, zu testen, zu paketieren, freizugeben und bereitzustellen, Automatisierungen durchzuführen und Bots und andere Komponenten zu verwalten, die auf Power Platform erstellt wurden.

Die Power Apps-Überprüfungs-Web-API bietet einen Mechanismus für das Ausführen statischer Analyseprüfungen hinsichtlich Anpassungen und Erweiterungen für die Microsoft Dataverse-Plattform.

Erstellen Sie mithilfe von Test Studio End-to-End-Tests für die Benutzeroberfläche Ihrer Canvas-App.

Tests mit Azure Pipelines automatisieren.

Mit dem Power CAT Code Review Tool können Sie Codeüberprüfungen durchführen.

Verwenden Sie das Power CAT Copilot Studio Kit, um Agenten und Tests zu konfigurieren. Durch das Ausführen einzelner Tests für die Copilot Studio APIs (Direct Line), werden die Agent-Antworten anhand der erwarteten Ergebnisse ausgewertet.

ALM-Beschleuniger ist ein Open Source-Tool, das aus einer Reihe von Anwendungen, Skripten und Pipelines zur Automatisierung des kontinuierlichen Integrations-/Bereitstellungsprozesses besteht.

Microsoft Power Platform CLI (PAC CLI) ist ein Befehlszeilentool, das den Import und Export von Power Platform Lösungen sowie das Packen in und Entpacken aus Power Platform Lösungsquelldateien unterstützt. PAC CLI ist als eigenständiges Befehlszeilentool oder als Erweiterung für Visual Studio Code verfügbar.

Weitere Tools und Dienste, die Ihnen bei der Standardisierung Ihrer Entwicklungsmethoden helfen können:

  • Azure DevOps, eine Sammlung von Diensten, mit denen Sie eine gemeinsame, effiziente und konsistente Entwicklungsmethode erstellen können. Azure DevOps bündelt folgende Lösungen:

    • Azure Pipelines, ein Cloud-Dienst, der Build- und Releasedienste zur Unterstützung der CI/CD Ihrer Anwendungen bietet.
    • Azure-Boards, ein webbasiertes Arbeitsverwaltungstool, das agile Praktiken wie Scrum und Kanban unterstützt.
    • Azure Repos, ein Versionsverwaltungstool, das das verteilte Versionskontrollsystem von Git und das Versionskontrollsystem von Team Foundation unterstützt.
    • Azure Test Plans, eine browserbasierte Testverwaltungslösung, die Funktionen bietet, die für geplante manuelle Tests, Benutzerakzeptanztests, explorative Tests und das Sammeln von Feedback von Stakeholdern erforderlich sind.
  • GitHub Projects, ein Arbeitsverwaltungstool, mit dem Sie Kanban-Boards, Berichte, Dashboards und weitere Funktionen erstellen können.

Co-Development-Governance

Nächste Schritte,