Aanbevelingen voor het standaardiseren van tools en processen
Van toepassing op deze aanbeveling voor de Well-Architected Operational Excellence-checklist: Power Platform
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. Het zelf bouwen van deze functies vereist ontwikkeling en voortdurende onderhoud-inspanningen die duurder kunnen uitpakken dan investeren in Beheerde omgevingen.
Gebruik AI-hulpmiddelen wanneer dit praktisch is. AI-tools kunnen helpen bij het ontwikkelen, beoordelen en optimaliseren van code.
Stel een governance-kader op voor co-ontwikkeling
Stel een effectief governancekader voor gezamenlijke 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 ontwikkelaarsdiensten voor ondersteuningsteams om werk te plannen, samen te werken aan codeontwikkeling en applicaties te bouwen en implementeren. 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 de versiebeheer van de oplossing correct is en volg de sprint- en ontwikkelaarsrichtlijnen die zijn uiteengezet in Implementeer Scrum-praktijken voor uw team in Azure Boards. Testresultaten van de pull-aanvraag kunnen bestaan uit schermafbeeldingen 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 voor meer efficiëntie en consistentie in niveau verhogen. Alle aspecten van de werkzaamheden van het team profiteren van standaardisatie en vereenvoudiging, van onboardingtaken 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 het kost om een taak of gebruikersverhaal van de backlog naar een productie-implementatie te brengen.
- Gemiddelde oplossingstijd: de gemiddelde tijd die wordt besteed aan het oplossen van bugs of defecten in code.
- Wijzigingsmislukkingspercentage: Het percentage wijzigingen dat resulteert in een mislukking.
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
Houd architectuurbeslissingen bij, zodat teams een frisse blik op de werklast houden en nieuwe teamleden meer te weten kunnen komen over de ontwerpbeslissingen die tijdens de levenscyclus van de werklast zijn genomen. Vermeld in uw architectuurbeslissingsdocument de tools en technologieën die zijn overwogen, 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 werklast.
Een productfunctie kan bijvoorbeeld verouderd raken of worden vervangen door een andere versie. Het werklastteam moet prioriteit geven aan het voltooien van de overgang naar de nieuwe functie om te voorkomen dat dit gevolgen heeft voor de werklast. Het team kan een aangepaste oplossing of controle bouwen, die na verloop van tijd onderdeel wordt van het platform. Uw werklastteam moet overstappen naar die platformfunctie, waardoor de technische schuld en onderhoud van uw eigen werklast afnemen.
Gebruik door de industrie bewezen applicatieontwerppatronen om ervoor te zorgen dat uw applicatie betrouwbaar, performant 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 ze overal 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 werklast voor testen. Maak bij het ontwikkelen van uw toepassing van testbaarheid een vereiste.
- Denk aan testeigenaarschap, dat gebaseerd is op workloadeigenaarschap. 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 deze praktijken zonder uitzondering volgen toepassen. Meer informatie vindt u in Aanbevelingen voor het beveiligen van een ontwikkelingscyclus.
Power Platform-facilitering
Pipelines zijn bedoeld om Application Lifecycle Management (ALM) te democratiseren voor Power Platform - en Dynamics 365-klanten door ALM-automatisering en CI/CD-mogelijkheden (Continuous Integration and Continuous Delivery) in de service te integreren. Power Platform
Implementatienotities die door Copilot worden gegenereerd in pipelines genereren een oplossingsoverzicht 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 bevat.
Microsoft Power Platform Build Tools voor Azure DevOps kunnen worden gebruikt om algemene build- en implementatietaken te automatiseren die betrekking hebben op apps die zijn gebouwd op Power Platform.
Met GitHub Actions kunnen ontwikkelaars geautomatiseerde workflows voor de levenscyclus van softwareontwikkeling bouwen. Power Platform 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.
Power Apps checker web API biedt een mechanisme om statische analysecontroles uit te voeren op aanpassingen en uitbreidingen van het Microsoft Dataverse platform.
Met Test Studio kunt u end-to-end UI-tests voor uw canvas-app bouwen.
Automatiseer tests met Azure Pipelines.
Met Power CAT Code Review Tool kunt u codebeoordelingen uitvoeren.
Met Power CAT Copilot Studio Kit kunt u copiloten en tests configureren. Door afzonderlijke tests uit te voeren op de Copilot Studio API's (Direct Line) worden de reacties van de copiloot geëvalueerd aan de hand van de verwachte resultaten.
ALM Accelerator is een open-sourcetool die bestaat uit een set applicaties, 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 inpakken en uitpakken van Power Platform bronbestanden van oplossingen ondersteunt. PAC CLI is beschikbaar als een zelfstandige opdrachtregeltool of als een 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 samenwerkende, 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 tool voor werkbeheer die Agile-praktijken zoals Scrum en Kanban ondersteunt.
- Azure Repos, een versiebeheerprogramma dat het gedistribueerde versiebeheersysteem Git en het Team Foundation versiebeheersysteem ondersteunt.
- Azure Test Plans is een browsergebaseerde oplossing voor testbeheer die de mogelijkheden biedt die nodig zijn voor geplande handmatige tests, gebruikersacceptatietests, verkennende tests en het verzamelen van feedback van belanghebbenden.
GitHub projects, een tool voor werkbeheer waarmee u Kanban-borden, rapporten, dashboards en andere functies kunt maken.