Anbefalinger for standardisering av verktøy og prosesser
Gjelder denne Power Platform Well-Architected Framework Operational Excellence-sjekklisteanbefalingen:
OE:04 | Optimaliser prosesser for programvareutvikling og kvalitetssikring ved å følge fremgangsmåter for utvikling og testing som er anerkjente i bransjen. Du oppnår utvetydig rollebetegnelse ved å standardisere fremgangsmåter på tvers av komponenter, for eksempel verktøy, kildekontroll, programutformingsmønstre, dokumentasjon og stilveiledninger. |
---|
Denne veiledningen beskriver anbefalingene for å definere standarder for utviklingsverktøy og -prosesser. Hvis du definerer konsekvente fremgangsmåter, fører dette til en effektiv arbeidsbelastningsgruppe og arbeid av høy kvalitet. Høyytelsesteam bruker verktøy og prosesser som er dokumentert i bransjen, til å redusere bortkastet innsats og potensielle kodefeil.
Viktige utformingsstrategier
Det første trinnet i å optimalisere utviklingspraksisen er å standardisere verktøy og prosesser. Når det er mulig, kan du bruke bransjedokumenterte løsninger i stedet for å utvikle dine egne. Sørg for opplæring for å sikre at teamene kan bruke dem effektivt for alle standardiserte verktøy og prosesser.
Hvis du vil definere standarder som bidrar til å optimalisere utviklingspraksisen, kan du vurdere følgende anbefalinger:
Bruke verktøy som er tilgjengelige for plattformen
Prioriter bruk av Power Platform tools, og bruk ellers velkjente og velbrukte verktøy som er tilgjengelig for alle, og standardiser bruken. Svært effektive ingeniørteam bruker de beste verktøyene i klassen. Unngå å utvikle løsninger for planlegging, utvikling, testing og samarbeid. Velg verktøy som oppfyller kravene for din arbeidsbelastning.
Verktøy skal ha følgende funksjoner:
- Administrasjon av arbeidsplanlegging og etterslep
- Versjonskontroll og repositorier
- Utrullingskanaler
- Tester
- Kodeutvikling og -gjennomgang
I noen tilfeller kan ett verktøy eller en verktøypakke ha flere funksjoner. Sørg for at du forstår funksjonaliteten til verktøyene dine og begrensningene deres, slik at de oppfyller kravene dine på tvers av funksjoner.
Avgjør om du bør investere i premiumfunksjoner på plattformen eller premiumversjoner av verktøy. Vurder tiden og innsatsen for å utvikle dine egne løsninger sammenlignet med funksjoner som premiumverktøyene gir. Vurder engangskostnader i forhold til regelmessige kostnader. I de fleste tilfeller gir standardverktøyene høyere verdi for teamet. Administrerte miljøer tilbyr for eksempel bruksklare funksjoner for å \\\angi en pålastingsmelding eller for å begrense deling proaktivt. Å bygge disse funksjonene selv krever utvikling og kontinuerlig vedlikeholdsarbeid som kan vise seg å være dyrere enn å investere i administrerte miljøer.
Bruk KI-verktøy når det er praktisk. KI-verktøy kan hjelpe med kodeutvikling, gjennomganger og optimalisering.
Etablere et styringsrammeverk for samutvikling
Etablere et effektivt rammeverk for samutviklingsstyring for å sikre konsistens og repeterbarhet i produsentdefinerte prosjekter og fusjonsteam.
Standardisere systemene og fremgangsmåtene for kildekontroll
Ta i bruk et system for kildekodekontroll som Azure DevOps. Azure DevOps inneholder utviklingstjenester for støtteteam for å planlegge arbeid, samarbeide på kodeutvikling og utvikle og rulle ut apper. Eksporter en løsning fra utviklingsmiljøet som inneholder apper og tilpassinger, pakk ut løsningen din, og lagre komponentene i kildekontrollsystemet.
Kontroller at løsningsversjonskontroll er nøyaktig ved å følge retningslinjene for sprint og utviklere som er angitt i Implementer Scrum-praksis for teamet ditt i Azure Boards. Testresultatene fra pull-forespørselen kan være i form av skjermbilder eller videoer som viser funksjonaliteten som bygges. Automatisering av prosessen for styring av henteforesoørsel hjelper deg med å sikre kodekvalitet uten å kreve manuell gjennomgang av grunnleggende kontroller, for eksempel løsningsversjoner.
Opprett maler for å levere effektivitet og fremme ensartethet. Alle aspekter av teamets drift drar nytte av standardisering og forenkling, fra introduksjonsoppgaver og historiegjennomgangspresentasjoner til arbeidselementmaler designet for å spare tid og gi veiledning til team når de definerer brukerhistorier, funksjoner, feil og oppgaver.
Evaluere metrikkverdier for å kvantifisere effektivitet
Utviklings- og kvalitetssikringsteam kan bare forbedres når de kvantifiserer effektiviteten. For å kvantifisere effektivitet må de identifisere metrikkverdiene som måler utviklerhastigheten, og definere KPI-er (viktige ytelsesindikatorer).
Eksempler på disse metrikkverdiene inkluderer:
- Leveringstid: Tiden det tar for en oppgave eller brukerhistorie å gå fra restanse til en produksjonsutrulling.
- Gjennomsnittstid til løsning: Den gjennomsnittlige tiden som brukes på å rette feil i koden.
- Feilfrekvens for endringer: Prosentandel av endringer som fører til feil.
For å hjelpe interessenter og arbeidsbelastningsteamet med å spore hastigheten, kan du visualisere KPI-er ved hjelp av instrumentbord eller andre rapporteringsverktøy.
Standardisere hvordan arbeidsbelastningsteamet skriver, ser gjennom og dokumenterer kode
Standardisere hvordan arbeidsbelastningsteamet skriver, ser gjennom og dokumenterer kode ved å bruke en stilveiledning. En standardstil gjør samarbeid enkelt og hjelper nye utviklere med å komme i gang. For å fungere effektivt må nye utviklere vite hvordan arbeidsbelastningsteamet fungerer. En stilveiledning med klart definerte standarder kan forenkle opplæringsprosessen.
Stilveiledningen skal dekke følgende:
- Navnekonvensjoner for løsninger, artefakter, kontroller, handlinger, miljøer, grener og builder
- Feilhåndteringsstandarder
- Vanlige mønstre eller biblioteker
Hold oversikt over arkitekturbeslutninger for å hjelpe team med å opprettholde en ny forståelse av arbeidsbelastningen og la nye teammedlemmer lære om designbeslutningene som tas i løpet av arbeidsbelastningens livssyklus. Inkluder i beslutningsdokumentet for arkitektur verktøyene og teknologiene som ble vurdert, årsaken til en beslutning og funksjonelle og ikke-funksjonelle krav som ble tatt med i beslutningene. Registrer avgjørelser for å unngå å repetere forklaringer eller gå tilbake til diskusjoner med nye medlemmer eller interessenter.
Implementere standarder og retningslinjer for å håndtere teknisk gjeld
Plattformen og teknologien endres raskt, med nye funksjoner og funksjoner rulles ut regelmessig. Vedta et tankesett om at teknisk gjeld er nødvendig for arbeidsbelastningsteamets leveringer. Dette tankesettet motiverer teamet ditt til å vurdere og håntere teknisk gjeld regelmessig for å unngå akkumulering. Håndter teknisk gjeld som en regelmessig oppgave i restanse. Sørg for at du har prosesser på plass for å holde deg oppdatert med plattformendringer, både nye funksjoner og avskrivinger, og arbeid med en handlingsplan for hvordan du håndterer endringer i arbeidsbelastningen.
En produktfunksjon kan for eksempel bli avskrevet eller erstattet med en annen versjon. Arbeidsbelastningsteamet må prioritere å fullføre overgangen til den nye funksjonen for å unngå å påvirke arbeidsbelastningen. Teamet kan bygge en egendefinert løsning eller kontroll, som over tid blir en del av plattformen. Arbeidsbelastningsteamet ditt må gå over til den plattformfunksjonen, noe som reduserer teknisk gjeld og vedlikehold av din egen arbeidsbelastning.
Bruk bransjedokumenterte programutformingsmønstre for å sikre at programmet er pålitelig, effektivt og sikkert. Bruk disse mønstrene til å spare tid og anstrengelser i stedet for å utvikle dine egne løsninger for programmet. Velg mønstrene som er til nytte for arbeidsbelastningen. Gå regelmessig gjennom utformingsmønstre for å sikre at du bruker de riktige mønstrene etter hvert som arbeidsbelastningen utvikler seg.
Implementere en flytt-til-venstre-metode for testing
Implementer en flytt-til-venstre-metode for testing ved å utføre enhetstesting tidlig og ofte gjennom hele utviklingsprosessen. Hyppig testing i hvert utviklingsmiljø hjelper utviklere med å få tillit til programmene sine.
For å hjelpe deg med å lage teststrategien med en flytt-til-venstre-tilnærming, kan du vurdere følgende prinsipper:
- Skriv tester på lavest mulig nivå. Favoriser tester med færrest eksterne avhengigheter, og kjør tester som en del av builden.
- Skriv tester én gang, og kjør tester overalt, inkludert produksjon. Skriv tester som du kan kjøre i hvert utviklingsmiljø uten å ta hensyn til faktorer som er spesifikke for ett miljø, for eksempel krypterte hemmeligheter eller konfigurasjoner.
- Utform arbeidsbelastningen for testing. Når du utvikler programmet, må du gjøre testing til at krav.
- Vurder testeierskap, som er basert på eierskap til arbeidsbelastning. Arbeidsbelastningsteamet ditt eier testingen og bør ikke stole på at andre team tester koden.
- Automatiser tester så mye som mulig. Automatisert kode påtar seg belastningen på arbeidsbelastningsteamet og opprettholder konsekvent kvalitet.
Krev at arbeidsbelastningsteamet ditt forstår sikkerhetspraksisen relatert til utvikling og kvalitetssikring. Teammedlemmer må følge denne praksisen uten unntak. Finn ut mer i Anbefalinger for å sikre en utviklingslivssyklus.
Tilrettelegging for Power Platform
Pipeliner i Power Platform tar sikte på å demokratisere administrasjon av programlivssyklus for Power Platform- og Dynamics 365-kunder ved å innføre ALM-automatisering og kontinuerlig integrasjon og kontinuerlig levering (CI/CD) inn i tjenesten.
Copilot-genererte utrullingsnotater i pipeliner genererer et løsningssammendrag og fyller ut feltet for utrullingsnotater på forhånd, slik at alle som viser utrullingsforespørselen eller registrerer, får nok kontekst til å forstå hva løsningen gjør, og hva den inneholder.
Microsoft Power Platform Build Tools for Azure DevOps kan brukes til å automatisere vanlige kompilerings- og utrullingsoppgaver relatert til apper som er basert på Power Platform.
GitHub-handlinger for Power Platform gjør det mulig for utviklere å bygge automatiske arbeidsflyter for livssyklus for programvareutvikling. Med GitHub-handlinger for Microsoft Power Platform kan du opprette arbeidsflyter i lageret for å bygge, teste, pakke, distribuere og distribuere apper, utføre automatisering og administrere automatiseringer og andre komponenter som er innebygd i Power Platform.
Nett-API-en for Power Apps-kontroll gir en mekanisme for å kjøre statiske analysekontroller mot tilpassinger og utvidelser til Microsoft Dataverse-plattformen.
Test Studio lar deg bygge ende-til-ende-tester for brukergrensesnittet til lerretsapper.
Automatiser tester med Azure-forløp.
Verktøyet for Power CAT-kodegjennomgang gjør det mulig å utføre kodegjennomganger.
Bruk Power CAT Copilot Studio-pakke gjør det mulig å konfigurere agenter og tester. Ved å kjøre individuelle tester mot Copilot Studio-API-ene (Direct Line), evalueres agentsvarene mot forventede resultater.
ALM Accelerator er et verktøy med åpen kildekode som består av et sett med programmer, skripter og kanaler som er utformet for å automatisere prosessen for kontinuerlig integrasjon / kontinuerlig levering.
Microsoft Power Platform CLI (PAC CLI) er et kommandolinjeverktøy som støtter import og eksport av Power Platform-løsninger, og pakking til og fra Power Platform-løsningskildefiler. PAC CLI er tilgjengelig som et frittstående kommandolinjeverktøy eller som en utvidelse for Visual Studio Code.
Andre verktøy og tjenester som kan hjelpe deg med å standardisere utviklingspraksisen, omfatter følgende:
Azure DevOps, en samling tjenester som du kan bruke til å bygge en kollaborativ, effektiv og konsistent utviklingspraksis. Azure DevOps grupperer følgende løsninger:
- Azure Pipelines, en skytjeneste som tilbyr bygge- og utgivelsestjenester for å støtte CI/CD for programmene dine.
- Azure Boards, et nettbasert verktøy for arbeidsbehandling som støtter smidige fremgangsmåter som Scrum og Kanban.
- Azure Repos, et versjonskontrollverktøy som støtter Git-distribuert versjonskontrollsystem og Team Foundation Version Control-systemet.
- Azure Test Plans, en nettleserbasert løsning for testadministrasjon med funksjoner som kreves for planlagt manuell testing, testing av brukergodkjenning, utforskende testing og innsamling av tilbakemelding fra interessenter.
GitHub-prosjekter, et verktøy for arbeidsbehandling som du kan bruke til å opprette Kanban-tavler, rapporter, instrumentbord og andre funksjoner.