DevOps-cultuur omarmen

Voltooid
Ontwikkel- en operationele teams in staat stellen om hun systeemontwerp en -processen continu te verbeteren door samen te werken met een mindset van samenwerking, gedeelde verantwoordelijkheid en eigendom.

DevOps is een community van praktijk waarbij diversiteit van perspectief en vaardigheden de weg naar één missie aanstuurt. Teams moeten een samenwerkingsomgeving van gedeelde kennis bevorderen in plaats van leren in silo's. Gebruik gedeelde functies om te streven naar het overwinnen van resourcebeperkingen.

Een goede DevOps-cultuur bloeit op gedeelde verantwoordelijkheid. Ontwikkelings- en operationele teams moeten hun doelstellingen en prioriteiten afstemmen op de verwachtingen van hun klanten en rekening houden met zakelijke aandacht. Het ontwikkelingsteam moet het operationele team in de feedbacklus betrekken, zodat de verbeteringen upstream worden aangestuurd en andere teams gelijk profiteren. Operations-teams zijn daarentegen verantwoordelijk voor het succesvol maken van het ontwikkelteam in hun bedrijfsresultaten door resources en feedback te delen die relevant zijn voor de workload.

Tegelijkertijd passen DevOps-procedures duidelijke regels van eigendom en verantwoordelijkheid toe voor elk team. Ongeacht waar de toepassing wordt uitgevoerd, is het workloadteam verantwoordelijk voor die toepassing.

DevOps optimaliseert operationele taken, zodat ze effectief maar niet lastig zijn. Om optimaal te profiteren van DevOps, moet de cultuur processen optimaliseren via technologie en processen hebben voor mensen in de organisatie om transparante communicatie te bevorderen.

Voorbeeldscenario

De afdeling Human Resources (HR) van Contoso start een project om een nieuwe LOB-app (Line-Of-Business) te ontwikkelen voor intern gebruik van hun afdeling. De app bevindt zich momenteel in de planningsfase, er is nog geen ontwerp- of implementatiewerkzaamheden gestart.

Efficiënt samenwerken

Gebruik algemene systemen en hulpprogramma's die een samenwerkingsomgeving bevorderen voor communicatie en het bijhouden van de voortgang.

Veelgebruikte hulpprogramma's en processen maken transparante communicatie mogelijk. Zowel ontwikkelings- als operationele teams profiteren van situatiebewustheid in verschillende omgevingen, veelvoorkomende ondersteuningsproblemen en algemene uitdagingen en overwinningen.

Teams is al bekend met bestaande escalatiepaden als er een incident is.

Een gedeelde achterstand maakt prioriteiten, zoals het werken aan nieuwe functies of het oplossen van fouten, duidelijk.

De uitdaging van Contoso

  • Contoso heeft drie technische teams die betrokken zijn bij de ontwikkeling en het onderhoud van de nieuwe app: ontwikkeling, test en bewerkingen. Momenteel zijn er geen standaardhulpprogramma's voor communicatie en projecttracking die consistent worden gebruikt in deze teams.
  • In het verleden heeft elk team hun hulpprogramma's naar keuze kunnen selecteren. Sommige gebruiken Slack, terwijl anderen Microsoft Teams gebruiken voor interne berichten. Sommige gebruiken Azure DevOps (ADO) en andere gebruiken Excel om taken bij te houden, en elk team gebruikt een andere documentopslagplaats van de rest om kennis- en incidentresponsprocedures te delen.
  • In het verleden heeft de algehele technische organisatie moeite met communicatie en samenwerking vanwege de verschillende hulpprogramma's die worden gebruikt. In de toekomst wil Contoso HR de productiviteit verbeteren en situaties voorkomen die het project kunnen vertragen, zoals eerder.

De aanpak en resultaten toepassen

  • Leads van de technische teams ontmoetten de projectsponsoren om de standaardhulpmiddelen te kiezen die in de toekomst zullen worden gebruikt. De groep heeft ADO gekozen om hun achterstand, codeopslagplaats en implementatiepijplijn te beheren. Ze kozen ook voor Microsoft Teams voor communicatie en samenwerking.
  • Met behulp van een algemene set hulpprogramma's kunnen de ontwikkel-, bewerkings- en testteams op de hoogte blijven en synchroon blijven over de status van de verschillende omgevingen, veelvoorkomende projectproblemen en teamprestaties. Bovendien hebben teams toegang tot informatie over vastgestelde escalatiepaden in geval van incidenten vanaf één bekende locatie.
  • Een gedeelde achterstand helpt ook om uniform te plannen en afgestemd te blijven op prioriteiten, zoals het ontwikkelen van nieuwe functies of het oplossen van fouten.

Continue verbetering omarmen

Bouw een continue leer- en experimenteringsmentaliteit tijdens de ontwikkelingscyclus. Ondersteuning voor het delen van kennis in teams en het onderhouden van documentatie voor hergebruik. En voer schuldloze analyses uit en debrief na release en/of incidentbeoordelingen.

Met experimenteermechanismen, zoals A/B-tests en het ontwikkelen van proofs of concept, kunt u innovatie stimuleren terwijl de kosten laag blijven.

Deel kennis via samenwerking die het team bekwaam maakt in ontwerpbenaderingen, hulpprogramma's en processen.

