Del via


Anbefalinger for standardisering av verktøy og prosesser

Gjelder denne Power Platform anbefalingen for Well-Architected Operational Excellence-sjekklisten:

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 funksjonene til verktøyene dine og deres begrensninger, 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 løpende vedlikehold som kan vise seg å være mer kostbart enn å investere i administrerte miljøer.

Bruk AI-verktøy når det er praktisk. KI-verktøy kan hjelpe med kodeutvikling, gjennomganger og optimalisering.

Etablere et styringsrammeverk for samutvikling

Etabler et effektivt rammeverk for styring av felles utvikling for å sikre konsistens og repeterbarhet i utviklerdefinerte prosjekter og fusjonsteam.

Standardisere systemene og fremgangsmåtene for kildekontroll

Ta i bruk et system for kildekodekontroll som Azure DevOps. Azure DevOps Tilbyr utviklertjenester for støtteteam for å planlegge arbeid, samarbeide om kodeutvikling og bygge og distribuere applikasjoner. Eksporter en løsning fra utviklingsmiljøet som inneholder apper og tilpassinger, pakk ut løsningen din, og lagre komponentene i kildekontrollsystemet.

Sørg for at versjonskontroll av løsningen er nøyaktig, i henhold til retningslinjene for sprint og utviklere som er angitt i Implementer Scrum-praksiser for teamet ditt i Azure Boards. Testresultater fra pull-forespørselen kan ha 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.

Lag maler for å levere effektivitet og heve nivå av konsistens. Alle aspekter av teamets drift drar nytte av standardisering og forenkling, fra onboarding-oppgaver 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:

  • Ledetid: Tiden det tar for en oppgave eller brukerhistorie å gå fra etterslepet til en produksjonsdistribusjon.
  • Gjennomsnittlig tid til løsning: Gjennomsnittlig tid som brukes på å fikse feil eller mangler i kode.
  • Endringsfeilfrekvens: Prosentandelen av endringer som resulterer i en 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 utformingsbeslutningene som er tatt i løpet av arbeidsbelastningens livssyklus. Inkluder i beslutningsdokumentet for arkitekturen verktøyene og teknologiene som ble vurdert, årsaken til en beslutning og funksjonelle og ikke-funksjonelle krav som ble tatt med i beslutninger. 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 avskrivninger, og arbeid med en handlingsplan for hvordan du skal håndtere endringer i arbeidsmengden.

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 arbeidsmengden. Teamet kan bygge en tilpasset løsning eller kontroll, som over tid blir en del av plattformen. Arbeidsbelastningsteamet ditt må gå over til denne plattformfunksjonen, noe som reduserer teknisk gjeld og vedlikehold av din egen arbeidsmengde.

Bruk bransjeutprøvde applikasjonsdesignmønstre for å sikre at applikasjonen din er pålitelig, effektiv og sikker. 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.
  • Design arbeidsmengden din for testing. Når du utvikler programmet, må du gjøre testing til at krav.
  • Vurder testeierskap, som er basert på eierskap til arbeidsbelastningen. 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 disse praksisene uten unntak. Finn ut mer i Anbefalinger for å sikre en utviklingslivssyklus.

Tilrettelegging for Power Platform

Pipeliner tar Power Platform sikte på å demokratisere administrasjon av programlivssyklus (ALM) for Power Platform og Dynamics 365-kunder ved å bringe ALM-automatisering og funksjoner for kontinuerlig integrasjon og kontinuerlig levering (CI/CD) inn i tjenesten.

Copilot-genererte distribusjonsnotater i pipeliner genererer et løsningssammendrag og forhåndsutfyller feltet for distribusjonsnotater, noe som gir alle som viser distribusjonsforespørselen eller posten 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 distribusjonsoppgaver relatert til apper bygget på Power Platform.

GitHub Actions for Power Platform gjør det mulig for utviklere å bygge automatiserte arbeidsflyter 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.

Power Apps checker web API gir en mekanisme for å kjøre statiske analysekontroller mot tilpassinger og utvidelser til Microsoft Dataverse plattformen.

Med Test Studio kan du bygge ende-til-ende-tester for brukergrensesnittet for lerretsappen.

Automatiser tester med Azure Pipelines.

Power CAT Code Review Tool lar deg utføre kodegjennomganger.

Power CAT Copilot Studio Kit lar deg konfigurere copiloter og tester. Ved å kjøre individuelle tester mot API-ene Copilot Studio (Direct Line), evalueres copilot-svarene mot forventede resultater.

ALM Accelerator er et åpen kildekode-verktøy som består av et sett med applikasjoner, skript og pipeliner designet for å automatisere den kontinuerlige integrasjons-/kontinuerlige leveringsprosessen.

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 utpakking fra Power Platform løsningskildefiler. PAC CLI er tilgjengelig som et frittstående kommandolinjeverktøy eller som en utvidelse for Visual Studio kode.

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 samarbeidende, effektiv og konsekvent utviklingspraksis. Azure DevOps grupperer følgende løsninger:

    • Azure Pipelines, en skytjeneste som tilbyr kompilerings- og utgivelsestjenester for å støtte CI/CD for programmene dine.
    • Azure Boards, et nettbasert arbeidsadministrasjonsverktøy som støtter smidige praksiser som Scrum og Kanban.
    • Azure Repos, et versjonskontrollverktøy som støtter Git-distribuert versjonskontrollsystem og Team Foundation versjonskontrollsystem.
    • Azure Test Plans, en nettleserbasert testadministrasjonsløsning som gir funksjoner som kreves for planlagt manuell testing, testing av brukeraksept, utforskende testing og innsamling av tilbakemeldinger fra interessenter.
  • GitHub Projects, et arbeidsstyringsverktøy som du kan bruke til å lage Kanban-tavler, rapporter, dashbord og andre funksjoner.

Styring av felles utvikling

Neste trinn