Embrace DevOps-kultur

Fuldført
Gør udviklings- og driftsteams i stand til løbende at forbedre deres systemdesign og -processer ved at arbejde sammen med et mindset af samarbejde, delt ansvar og ejerskab.

DevOps er et community af praksis, hvor mangfoldighed af perspektiv og færdigheder fører mod én mission. Teams skal fremme et samarbejdsmiljø med delt viden i stedet for silobaseret læring. Brug delte funktioner til at stræbe efter at overvinde ressourcebegrænsninger.

En god DevOps-kultur trives med delt ansvar. Udviklings- og driftsteams skal tilpasse deres mål og prioriteter til deres kunders forventninger og holde forretningsfokus for øje. Udviklingsteamet skal involvere driftsteamet i feedbackløkken, så forbedringerne er drevet opstrøms, og andre teams får lige stor fordel af det. Omvendt er driftsteams ansvarlige for at gøre udviklingsteamet vellykket i deres forretningsresultater ved at dele ressourcer og feedback, der er relevante for arbejdsbelastningen.

Samtidig anvender DevOps-praksisser klare retningslinjer for ejerskab og ansvarlighed for hvert team. Uanset hvor programmet kører, er arbejdsbelastningsteamet ansvarlig for det pågældende program.

DevOps optimerer driftsopgaver, så de er effektive, men ikke besværlige. For at få det fulde udbytte af DevOps skal kulturen optimere processer via teknologi og have processer, så personer i organisationen kan fremme gennemsigtig kommunikation.

eksempel på scenarie

Contosos HR-afdeling igangsætter et projekt for at udvikle en ny line of business-app (LOB) til afdelingens interne brug. Appen er i øjeblikket i planlægningsfasen, intet design- eller implementeringsarbejde er begyndt endnu.

Samarbejd effektivt

Brug almindelige systemer og værktøjer, der fremmer et samarbejdsmiljø til kommunikation og sporing af status.

Almindelige værktøjer og processer muliggør gennemsigtig kommunikation. Både udviklings- og driftsteams drager fordel af situationsforståelse på tværs af forskellige miljøer, almindelige supportproblemer og overordnede udfordringer og vinder.

Teams kender allerede eksisterende eskaleringsstier, hvis der er en hændelse.

En delt efterslæb gør prioriteter, f.eks. arbejde med nye funktioner eller rettelse af fejl, tydelige.

Contosos udfordring

  • Contoso har tre tekniske teams, der vil være involveret i udviklingen og vedligeholdelsen af den nye app: udvikling, test og drift. Der er i øjeblikket ingen standardværktøjer til kommunikation og projektsporing, der bruges konsekvent på tværs af disse teams.
  • Historisk set har hvert team været i stand til at vælge deres foretrukne værktøjer. Nogle bruger Slack, mens andre bruger Microsoft Teams til interne beskeder. Nogle bruger Azure DevOps (ADO) og andre bruger Excel til at spore opgaver, og hvert team bruger et andet dokumentlager fra resten til at dele viden og procedurer for svar på hændelser.
  • I tidligere projekter har den overordnede tekniske organisation kæmpet med kommunikation og samarbejde på grund af de forskellige værktøjer, der bruges. Fremover vil Contoso HR gerne forbedre produktiviteten og undgå situationer, der kan bremse projektet, som dem, der tidligere er opstået.

Anvendelse af tilgangen og resultaterne

  • Kundeemner fra de tekniske teams mødtes med projektsponsorerne for at vælge de standardværktøjer, der fremover skal bruges. Gruppen valgte ADO til at administrere deres backlog, kodelager og udrulningspipeline. De valgte også Microsoft Teams til kommunikation og samarbejde.
  • Brug af et fælles sæt værktøjer gør det muligt for udviklings-, drifts- og testteams at holde sig informeret og synkroniseret om status for de forskellige miljøer, almindelige projektproblemer og teamresultater. Desuden kan teams få adgang til oplysninger om etablerede eskaleringsforløb i tilfælde af hændelser fra en enkelt kendt placering.
  • En delt efterslæb hjælper også med at planlægge og holde sig på linje med prioriteter, f.eks. udvikling af nye funktioner eller rettelse af fejl.

Omfavn løbende forbedringer

Byg et kontinuerligt lærings- og eksperimentations mindset gennem hele udviklingscyklussen. Understøtter videndeling på tværs af teams, og vedligehold dokumentation til genbrug. Og udfør fejlfri analyse og debriefing efter udgivelse og/eller anmeldelser efter hændelser.

