Close

Het belang van teamstructuur in DevOps

Elk team heeft een andere structuur nodig, afhankelijk van de bredere context van het bedrijf.

Shana Vu

Productmarketing, DevOps


Als een softwareteam DevOps implementeert, is belangrijk om te weten dat elk team een andere structuur nodig heeft, afhankelijk van de bredere context van het bedrijf en de behoefte aan verandering.

De opkomst van DevOps-teams

Heb je een DevOps-team in je bedrijf? De kans hierop is groot. Uit onze DevOps Trends-enquête bleek dat meer dan twee derde van de ondervraagde organisaties een team of individu heeft dat de titel 'DevOps' in een bepaalde hoedanigheid draagt.

Nu DevOps steeds vaker voorkomt, horen we vaak dat softwareteams nu DevOps-teams zijn. Het toevoegen van nieuwe tools of het aanwijzen van een team als DevOps is echter niet voldoende om de voordelen van DevOps optimaal te benutten.

Als het onduidelijk is wat DevOps inhoudt en hoe deze correct kan worden geïmplementeerd, is een DevOps-transformatie meestal beperkt tot herstructureringen of de nieuwste tools. Een goede implementatie van DevOps brengt een culturele verandering met zich mee waarbij teams nieuwe structuren en nieuwe managementprincipes hebben en bepaalde technische tools gebruiken.

Soorten DevOps-teamstructuren

Bepalen welke DevOps-teamstructuur moet worden geïmplementeerd, hangt af van verschillende factoren, waaronder het aantal producten waaraan een organisatie werkt, technisch leiderschap en of ontwikkelings- en operatieteams de capaciteit hebben om processen op elkaar af te stemmen.

oplossing bekijken

DevOps-tools voor het hele team

gerelateerde content

Meer informatie over de voordelen van DevOps

Het is belangrijk om te weten dat niet elk team dezelfde doelen heeft, of dezelfde werkwijzen en tools zal gebruiken. Zelfs de manier waarop een team is samengesteld, zou niet gestandaardiseerd mogen worden. Elk team heeft een andere structuur nodig, afhankelijk van de bredere context van het bedrijf en de behoefte aan verandering. Een DevOps-team kan bij twee bedrijven iets totaal anders betekenen.

Om de vruchten van DevOps te kunnen plukken (snellere time-to-market, verbeterde implementatiefrequentie, betere teamcultuur en meer samenwerking tussen teams en afdelingen), is het belangrijk om inzicht te krijgen in de rol die elk team heeft. Toch zijn er in veel organisaties veel verschillende teamtitels, waarbij teams meerdere rollen op zich nemen (bijvoorbeeld een infrastructuurteam dat zowel de tools kiest en onderhoudt). Deze wildgroei maakt het voor managementteams moeilijk om het volledige organisatielandschap in kaart te brengen en belangrijke vragen te beantwoorden: Hebben we de juiste teams? Hebben we een gebrek aan capaciteiten op bepaalde gebieden die niet door een team worden aangepakt? Lijkt het erop dat teams de nodige balans hebben tussen zelfstandigheid en support door andere teams?

Het uitstekende werk van de mensen van 'Team Topologies' biedt een uitgangspunt voor de benadering van Atlassian van verschillende DevOps-team. Houd er rekening mee dat de onderstaande teamstructuren verschillende vormen hebben, afhankelijk van hoe groot en gevorderd een bedrijf is. In werkelijkheid is een combinatie van meerdere structuren of een structuur die verandert in een andere structuur vaak de beste aanpak.

Samenwerking tussen ontwikkelings- en operationsteams

Veel mensen beschouwen DevOps als simpelweg samenwerking en afstemming tussen ontwikkelings- en operationsteams. Dit is de basis van DevOps en biedt duidelijke voordelen, waaronder de mogelijkheid voor softwareteams om sneller en betrouwbaarder te ontwikkelen, testen en leveren.

De sleutel tot succes voor deze teamstructuur is dat ontwikkelaars de druk begrijpen op operationsteams om uptime te behouden en resoluties te beperken. Net zo belangrijk is dat operationsteams inzicht krijgen in de wens van ontwikkelingsteams om de implementatietijd en time-to-market te verkorten.

Ontwikkeling en operations samenbrengen

Bij deze teamstructuur wordt ervan uitgegaan dat ontwikkeling en operations samen in één team werken, dat fungeert als een verenigd front met gemeenschappelijke doelen. Deze structuur wordt soms 'NoOps' genoemd en komt vaak voor bij technologiebedrijven met één primair digitaal product, zoals Facebook of Netflix. De structuur kan zelfs de vorm aannemen van 'jij bouwt het en jij voert het uit', waarbij dezelfde personen applicaties ontwikkelen en gebruiken.

DevOps/SRE