Het uitvoeren van retrospectieven na een project helpt bij het identificeren van gebieden voor verbetering en het vieren van succes.

De uitdaging van Contoso

  • Om het delen van informatie verder te vergemakkelijken en een cultuur van samenwerking en transparantie te bevorderen, wil het team een gecentraliseerde en gemakkelijk toegankelijke bron van waarheid voor de projectdocumentatie hebben. Dit zou onder andere handig zijn als een nieuwe ontwikkelaar lid wordt van het team en snel aan de slag moet met het project.
  • Contoso HR is van bijzonder belang om ervoor te zorgen dat leertrajecten van incidenten die van invloed zijn op de beschikbaarheid van de toepassing, worden vastgelegd en gedeeld in de hele technische organisatie om toekomstige incidenten te helpen en terugkeerpatroon zoveel mogelijk te voorkomen.
  • Om te voorkomen dat eerdere fouten worden herhaald bij het ontwerpen van de gebruikerservaring van de toepassing, wil het team ook een flexibelere benadering gebruiken waarmee ze echte feedback van gebruikers in overweging kunnen nemen.

De aanpak en resultaten toepassen

  • Het team bouwt een wiki voor het delen van kennis in ADO, waar alle ontwerpspecificaties worden geplaatst, samen met alle actieve operationele procedures, incidentresponsplannen en retrospectief resultaat.
  • Het uitvoeren van schuldloze retrospectieven na incidenten en elke iteratie van ontwikkeling en het documenteren van de lessen in de wiki helpt het projectteam om gebieden voor verbetering te identificeren en succes te vieren.
  • Het team heeft een verkennende benadering van het ontwerp van de gebruikerservaring voor de nieuwe toepassing omarmd, waarbij gebruik wordt gemaakt van A/B-tests om de beste gebruikerservaring te vinden uit verschillende varianten die door de UX-consultants worden voorgesteld, waarbij gebruikersfeedback in overweging wordt genomen om gegevensgestuurde beslissingen te nemen.

Procedures voor ontwikkeling en bewerkingen codificeren

Stel standaarden in voor alle ontwikkelings- en operationele procedures en controleer en valideer ze regelmatig. Deze procedures omvatten routinetaken, out-of-band processen, noodanalyses en situaties, keuze van hulpprogramma's, bewakingsprocedures, vaardigheidsplannen en zelfs communicatie met belanghebbenden en openbaarmakingen van klanten. Wees opzettelijk en expliciet over uw beslissingen.

Standaarden voegen voorspelbaarheid toe aan bewerkingen en maken processen en procedures schaalbaar. Het valideren van standaarden is een uitstekende manier om punten van verbetering te tekenen.

Wees voorbereid op noodsituaties en herstelsituaties door regelmatige oefeningen uit te voeren.

Voer met precisie uit en schakel governance in om afwijkingen te voorkomen die tot risico's leiden.

De uitdaging van Contoso

  • Een van de uitdagingen die de productiviteit en uitvoerkwaliteit van het ontwikkelingsteam in het verleden hebben beïnvloed, is een gebrek aan standaardisatie en consistentie in de codebasis. Het ontbreken van uniformiteit in naamconventies of het gebruik van algemene softwarepatronen maakt het bijvoorbeeld moeilijk voor teamleden om elkaars code te begrijpen en dat heeft invloed op de efficiëntie.
  • Bovendien kunnen de operationele medewerkers, zonder een goed gedocumenteerde gemeenschappelijke aanpak, verschillende methoden gebruiken om hetzelfde doel te bereiken, wat leidt tot inefficiëntie en verwarring.
  • Gemotiveerd door het succes dat ze hebben gehad met het implementeren van andere DevOps-verbeteringen, heeft Contoso HR besloten dit probleem aan te pakken als onderdeel van de volgende ontwikkelingscyclus.

De aanpak en resultaten toepassen

  • Het ontwikkelingsteam komt samen tijdens de ontwikkelingscyclus om akkoord te gaan met een set ontwikkelstandaarden die moeten worden geïmplementeerd. Ze documenteren de gemaakte keuzes en gaan ze afdwingen tijdens codebeoordelingen en door middel van hulpprogramma's. Ze kijken naar onderwerpen als: Codeopmaak- en naamconventies, foutafhandeling, versiebeheer en beveiligingsprocedures. Het team is van plan om goed te letten op de metrische gegevens en rapporten van kwaliteit die in ADO worden gegenereerd om de impact die deze wijzigingen hebben op kwaliteit en productiviteit te kwantificeren, zodat ze de waarde van dit soort DevOps-verbeteringen in hun managementteam kunnen bewijzen.
  • Op dezelfde manier besteedt het operations-team gedurende dezelfde periode tijd aan het uitbreiden van hun bestaande documentatie over routinebeheer en probleemoplossing en het publiceren ervan in de wiki. In de toekomst zal de wiki fungeren als één bron van waarheid, tijd en energie besparen die anders zou worden besteed aan het zoeken naar informatie.

Test uw kennis

1.

Welke van de volgende is een voordeel van operationele en ontwikkelteams met behulp van een gemeenschappelijke set hulpprogramma's?

2.

Welke van de volgende is een voorbeeld van het bouwen van een continue leer- en experimentenmentaliteit?

3.

Waar of niet waar: Contoso leed aan een gebrek aan standaardisatie in hun toolset.