Close

Wat is een DevOps-cultuur?

Hoe DevOps-cultuur mensen, processen en tools helpt af te stemmen op een meer uniforme klantgerichtheid.

Headshot of Tom Hall
Tom Hall

DevOps-vertegenwoordiger en -professional


Samenwerking

DevOps is een agile benadering van organisatieverandering die tracht traditionele, geïsoleerde scheidingen tussen teams te overbruggen en nieuwe processen tot stand te brengen die een grotere samenwerking mogelijk maken. Hoewel DevOps mogelijk wordt gemaakt door nieuwe tools en agile engineering-werkwijzen, zijn deze niet voldoende om de voordelen van DevOps te benutten. Zonder de juiste mentaliteit, routines en cultuur is het moeilijk om de volledige belofte van DevOps te realiseren.

Mens en cultuur zijn de belangrijkste factoren voor een succesvolle DevOps-implementatie.
- Atlassian 2020 DevOps Trends Survey

Wat is een DevOps-cultuur?


Een DevOps-cultuur houdt in essentie een nauwere samenwerking en een gedeelde verantwoordelijkheid in tussen development en operations voor de producten die ze maken en onderhouden. Dit helpt bedrijven hun mensen, processen en tools af te stemmen op een meer uniforme klantgerichtheid.

Het bestaat onder andere uit het cultiveren van multidisciplinaire teams die verantwoording afleggen voor de volledige levenscyclus van een product. DevOps-teams werken autonoom en omarmen een cultuur van software-engineering, workflow en toolset die operationele vereisten naar een hoger niveau tillen, hetzelfde niveau als architectuur, design en ontwikkeling. Het feit dat ontwikkelaars die het bouwen, het ook uitvoeren, brengt ontwikkelaars dichter bij de gebruiker, met een beter begrip van vereisten en behoeften van gebruikers. Omdat operations teams meer betrokken zijn bij het ontwikkelingsproces, kunnen ze onderhoudsvereisten en klantbehoeften toevoegen voor een beter product.

De kern van de DevOps-cultuur is meer transparantie, communicatie en samenwerking tussen teams die vroeger geïsoleerd werkten. Maar er moeten belangrijke culturele veranderingen worden doorgevoerd om deze teams dichter bij elkaar te brengen. DevOps is een verandering van de organisatiecultuur die de nadruk legt op continu leren en continue verbetering, vooral door autonome teams, snelle feedback, veel empathie en vertrouwen en samenwerking tussen teams.

Mindful thinking logo
gerelateerd materiaal

Omarm een klantgerichte mindset

Trophy logo
gerelateerd materiaal

Meer informatie over de voordelen van DevOps

DevOps entails shared responsibilities. Development and operations staff should both be responsible for the success or failure of a product. Developers are expected to do more than just build and hand off to operations — they are expected to share the responsibility of overseeing a product through the entire course of its lifetime, adopting a "you build it, you run it" mentality. They test and operate software and collaborate more with QA and IT Ops. When they understand the challenges faced by operations, they are more likely to simplify deployment and maintenance. Likewise, when operations understand the system’s business goals, they can work with developers to help define the operational needs of a system and adopt automation tools.

Autonome teams zijn een ander belangrijk aspect van DevOps. Om de development en operations teams effectief te laten samenwerken, moeten ze beslissingen nemen en wijzigingen doorvoeren zonder een omslachtig en langdurig goedkeuringsproces. Dit houdt in dat teams vertrouwen krijgen en een omgeving creëren wordt waarin men niet bang is iets verkeerd te doen. Deze teams moeten over de juiste processen en tools beschikken om sneller en gemakkelijker beslissingen te nemen, voor elk risiconiveau voor de klant.

Een kenmerkende ontwikkelingsworkflow kan bijvoorbeeld betrokkenheid van verschillende medewerkers van verschillende teams vereisen om codewijzigingen te implementeren. De ontwikkelaar voert een codewijziging door en pusht deze naar een repository voor bronbeheer, een build engineer bouwt en implementeert de code in een testomgeving, een producteigenaar werkt de status van het werk bij in een tool voor het volgen van issues, etc. Een autonoom team profiteert van tools die deze processen automatiseren, zodat het pushen van nieuwe code het bouwen en implementeren van een nieuwe functie in een testomgeving activeert en de tool voor het volgen van issues automatisch wordt bijgewerkt.

Een team wordt bijvoorbeeld beperkt door vereisten zoals het openen van een ticket met een afzonderlijk operations team om een eenvoudige infrastructuurwijziging door te voeren, zoals een nieuwe DNS-invoer. Een taak die een paar seconden zou moeten duren, duurt dan dagen of weken. Een autonoom team heeft de mogelijkheid om dergelijke veranderingen zelf door te voeren, of het nu gaat om een persoon in het team met de juiste vaardigheden en ervaring, of door toegang tot self-service tools.

