Close

Team Topologies

De invloed van vier fundamentele topologieën op een DevOps-transformatie.

Ian Buchanan

Principal Solutions Engineer

Redactionele bijdrage: Shana Vu

Bekijk meer informatie over de voordelen van op stream afgestemde teams, hoe ze werken met platformteams en subsysteemteams, en teams in staat stellen waarde te leveren aan klanten.

Inleiding tot 'Team Topologies'


Engineeringteams moeten sneller dan ooit zijn om waarde aan hun klanten te leveren. De opkomst van cloud-, SaaS- en 'Always-on'-services betekent dat klanten nieuwe functies, minder bugs en een uptime van 99,99% (of hoger) verwachten.

Om aan deze eisen te voldoen, hebben organisaties agile werkwijzen toegepast en onlangs ook DevOps-werkwijzen, waardoor de time-to-market/doorlooptijd sneller verloopt, de implementatiefrequentie verhoogd wordt, de teamcultuur verbetert en de samenwerking tussen teams/afdelingen toeneemt.

Het toepassen van DevOps-werkwijzen is gemakkelijker gezegd dan gedaan. Daarom bevat het boek Team Topologies handige manieren waarop organisaties DevOps in hun bedrijf kunnen implementeren, waaronder informatie over welke soort teams het effectiefst is. Dit boek geeft een uitgangspunt van de denkwijze van Atlassian over teams. In plaats van hun bevindingen te herhalen, willen we onze eigen kijk op de soorten teams geven.

De eerste stap naar een DevOps-transformatie is de identificatie van de bestaande organisatiestructuur. Bij elk bedrijf zijn er tegenwoordig echter veel verschillende soorten teams, en in sommige gevallen neemt één team meerdere rollen en verantwoordelijkheden op zich. Hierdoor is het voor managementteams moeilijk om de volledige organisatie in kaart te brengen en vragen te beantwoorden als:

oplossing bekijken

DevOps-tools voor het hele team

gerelateerde content

Een DevOps-cultuur creëren

  • Hebben we de juiste teams?
  • Hebben we een gebrek aan capaciteiten op bepaalde gebieden die niet door een team worden aangepakt?
  • Hebben teams de nodige balans tussen zelfstandigheid en support van andere teams?

Ontwikkelings- en operationsleiders hebben meer inzicht of de juiste teams aanwezig zijn door naar hun organisatie te kijken door de 'Team Topologies'-lens. We raden aan om het aantal teamvariaties terug te brengen tot vier fundamentele 'Team Topologies' die duidelijk zijn voor zowel het hogere management als de teamleden zelf:

  • Op stream afgestemd team
  • Platformteam
  • Gecompliceerd subsysteemteam
  • Uitvoerend team

Houd er rekening mee dat deze soorten teams verschillende vormen hebben, afhankelijk van hoe groot en gevorderd het bedrijf is. In werkelijkheid is een combinatie van meerdere soorten teams of een team dat verandert in een ander team vaak de beste aanpak.

1. Op stream afgestemd team


Op stream afgestemde teams richten zich op één impactvolle werkstroom. Dit kan één product of service zijn, één set van functies, één gebruikerstraject of één gebruikerspersona. Het team is in staat om klant- of gebruikerswaarde zo snel, veilig en onafhankelijk mogelijk te ontwikkelen en te leveren, zonder dat andere teams onderdelen van het werk hoeven uit te voeren.

Op stream afgestemde teams werken aan het volledige spectrum van levering, staan per noodzaak dichter bij de klant en zijn meestal al agile. Dit team verwerkt feedback van klanten in ontwikkelingscycli, terwijl de software in productie blijft.

Hoewel op stream afgestemde teams bij veel softwarebedrijven gebruikelijk zijn, komen in andere organisaties beter vaak teamstructuren voor die zijn geordend op basis van functie (d.w.z. afzonderlijke teams voor engineering, design, QA), in plaats van de leveringsstroom.

Aangezien op stream afgestemde teams het meest voorkomen in organisaties, wordt de rol van andere teams gedefinieerd ten opzichte van op stream afgestemde teams. Op stream afgestemde teams moeten regelmatig contact opnemen met de volgende supportteams (gecompliceerd subsysteem, uitvoerend en platform) om de snelheid van levering en kwaliteit van hun producten en services voortdurend te verbeteren.

2. Platformteam


Platformteams stellen op stream afgestemde teams in staat om zelfstandig werk uit te voeren. Terwijl het op stream afgestemde team de volledige controle behoudt bij het ontwikkelen, uitvoeren en repareren van een applicatie in productie, biedt het platformteam interne services die het op stream afgestemde team kan gebruiken.

Platformteams creëren capaciteiten die kunnen worden gebruikt door talloze op stream afgestemde teams, met weinig overhead. Door een product te optimaliseren, kunnen platformteams middelen en cognitieve belastingen van het op stream afgestemde team minimaliseren. Dit komt ook ten goede aan eindgebruikers, omdat platformteams een samenhangende ervaring kunnen creëren die zich uitstrekt over verschillende gebruikerservaringen of producten.