Bij deze teamstructuur, die populair is geworden door Google, geeft een ontwikkelingsteam een product aan het team met engineers voor betrouwbaarheid van de site (SRE) dat de software daadwerkelijk uitvoert. In dit model leveren ontwikkelingsteams logboeken en andere artefacten aan dit team met engineers om te bewijzen dat hun software voldoet aan een supportnorm van het SRE-team. Ontwikkelingsteams en SRE-teams werken samen aan operationele criteria en de SRE-teams kunnen ontwikkelaars vragen hun code te verbeteren vóór de productie.

Ops als platform

In deze teamstructuur fungeert een team binnen het ontwikkelteam als een bron van expertise over operations en voert het team het merendeel van de interacties met het Infrastructure as a Service-team (IaaS) uit. Deze teamstructuur is afhankelijk van applicaties die in een openbare cloud worden uitgevoerd, aangezien het IaaS-team schaalbare, virtuele services creëert die het ontwikkelingsteam gebruikt.

DevOps als externe partij

DevOps als externe partij is wanneer bedrijven tijdelijk een DevOps-consultant of DevOps-team inschakelen om ontwikkelings- en operationsteams te helpen bij de overstap naar de eerste twee genoemde teamstructuren (samenwerking tussen ontwikkelings- en operationsteams en ontwikkelings- en operationsteams samenbrengen).

Hoewel er meerdere manieren zijn om DevOps te implementeren, zijn er ook veel manieren die minder goed werken. Teams en DevOps-leiders moeten op hun hoede zijn voor antipatronen, die worden gekenmerkt door silo's, gebrek aan communicatie en een verkeerde prioriteit van tools boven communicatie.


Rollen en verantwoordelijkheden in DevOps-teams

Ongeacht je teamstructuur delen alle goed presterende DevOps-teams regelmatig kennis en ervaring over ontwikkeling en operations, of het nu tijdens reguliere vergaderingen is of mensen die in verschillende teams werken en/of teamleden in beide functies laten werken. Een goed presterend team profiteert van de voordelen van DevOps: snellere time-to-market, verbeterde doorlooptijd, hogere implementatiefrequentie, deliverables van hogere kwaliteit, betere teamcultuur en meer samenwerking tussen teams en afdelingen.

DevOps-teams bestaan meestal uit mensen met vaardigheden op het gebied van ontwikkeling en operations. Sommige teamleden zijn mogelijk beter in het schrijven van code, terwijl andere misschien meer bedreven zijn in het beheren van infrastructuur. In grote bedrijven kan elk aspect van DevOps, van CI/CD tot IaaS tot automatisering, echter een rol spelen. Dit kan een releasemanager zijn die applicaties coördineert en beheert, van ontwikkeling tot productie, tot automatiseringsarchitecten die de CI/CD-pipeline van een team onderhouden en automatiseren.

Dus wat is er nodig om lid te worden van een DevOps-team? De functievereisten om lid te worden van een DevOps-team blijven zich ontwikkelen door nieuwe technologieën en technieken, maar de kwaliteiten van een goed DevOps-team blijven hetzelfde. Solide technische vaardigheden, goede communicatie, een teamspelermentaliteit en aanpassingsvermogen zijn een paar voorbeelden van de kerneigenschappen van een sterke DevOps-professional. Een combinatie hiervan is waarschijnlijk belangrijker dan encyclopedische kennis van Kubernetes of Git. Maar beide kan uiteraard geen kwaad!

Een ander ingrediënt voor succes is een leider die DevOps wil promoten binnen een team, bij samenwerkende teams en de organisatie in het algemeen. Diegene hoeft geen manager te zijn, maar iemand die sceptische teamleden wil overtuigen om de kloof tussen een team en een extern team te overbruggen, of het nu gaat om ontwikkelaars, operations of een platformteam.


Software ter ondersteuning van je team

Hoewel het werk dat een team dagelijks uitvoert de DevOps-toolchain bepaalt, heb je een soort software nodig om het werk van je team en de rest van de organisatie aan elkaar te koppelen en te coördineren. Jira is een krachtige tool die softwareontwikkelingsprojecten plant, volgt en beheert, waardoor je directe teamgenoten en de rest van de organisatie op de hoogte blijven van de status van je werk.

Applicaties zoals Zoom, Slack en Microsoft Teams zijn ook nodig om teams snel en efficiënt te laten communiceren, vooral in een wereld waar werken op afstand op de eerste plaats staat. In het verleden kon een ontwikkelaar naar het operationsteam lopen om de status van een incident te vragen. Nu zorgen virtuele communicatie-apps voor dezelfde onmiddellijke communicatie.

Maar vergeet niet dat software om je teams te laten samenwerken een middel is, geen doel. Als je organisatie het meeste uit DevOps wil halen (transparantie, vertrouwen en zelfstandigheid), heb je teams nodig, niet alleen tools, om dit te bereiken.

Shana Vu
Shana Vu

Shana is a product marketer passionate about DevOps and what it means for teams of all shapes and sizes. She loves understanding the challenges software teams face, and building content solutions that help address those challenges. If she's not at work, she's likely wandering the aisles of her local Trader Joes, strolling around Golden Gate, or grabbing a beer with friends.


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

Map-illustratie

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up