Een DevOps-teamcultuur hecht veel waarde aan snelle feedback die kan helpen bij het continu verbeteren van een uniform development en operations team. In een omgeving waar de development en operations teams zich in geïsoleerde silo's bevinden, komt feedback over de prestaties en stabiliteit van toepassingssoftware in productie vaak niet snel terug bij het development team, als het al terugkomt. DevOps zorgt ervoor dat ontwikkelaars de snelle feedback ontvangen die ze nodig hebben om snel toepassingscode te herhalen en te verbeteren door samenwerking tussen operations-medewerkers te vereisen bij het ontwerpen en implementeren van strategieën voor toepassingsbewaking en rapportagestrategieën. Iedere voldoende geschikte tool voor continue integratie maakt bijvoorbeeld automatisch bouwen en testen van nieuwe code pushes mogelijk en biedt de ontwikkelaar onmiddellijk feedback over de kwaliteit van zijn of haar code.

Automatisering is essentieel voor de DevOps-cultuur, omdat het een goede samenwerking mogelijk maakt en resources vrijmaakt. Door de processen tussen software development en IT-teams te automatiseren en integreren, kunnen ze software sneller en betrouwbaarder bouwen, testen en vrijgeven.

What are the benefits of DevOps culture?


The most obvious and impactful benefit of embracing a DevOps culture is streamlined, frequent, and high-quality software releases. This not only increases company performance, but also employee satisfaction.

A DevOps culture fosters high levels of trust and collaboration, results in higher quality decision making, and even higher levels of job satisfaction, according to the book “Accelerate: Building and Scaling High Performing Technology Organizations.”

Embracing a DevOps culture is key to building a high-performing engineering organization without sacrificing employee contentment. It’s a win-win. For an engineer there is nothing like the feeling of frequently and easily deploying and running stable, high-performing software that makes its users happy, and for executives the improved business outcomes are a hit.

What are the challenges?


Fully embracing a DevOps culture usually requires individuals and teams to make significant changes to how they work, and therefore requires buy-in at the highest levels of the organization.

A grassroots effort can be, and often is, an important starting point for getting management and executive-level buy-in for a DevOps transformation. Often the most compelling argument in favor of broader DevOps adoption is when a few individuals or small teams adopt a DevOps approach and begin demonstrating success.

The high levels of autonomy and trust that are typical in a DevOps culture can be difficult to cultivate if there is a history of conflict between any of the individuals or teams involved. The more siloed the teams were before attempting to adopt a DevOps approach, the harder it will be to build connections.

Change is hard. Even in environments where there is a high level of harmony between the existing individuals and teams, if the benefits of change aren't clearly articulated and understood, it can be difficult to drive acceptance and willingness to put in the work.

Understandably, organizations with a strong engineering mindset often jump immediately to tools and technologies to solve business challenges. Yes, there are tools and technologies that can help your organization transition to a DevOps approach. But changing tools and technologies without changing the culture is often called “cargo-cult DevOps” since it changes the facade without addressing the weakness in the foundation.

Overwegingen om over te stappen naar een DevOps-cultuur


Open communicatie

Een van de meest fundamentele problemen die DevOps probeert op te lossen, is het isoleren van kennis, ervaring en werk in verschillende bedrijfsafdelingen. Wanneer de programmeurs die code schrijven en de systeembeheerders die deze implementeren en onderhouden niet communiceren, heb je waarschijnlijk inefficiënties.

De kans om fouten te maken

Veel organisaties, teams en individuen zetten buitengewone druk op zichzelf en elkaar om nooit fouten te maken. Als falen geen optie is, probeert een individu of team minder snel een nieuwe benadering om een probleem op te lossen of innovatieve functies te ontwikkelen.

Deze mentaliteit wordt weerspiegeld in de vroegere obsessie met het meten van "Mean Time Between Failures" (MTBF) in plaats van "Mean Time to Recovery" (MTTR). MTBF gebruikt tools zoals 'probleemanalyse' om de bron van storingen te identificeren en ze proberen te voorkomen. MTTR geeft een beeld van softwaretoepassingen als complexe systemen die geneigd zijn op onvoorspelbare manieren te falen en richt zich op snel herstel wanneer ze falen.

Een 'retrospectief zonder een schuldige aan te wijzen' is een veel voorkomend kenmerk in de DevOps-cultuur. De resultaten kunnen worden verbeterd wanneer een team aan het einde van een sprint of project samenkomt om te bespreken wat er goed ging en wat er verbeterd kan worden, in een open en veilige omgeving.

Een onberispelijke kijk op mislukking werkt zo goed, deels omdat er een groeimentaliteit wordt aangenomen, erkend wordt dat er fouten worden gemaakt, maar er gewerkt wordt in de veronderstelling dat mens en organisatie kunnen leren, groeien en verbeteren.
- "Effectieve DevOps" door Jennifer Davis en Katherine Daniels

Nieuwe processen

Het cultiveren van een DevOps-cultuur vereist nieuwe benaderingen van oude problemen. DevOps houdt in dat het geïsoleerde proces van programmeurs die toepassingscode schrijven en het blindelings doorgeven aan een operations team dat de toepassing implementeert en beheert, wordt veranderd. Bij een DevOps-benadering werken development en operations tijdens de volledige levenscyclus van een project samen.

