Omfamna DevOps-kulturen
Ge utvecklings- och driftteamen möjlighet att kontinuerligt förbättra sin systemdesign och sina processer genom att arbeta tillsammans med ett tankesätt för samarbete, delat ansvar och ägarskap. |
---|
DevOps är en community där mångfald av perspektiv och färdigheter driver mot ett uppdrag. Teamen måste främja en samarbetsmiljö med delad kunskap i stället för siloed learning. Använd delade funktioner för att försöka övervinna resursbegränsningar.
En bra DevOps-kultur frodas på delat ansvar. Utvecklings- och driftsteamen bör anpassa sina mål och prioriteringar till kundernas förväntningar och ha affärsfokus i åtanke. Utvecklingsteamet bör involvera driftsteamet i feedbackloopen så att förbättringarna drivs uppströms och andra team gynnas på samma sätt. Omvänt ansvarar driftteamen för att göra utvecklingsteamet framgångsrikt i sina affärsresultat genom att dela resurser och feedback som är relevanta för arbetsbelastningen.
Samtidigt tillämpar DevOps-metoder tydliga ägarskapslinjer och ansvarstagande för varje team. Oavsett var programmet körs ansvarar arbetsbelastningsteamet för programmet.
DevOps optimerar operativa uppgifter så att de är effektiva men inte betungande. För att dra full nytta av DevOps bör kulturen optimera processer genom teknik och ha processer för personer i organisationen för att främja transparent kommunikation.
Exempelscenario
Contosos personalavdelning (HR) startar ett projekt för att utveckla en ny verksamhetsspecifik app (LOB) för sin avdelnings interna användning. Appen är för närvarande i planeringsfasen, inget design- eller implementeringsarbete har påbörjats ännu.
Samarbeta effektivt
Använd vanliga system och verktyg som främjar en samarbetsmiljö för kommunikation och spårning.
Vanliga verktyg och processer möjliggör transparent kommunikation. Både utvecklings- och driftteam drar nytta av situationsmedvetenhet i olika miljöer, vanliga supportproblem och övergripande utmaningar och vinster.
Teams kommer redan att känna till befintliga eskaleringsvägar om det uppstår en incident.
En delad kvarvarande information gör prioriteringar, till exempel att arbeta med nya funktioner eller åtgärda buggar, tydliga.
Contosos utmaning
- Contoso har tre tekniska team som kommer att delta i utvecklingen och underhållet av den nya appen: utveckling, testning och drift. För närvarande finns det inga standardverktyg för kommunikation och projektspårning som används konsekvent i dessa team.
- Tidigare har varje team kunnat välja sina verktyg. Vissa använder Slack, medan andra använder Microsoft Teams för interna meddelanden. Vissa använder Azure DevOps (ADO) och andra använder Excel för att spåra uppgifter, och varje team använder en annan dokumentlagringsplats från resten för att dela kunskaps- och incidenthanteringsprocedurer.
- I tidigare projekt har den övergripande tekniska organisationen kämpat med kommunikation och samarbete på grund av de olika verktyg som används. Contoso HR vill förbättra produktiviteten och undvika situationer som kan göra projektet långsammare, precis som tidigare.
Tillämpa metoden och resultaten
- Leads från de tekniska teamen träffade projektsponsorerna för att välja de standardverktyg som ska användas framöver. Gruppen valde ADO för att hantera kvarvarande uppgifter, kodlagringsplats och distributionspipeline. De valde även Microsoft Teams för kommunikation och samarbete.
- Med hjälp av en gemensam uppsättning verktyg kan utvecklings-, drifts- och testteamen hålla sig informerade och synkroniserade om statusen för de olika miljöerna, vanliga projektproblem och teamprestationer. Dessutom kan team komma åt information om etablerade eskaleringsvägar i händelse av incidenter från en enda välkänd plats.
- En delad kvarvarande information hjälper också till att planera på ett enhetligt sätt och hålla sig i linje med prioriteringar, till exempel att utveckla nya funktioner eller åtgärda buggar.
Omfamna kontinuerlig förbättring
Skapa ett kontinuerligt utbildnings- och experimenteringstänk under hela utvecklingscykeln. Stöd för kunskapsdelning mellan team och underhåll av dokumentation för återanvändning. Och utför skuldlös analys och debrief efter lanseringen och / eller efter incidentgranskningar.
Genom experimenteringsmekanismer, till exempel A/B-testning och utveckling av konceptbevis, kan du uppmuntra innovation samtidigt som kostnaderna hålls låga.
Dela med dig av kunskap genom samarbete som gör teamet skickligt på designmetoder, verktyg och processer.
Att göra retrospektiv efter ett projekt hjälper till att identifiera områden för förbättring och fira framgång.
Contosos utmaning
- För att ytterligare underlätta informationsdelning och främja en kultur av samarbete och öppenhet vill teamet ha en centraliserad och lättillgänglig sanningskälla för projektdokumentationen. Detta skulle bland annat vara användbart om en ny utvecklare ansluter sig till teamet och snabbt behöver komma igång med projektet.
- Av särskilt intresse för Contoso HR är en önskan att se till att lärdomar från incidenter som påverkar programmets tillgänglighet samlas in och delas i hela den tekniska organisationen för att hjälpa till med framtida incidenter och förhindra upprepning så mycket som möjligt.
- För att undvika att upprepa tidigare misstag när de utformar användarupplevelsen för programmet vill teamet också använda en mer flexibel metod som gör att de kan ta hänsyn till verklig användarfeedback.
Tillämpa metoden och resultaten
- Teamet skapar en wiki för kunskapsdelning i ADO där alla designspecifikationer publiceras tillsammans med alla aktiva operativa procedurer, planer för incidenthantering och retroaktiva resultat.
- Att göra skuldlösa retrospektiv efter incidenter och varje utvecklingst iteration och dokumentera lärdomarna i wikin hjälper projektteamet att identifiera områden för förbättring och fira framgång.
- Teamet har anammat en undersökande metod för användarupplevelsedesignen för det nya programmet och utnyttjat A/B-testning för att hitta den bästa användarupplevelsen av flera varianter som föreslås av UX-konsulterna, med användarfeedback i åtanke för att fatta datadrivna beslut.
Kodifiera procedurer för utveckling och drift
Ange standarder för alla utvecklings- och driftprocedurer och granska och validera dem regelbundet. Dessa procedurer omfattar rutinuppgifter, out-of-band-processer, nödövningar och situationer, val av verktyg, övervakningsprocedurer, kompetensplaner och till och med kommunikation med intressenter och kundinformation. Var avsiktlig och explicit om dina beslut.
Standarder ger förutsägbarhet till åtgärder och gör processer och metoder skalbara. Validering av standarder är ett bra sätt att dra poäng av förbättringar.
Förbered dig för nödsituationer och återställningssituationer genom att utföra regelbundna övningar.
Kör med precision och aktivera styrning för att förhindra avvikelser som leder till risker.
Contosos utmaning
- En av de utmaningar som tidigare har påverkat utvecklingsteamets produktivitet och utdatakvalitet är bristen på standardisering och konsekvens i kodbasen. Till exempel gör avsaknaden av enhetlighet i namngivningskonventioner eller användning av vanliga programvarumönster det svårt för teammedlemmar att förstå varandras kod, och det har påverkat effektiviteten.
- Utan en korrekt dokumenterad gemensam åtgärdsmetod kan driftpersonalen också använda olika metoder för att uppnå samma mål, vilket leder till ineffektivitet och förvirring.
- Contoso HR motiveras av framgången med att implementera andra DevOps-förbättringar och har beslutat att ta itu med problemet som en del av nästa utvecklingscykel.
Tillämpa metoden och resultaten
- Utvecklingsteamet samlas under utvecklingscykeln för att komma överens om en uppsättning utvecklingsstandarder att implementera. De dokumenterar de val som gjorts och börjar tillämpa dem under kodgranskningar och genom verktyg. De tittar på ämnen som: Kodformatering och namngivningskonventioner, felhantering, versionskontroll och säkerhetsrutiner. Teamet planerar att ägna stor uppmärksamhet åt de kvalitetsmått och rapporter som genereras i ADO för att kvantifiera vilken inverkan dessa ändringar kommer att ha på kvalitet och produktivitet, så att de kan bevisa värdet av den här typen av DevOps-förbättringar för ledningsgruppen.
- På samma sätt ägnar driftsteamet tid under samma period för att utöka sin befintliga dokumentation om rutinhantering och felsökningsmetoder och publicera den i wikin. Framöver kommer wikin att fungera som en enda källa till sanning, vilket sparar tid och energi som annars skulle spenderas på att söka efter information.