Aanbevelingen voor het standaardiseren van tools en processen
Van toepassing op deze aanbeveling voor de controlelijst voor operationele uitmuntendheid van Power Platform Well-Architected Framework:
OE:04 | Processen voor softwareontwikkeling en kwaliteitsborging optimaliseren door beproefde praktijken voor ontwikkeling en testen te volgen. Voor een ondubbelzinnige rolaanduiding standaardiseert u de werkwijzen voor alle onderdelen, zoals tools, broncodebeheer, toepassingsontwerppatronen, documentatie en stijlgidsen. |
---|
In deze handleiding worden de aanbevelingen beschreven voor het definiëren van standaarden voor ontwikkelingstools en -processen. Door consistente procedures te definiëren ontstaat een efficiënt workloadteam en wordt werk van hoge kwaliteit geleverd. Goed presterende teams gebruiken in de branche beproefde tools en processen om verspilde inspanningen en potentiële codefouten tot een minimum te beperken.
Belangrijke ontwerpstrategieën
De eerste stap om ontwikkelingspraktijken te optimaliseren is het standaardiseren van tools en processen. Gebruik waar mogelijk in de sector bewezen oplossingen in plaats van uw eigen oplossingen te ontwikkelen. Zorg dat u training hebt voor alle gestandaardiseerde tools en processen om ervoor te zorgen dat uw teams deze efficiënt kunnen gebruiken.
Overweeg de volgende aanbevelingen om standaarden te definiëren die u helpen uw ontwikkelingspraktijken te optimaliseren.
Gebruik tools die beschikbaar zijn op het platform
Geef prioriteit aan het gebruik van Power Platform Tools en gebruik anders bekende en volwassen kant-en-klare tools, en standaardiseer het gebruik ervan. Zeer effectieve technische teams maken gebruik van de allerbeste tools. Vermijd het ontwikkelen van oplossingen voor planning, ontwikkeling, testen en samenwerking. Kies tools die voldoen aan de vereisten voor uw workload.
Tools moeten de volgende functies bieden:
- Werkplanning en backlogbeheer
- Versiebeheer en opslagplaatsen
- Implementatiepipelines
- Testen
- Codeontwikkeling en -beoordeling
In sommige gevallen kan één tool of een reeks tools meerdere functies bieden. Zorg ervoor dat u de mogelijkheden en beperkingen van uw tools begrijpt, zodat ze voldoen aan uw vereisten voor alle functies.
Bepaal of u moet investeren in premiumfuncties van het platform of in premiumversies van tools. Houd rekening met de tijd en moeite die het kost om uw eigen oplossingen te ontwikkelen, vergeleken met de functies die de premiumtools bieden. Denk aan eenmalige kosten versus terugkerende kosten. In de meeste gevallen bieden kant-en-klare tools meer waarde voor uw team. Zo biedt Beheerde omgevingen bijvoorbeeld kant-en-klare functies om een onboarding-bericht voor makers in te stellen of het delen proactief te beperken. Als u deze functies zelf bouwt, zijn er ontwikkelings- en onderhoudswerkzaamheden nodig. Deze kunnen duurder uitpakken dan investeren in beheerde omgevingen.
Gebruik AI-tools wanneer dat praktisch uitvoerbaar is. AI-tools kunnen helpen bij het ontwikkelen, beoordelen en optimaliseren van code.
Een governanceframework instellen voor co-ontwikkeling
Stel een effectief governanceframework voor co-ontwikkeling in om consistentie en herhaalbaarheid te garanderen in door makers gedefinieerde projecten en fusieteams.
Uw broncontrolesysteem en -procedures standaardiseren
Neem een broncodecontrolesysteem in gebruik, zoals Azure DevOps. Azure DevOps biedt ontwikkelaarservices voor ondersteuningsteams bij het plannen van werk, samenwerken aan codeontwikkeling en het bouwen en implementeren van toepassingen. Exporteer een oplossing vanuit uw ontwikkelomgeving met uw apps en aanpassingen, pak uw oplossing uit en sla de onderdelen op in uw bronbeheersysteem.
Zorg ervoor dat het versiebeheer van de oplossing accuraat is en dat de richtlijnen worden gevolgd voor sprints en ontwikkelaars die zijn uiteengezet in Scrum-procedures implementeren voor uw team in Azure Boards. Testresultaten van de pull-aanvraag kunnen bestaan uit schermopnamen of video's die de functionaliteit die wordt gebouwd, laten zien. Het automatiseren van het governanceproces voor de pull-aanvraag helpt de kwaliteit van de code te garanderen zonder dat een handmatige beoordeling van basiscontroles nodig is, zoals oplossingsversies.
Maak sjablonen om efficiëntie te leveren en consistentie te bevorderen. Alle aspecten van de werkzaamheden van het team profiteren van standaardisatie en vereenvoudiging, van onboardingstaken en presentaties van verhaalbeoordelingen tot werkitemsjablonen die zijn ontworpen om tijd te besparen en teams te begeleiden bij het definiëren van gebruikersverhalen, functies, bugs en taken.
Metrische gegevens evalueren om effectiviteit te kwantificeren
Ontwikkelings- en kwaliteitsborgingsteams kunnen alleen verbeteren als ze hun effectiviteit kwantificeren. Om de effectiviteit te kwantificeren, moeten ze de metrische gegevens identificeren die de snelheid van ontwikkelaars meten en key performance indicators (KPI's) definiëren.
Voorbeelden van deze metrische gegevens zijn:
- Doorlooptijd: de tijd die nodig is voordat een taak of gebruikersverhaal van de backlog naar een productie-implementatie gaat.
- Gemiddelde tijd tot oplossing: de gemiddelde tijd die wordt besteed aan het oplossen van bugs of defecten in code.
- Foutpercentage van wijzigingen: het percentage wijzigingen dat tot een fout leidt.
Om belanghebbenden en het workloadteam te helpen de snelheid eenvoudig bij te houden, kunt u KPI's visualiseren met behulp van dashboards of andere rapportagetools.
De manier standaardiseren waarop uw workloadteam code schrijft, beoordeelt en documenteert
Standaardiseer de manier waarop uw workloadteam code schrijft, beoordeelt en documenteert met een stijlgids. Een standaardstijl maakt samenwerking eenvoudig en helpt bij het onboarden van nieuwe ontwikkelaars. Om effectief te kunnen werken, moeten nieuwe ontwikkelaars weten hoe het workloadteam werkt. Een stijlgids met duidelijk gedefinieerde standaarden kan hun trainingsproces vergemakkelijken.
In de stijlgids moet het volgende worden opgenomen:
- Naamgevingsconventies voor oplossingen, artefacten, besturingselementen, acties, omgevingen, vertakkingen en builds
- Standaarden voor foutafhandeling
- Algemene patronen of bibliotheken
Lees meer over Power Automate-coderingsrichtlijnen en Power Apps-coderingsrichtlijnen.
Tip
Gebruik de Power CAT Toolkit om codebeoordelingen uit te voeren. De toolkit bevat veel van de coderingsrichtlijnen uit deze documentatie, zodat uw oplossingen efficiënt en onderhoudbaar zijn. De toolkit markeert automatisch patronen die niet aan deze best practices voldoen, zodat u potentiële problemen al vroeg in het ontwikkelingsproces kunt aanpakken. Deze proactieve aanpak verbetert de kwaliteit van uw code en stroomlijnt het beoordelingsproces. Hierdoor kunt u eenvoudiger hoge standaarden in uw projecten handhaven. Door de Power CAT Toolkit te integreren in uw ontwikkelworkflow, zorgt u ervoor dat uw oplossingen op een solide basis worden gebouwd en dat de oplossingen betrouwbaarder en schaalbaarder worden.
Volg architectuurbeslissingen, zodat teams een frisse blik op de workload houden en nieuwe teamleden meer te weten kunnen komen over de ontwerpbeslissingen die tijdens de levenscyclus van de workload zijn genomen. Vermeld in uw architectuurbeslissingsdocument de tools en technologieën die in overweging zijn genomen, de reden voor een beslissing en de functionele en niet-functionele vereisten die in de beslissingen zijn meegenomen. Leg beslissingen vast om te voorkomen dat uitleg moet worden herhaald of zaken opnieuw moeten worden besproken met nieuwe leden of belanghebbenden.
Standaarden en richtlijnen implementeren voor het aanpakken van technische problemen
Het platform en de technologie veranderen snel en er komen regelmatig nieuwe functies en mogelijkheden bij. Neem de houding aan dat technische problemen noodzakelijk zijn voor de resultaten van uw workloadteam. Deze houding motiveert uw team om technische problemen regelmatig in aanmerking te nemen en aan te pakken om accumulatie te voorkomen. Behandel technische problemen als een regelmatig terugkerende taak in de backlog. Zorg ervoor dat u over processen beschikt om op de hoogte te blijven van platformwijzigingen, zowel nieuwe als verouderde functies, en stel een actieplan op voor de aanpak van wijzigingen in uw workload.
Een productfunctie kan bijvoorbeeld verouderd raken of worden vervangen door een andere versie. Het workloadteam moet prioriteit geven aan het voltooien van de overgang naar de nieuwe functie om te voorkomen dat dit gevolgen heeft voor de workload. Het team kan een aangepaste oplossing of controle bouwen, die na verloop van tijd onderdeel wordt van het platform. Uw workloadteam moet overstappen naar die platformfunctie, waardoor de technische schuld en het onderhoud van uw eigen workload worden verlaagd.
Gebruik in de sector bewezen toepassingsontwerppatronen om ervoor te zorgen dat uw toepassing betrouwbaar, krachtig en veilig is. Gebruik deze patronen om tijd en moeite te besparen in plaats van uw eigen oplossingen voor uw toepassing te ontwikkelen. Kies de patronen die uw workload ten goede komen. Controleer ontwerppatronen regelmatig om ervoor te zorgen dat u de juiste patronen gebruikt wanneer uw workload evolueert.
Een shift-left-benadering voor tests implementeren
Implementeer een shift-left-benadering voor tests door testen van units vroeg en vaak tijdens het ontwikkelingsproces uit te voeren. Regelmatig testen in elke ontwikkelomgeving helpt ontwikkelaars vertrouwen te krijgen in hun toepassingen.
Om u te helpen bij het opstellen van uw teststrategie met een shift-left-benadering, kunt u de volgende principes in aanmerking nemen:
- Schrijf tests op het laagst mogelijke niveau. Geef de voorkeur aan tests met de minste externe afhankelijkheden en voer tests uit als onderdeel van de build.
- Schrijf tests één keer en voer overal tests uit, ook in productie. Schrijf tests die u in elke ontwikkelomgeving kunt uitvoeren zonder rekening te houden met factoren die specifiek zijn voor één omgeving, zoals gecodeerde geheimen of configuraties.
- Ontwerp uw workload voor testen. Maak bij het ontwikkelen van uw toepassing van testbaarheid een vereiste.
- Overweeg testeigendom, dat is gebaseerd op workloadeigendom. Uw workloadteam is verantwoordelijk voor het testen en mag niet afhankelijk zijn van andere teams om de code te testen.
- Automatiseer tests zoveel mogelijk. Geautomatiseerde code verlicht de last voor uw workloadteam en zorgt voor consistente kwaliteit.
Vereis dat uw workloadteam de beveiligingspraktijken met betrekking tot ontwikkeling en kwaliteitsborging begrijpt. Teamleden moeten zich zonder uitzondering aan deze richtlijnen houden. Meer informatie vindt u in Aanbevelingen voor het beveiligen van een ontwikkelingscyclus.
Power Platform-facilitering
Pijplijnen in Power Platform zijn erop gericht het beheer van de toepassingslevenscyclus (ALM) voor Power Platform en Dynamics 365-klanten te democratiseren door ALM-automatisering en mogelijkheden voor continue integratie en continue levering (CI/CD) in de service te introduceren.
Door Copilot gegenereerde implementatienotities in pipelines genereren een oplossingenoverzicht en vullen het veld met implementatienotities vooraf in. Zo heeft iedereen die de implementatieaanvraag bekijkt of registreert voldoende context om te begrijpen wat de oplossing doet en wat deze omvat.
Microsoft Power Platform Build Tools voor Azure DevOps kunnen worden gebruikt om veelvoorkomende build- en implementatietaken met betrekking tot apps op Power Platform te automatiseren.
Met GitHub Actions voor Power Platform kunnen ontwikkelaars geautomatiseerde werkstromen bouwen voor de levenscyclus van softwareontwikkeling. Met GitHub-acties voor Microsoft Power Platform kunt u werkstromen in uw opslagplaats maken om apps te bouwen, te testen, te verpakken, vrij te geven, te implementeren, automatisering uit te voeren en bots en andere onderdelen gebouwd op Power Platform te beheren.
Web-API Power Apps-controle biedt een mechanisme om statische analysecontroles uit te voeren voor aanpassingen en uitbreidingen van het Microsoft Dataverse-platform.
Test Studio stelt u in staat end-to-end tests voor gebruikersinterfaces te maken voor uw canvas-app.
Tests automatiseren met Azure Pipelines.
Power CAT-tool voor het beoordelen van code stelt u in staat codebeoordelingen uit te voeren.
Met Power CAT Copilot Studio Kit kunt u agenten en tests configureren. Door afzonderlijke tests uit te voeren op de Copilot Studio API's (Direct Line), wordt de agentrespons geëvalueerd ten opzichte van de verwachte resultaten.
ALM Accelerator is een opensource-tool die bestaat uit een reeks toepassingen, scripts en pijplijnen die zijn ontworpen om het continue integratie-/continue leveringsproces te automatiseren.
Microsoft Power Platform CLI (PAC CLI) is een opdrachtregeltool die het importeren en exporteren van Power Platform-oplossingen en het in- en uitpakken van Power Platform-bronbestanden van oplossingen ondersteunt. PAC CLI is beschikbaar als zelfstandig opdrachtregelprogramma of als extensie voor Visual Studio Code.
Andere tools en services die u kunnen helpen uw ontwikkelingspraktijken te standaardiseren zijn onder meer:
Azure DevOps, een verzameling services die u kunt gebruiken om een op samenwerking gerichte, efficiënte en consistente ontwikkelingspraktijk op te bouwen. Azure DevOps bundelt de volgende oplossingen:
- Azure Pipelines, een cloudservice die build- en releaseservices biedt ter ondersteuning van CI/CD van uw toepassingen.
- Azure Boards, een webgebaseerde werkbeheertool die Agile-praktijken zoals Scrum en Kanban ondersteunt.
- Azure-opslagplaatsen, een versiebeheertool die het gedistribueerde Git-versiebeheersysteem en het systeem Team Foundation Version Control ondersteunt.
- Azure Test Plans is een browsergebaseerde oplossing voor testbeheer die mogelijkheden biedt die nodig zijn voor geplande handmatige tests, gebruikersacceptatietests, exploratieve tests en het verzamelen van feedback van belanghebbenden.
GitHub Projects, een werkbeheertool die u kunt gebruiken om Kanbanborden, rapporten, dashboards en andere functies te maken.
Gerelateerde informatie
Governance voor gezamenlijke ontwikkeling