Gennem eksperimenteringsmekanismer, f.eks. A/B-test og udvikling af blåstempling, kan du tilskynde til innovation og samtidig holde omkostningerne nede.

Del viden gennem samarbejde, der gør teamet effektivt inden for designmetoder, værktøjer og processer.

At gøre retrospektiver efter et projekt hjælper med at identificere områder til forbedring og fejre succes.

Contosos udfordring

  • For yderligere at lette informationsdelingen og fremme en samarbejds- og gennemsigtighedskultur vil teamet gerne have en centraliseret og lettilgængelig kilde til sandheden for projektdokumentationen. Det ville blandt andet være nyttigt, hvis en ny udvikler tilmelder sig teamet og hurtigt skal komme i gang med projektet.
  • Af særlig interesse for Contoso HR er et ønske om at sikre, at læring fra hændelser, der påvirker tilgængeligheden af programmet, registreres og deles på tværs af hele den tekniske organisation for at hjælpe med fremtidige hændelser og forhindre gentagelse så meget som muligt.
  • For at undgå at gentage tidligere fejl, der designer brugeroplevelsen i programmet, ønsker teamet også at bruge en mere fleksibel tilgang, der gør det muligt for dem at tage reel brugerfeedback i betragtning.

Anvendelse af tilgangen og resultaterne

  • Teamet bygger en wiki til deling af viden i ADO, hvor alle designspecifikationer vil blive sendt sammen med alle aktive driftsprocedurer, planer for svar på hændelser og retrospektive resultater.
  • Det hjælper projektteamet med at identificere områder til forbedring og fejre succesen, hvis man udfører fejlfri retrospektiver efter hændelser og hver udvikling og dokumenterer læringerne i wikien.
  • Teamet har omfavnet en udforskende tilgang til brugeroplevelsesdesignet for den nye applikation ved at udnytte A/B-test til at finde den bedste brugeroplevelse ud af flere varianter, der er foreslået af UX-konsulenterne, og taget brugerfeedback i betragtning for at træffe datadrevne beslutninger.

Kodificer procedurer for udvikling og drift

Sæt standarder for alle udviklings- og driftsprocedurer, og gennemse og valider dem med en regelmæssig kadence. Disse procedurer omfatter rutineopgaver, out-of-band-processer, nødudledning og situationer, valg af værktøjer, overvågningsprocedurer, kvalifikationsplaner og endda kommunikation med interessenter og kundeoplysninger. Vær bevidst og eksplicit om dine beslutninger.

Standarder gør handlinger forudsigelige og gør processer og fremgangsmåder skalerbare. Validering af standarder er en god måde at trække punkter på forbedring.

Vær forberedt på nødsituationer og genoprettelsessituationer ved at udføre regelmæssige øvelser.

Udfør med præcision, og aktivér styring for at forhindre uregelmæssigheder, der fører til risici.

Contosos udfordring

  • En af de udfordringer, der tidligere har påvirket udviklingsteamets produktivitet og outputkvalitet, er manglende standardisering og ensartethed i kodebasen. For eksempel gør manglen på ensartethed i navngivningskonventioner eller brugen af almindelige softwaremønstre det svært for teammedlemmer at forstå hinandens kode, og det har påvirket effektiviteten.
  • Uden en korrekt dokumenteret fælles tilgang til operationer kan medarbejderne desuden anvende forskellige metoder til at nå det samme mål, hvilket fører til ineffektivitet og forvirring.
  • Motiveret af den succes, de har haft med at implementere andre DevOps-forbedringer, har Contoso HR besluttet at håndtere dette problem som en del af den næste udviklingscyklus.

Anvendelse af tilgangen og resultaterne

  • Udviklingsteamet mødes under udviklingscyklussen for at blive enige om et sæt udviklingsstandarder, der skal implementeres. De dokumenterer de foretagne valg og begynder at gennemtvinge dem under kodegennemgange og ved hjælp af værktøjer. De ser på emner som: Kodeformatering og navngivningskonventioner, fejlhåndtering, versionsstyring og sikkerhedspraksisser. Teamet planlægger at være meget opmærksom på de kvalitetsmålepunkter og rapporter, der genereres i ADO, for at kvantificere den indvirkning, disse ændringer vil have på kvalitet og produktivitet, så de kan bevise værdien af denne type DevOps-forbedringer til deres ledelsesteam.
  • På samme måde dedikerer operationsteamet tid i samme periode til at udvide deres eksisterende dokumentation om rutinestyring og fejlfindingspraksisser og publicere den i wikien. Fremadrettet vil wikien fungere som en enkelt kilde til sandhed, hvilket sparer tid og energi, der ellers ville blive brugt på at søge efter oplysninger.