Bij Atlassian ontwikkelen platformteams services die door al onze producten worden gebruikt (zoals identiteitsbeheer) en wordt verwacht dat ze documentatie, support en advies bieden voor op stream afgestemde teams.

3. Gecompliceerd subsysteemteam


Een gecompliceerd subsysteemteam is verantwoordelijk voor de ontwikkeling en het onderhoud van een deel van het systeem dat afhankelijk is van specifieke vaardigheden en kennis. De meeste teamleden moeten specialisten zijn op een bepaald gebied om het subsysteem te begrijpen en te wijzigen.

Het doel van dit team is om de druk te verminderen van op stream afgestemde teams die werken aan systemen die het subsysteem bevatten of gebruiken. Met de expertise en capaciteiten van het gecompliceerde subsysteemteam hoeven op stream afgestemde teams geen mogelijkheden te creëren op gebieden die te ingewikkeld zijn voor hun dagelijkse werk. Teamleden van dit team kunnen gespecialiseerde kennis hebben op het gebied van bepaalde microservices (d.w.z. een factureringsservice), algoritmen of zelfs kunstmatige intelligentie.

Een veelvoorkomende valkuil is het inzetten van specialisten in elk op stream afgestemd team dat het subsysteem gebruikt. Hoewel dit misschien efficiënt lijkt, is het uiteindelijk niet kosteneffectief en ligt het buiten de scope voor een op stream afgestemd team.

4. Uitvoerend team


Op stream afgestemde teams staan voortdurend onder druk om snel te leveren en op wijzigingen te reageren, waardoor het lastig kan zijn om tijd te vinden voor onderzoek, leren en oefenen van nieuwe vaardigheden.

Een team dat bestaat uit specialisten op een bepaald technisch (of productgericht) gebied helpt deze capaciteitskloof te overbruggen. Deze teams richten zich op onderzoek en experimenten om weloverwogen suggesties te doen over tools, frameworks en ecosysteemkeuzes die van invloed zijn op de toolstack.

Dit geeft op stream afgestemde teams de tijd om capaciteiten te verwerven en te ontwikkelen, en zich op de primaire doelen te blijven richten. Het uitvoerend team vergroot met name de zelfstandigheid van op stream afgestemde teams door hun capaciteiten uit te breiden, waarbij de focus op problemen ligt in plaats van op oplossingen.

Als een uitvoerend team het werk goed doet, heeft het team dat het uitvoerend team helpt na een aantal weken geen hulp meer nodig. Het is niet de bedoeling dat een team permanent afhankelijk blijft van het uitvoerend team.

Ben je een op stream afgestemd team?


De conclusie ...


DevOps is geen bestemming, maar een reis waarbij tools, teamcultuur en werkwijzen continu verbeterd worden. Ben je net aan de slag met DevOps? Begin dan met het oriënteren van doelen om waarde te leveren aan klanten. Voeg na een tijdje automatisering toe aan je tools en processen. Wanneer je team uiteindelijk steeds gevorderder wordt, implementeer je observering om ervoor te zorgen dat je de juiste dingen bewaakt, meet en verbetert.

Als je net aan je traject met DevOps begint, kun je onze best practices leren met onze DevOps-handleiding voor beginners. Om DevOps te gebruiken, raden we Open DevOps aan, het biedt teams alles wat ze nodig hebben om software te ontwikkelen en te gebruiken. Teams kunnen de DevOps-toolchain bouwen die voor hen werkt, dankzij integraties met toonaangevende leveranciers en marketplace-apps. Probeer het nu uit.

Ian Buchanan
Ian Buchanan

Ian Buchanan is een Principal Solutions Engineer voor DevOps bij Atlassian waar hij zich richt op de opkomende DevOps-community en de toepassing van Jira, Bitbucket en Bamboo voor betere continue integratie en continue levering. Hoewel Ian Buchanan een brede en uitgebreide kennis heeft van zowel Java als .NET, staat hij vooral bekend als expert op het gebied van lean en agile methoden bij grote ondernemingen.

Tijdens zijn carrière heeft hij met succes enterprise softwareontwikkelingstools beheerd in alle fases van hun levenscyclus, van begin tot eind. Ook was hij de motor achter organisatiebrede procesverbeteringen resulterend in een hogere productiviteit, kwaliteit en klanttevredenheid. Hij heeft agile teams met meerdere nationaliteiten onder zijn leiding opgericht. Voor deze teams was zelfsturing en zelforganisatie erg belangrijk. Wanneer hij geen presentaties geeft of codeert, is hij waarschijnlijk bezig met een van zijn passies als parsers, metaprogramming en domeinspecifieke talen.


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

DevOps-leertraject

Afbeelding van kaart

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up