Continue integratie en continue levering (CI/CD) worden algemeen geacht noodzakelijk te zijn voor een DevOps-cultuur. Een derde proces, continue implementatie, wordt omarmd en gepromoot door grote organisaties als Netflix, maar niet vaak doorgevoerd (of vereist) in de meeste kleinere bedrijven. Dit komt omdat het continu inzetten van nieuwe functies in een productieomgeving groot vertrouwen vereist dat nieuwe code grondig is getest en veilig kan worden geïmplementeerd (bijvoorbeeld na een functiewisseling). Tenzij je organisatie dus meerdere keren per dag implementeert, is het misschien niet de moeite waard te investeren in de processen die deze benadering ondersteunen.

In de meeste gevallen vereenvoudigt een variatie op 'trunk-gebaseerde ontwikkeling' je CI/CD-inspanningen enorm. In dit model verwijdert het team lang gebruikte functie-branches en maakt het regelmatig commits aan voor de 'trunk' branch van de code.

Een belangrijk component van trunk-gebaseerde ontwikkeling is uitgebreide geautomatiseerde tests: afdeling, integratie en regressie. Dit helpt om ervoor te zorgen dat alle nieuwe commits naar de trunk branch grondig zijn doorgelicht wanneer ze naar de repository worden gepusht.

Continue integratie is het automatiseren van de integratie van codewijzigingen in een softwareproject. Dit gaat van development teams tot de rest van de organisatie. Productteams coördineren bijvoorbeeld wanneer ze achtereenvolgens functies en fixes moeten starten en welke teamleden verantwoordelijk zijn.

Continue levering is een organisatorische methode die technische en niet-technische teams zoals design, product en marketing samenbrengt om een product te leveren. Omgevingen zonder CD stimuleren 'blindelings doorgeven' waarbij ontwikkelaars zich richten op het QA-team als primaire gebruikerservaring. Dit betekent dat de 'trunk' branch van je repository altijd in een 'implementeerbare' staat verkeert.

Door continue implementatie kunnen codewijzigingen automatisch in productie worden geïmplementeerd wanneer ze worden gemaakt, verborgen achter een functievlag, geïmplementeerd voor een kleine groep klanten, en/of eenvoudig teruggedraaid. Dit biedt teams meer flexibiliteit om in te spelen op veranderende markten en eisen van klanten, omdat ze kunnen reageren op feedback van klanten en snel nieuwe functies kunnen implementeren en valideren. Teams kunnen ook eenvoudig functies terugdraaien, waardoor ze niet worden gehinderd door de build te verbreken.

Functievlag, functiewisseling of niet geteste implementatie zijn veelgebruikte manieren om ervoor te zorgen dat nieuwe toepassingsfuncties niet worden weergegeven of functioneren wanneer ze worden geïmplementeerd in de productieomgeving, maar met minimale inspanningen kunnen worden ingeschakeld. Deze strategie maakt continue implementatie mogelijk, omdat het risico zeer klein is dat gebruikers nadelig worden beïnvloed. Het is ook gebruikelijk om functies te beperken tot een subset van het gebruikersbestand door ze te segmenteren op basis van geografie of door afzonderlijke serverinstallaties uit te voeren en functies te releasen op slechts één server die toegankelijk is voor gebruikers.

Een bijgewerkte toolchain

De meeste softwareontwikkelingsteams gebruiken ten minste een bepaald soort versiebeheer, het volgen van issues en tools voor het monitoren van toepassingen. Dit zijn allemaal belangrijke tools om een DevOps-cultuur te ondersteunen, maar misschien wel de belangrijkste toevoeging aan de traditionele toolset is software ter ondersteuning van CI/CD. Een geautomatiseerde workflow die een commit, test en implementatie vereist, is echt de enige manier om de snelle feedback te ontvangen die een DevOps-cultuur nodig heeft.

DevOps - a cultural shift that yields results


Developers have been chasing the dream of delivering software more frequently, with less effort, and fewer bugs for decades. Now, the tools and practices to make this a reality are finally here.

Atlassian found that organizations practicing DevOps say they ship higher quality deliverables (61%), with increased deployment frequency and faster time to market (49%). And it’s not just organizations who reap the benefits, practitioners say they’ve learned new skills (78%) and received a raise (48%).

Cultivating a DevOps culture can be challenging, but the rewards in increased satisfaction for developers, managers, and customers alike are worth it.

Are you looking to improve your DevOps culture? Start with the Service Team Health Monitor. Also, practice communicating, collaborating, and brainstorming with colleagues with the Top 4 Plays for Building a DevOps Culture.

Tom Hall
Tom Hall

Tom Hall is een DevOps-voorstander en -uitvoerder, leest alles wat los en vast zit en speelt piano.
Hij heeft in de afgelopen 20 jaar certificeringen behaald voor Novell, EMC, VMware en AWS. Hij was onderdeel van de organisatie van DevOpsDays in Atlanta in 2016 en daarna in Austin, TX.


Deel dit artikel
Volgend onderwerp

Aanbevolen artikelen

Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.

Toelichting DevOps

DevOps-community

Toelichting DevOps

Simulatieworkshop

Afbeelding van kaart

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up