Deze blog is gebaseerd op de Podcastserie ‘Business vooruit met IT’ van Info Support. In deze serie staat iedere keer een ander onderwerp centraal dat raakt aan de digitale transformatie. Deze week gaat het over Team Topologies.
Wat is Team Topologies en hoe brengt u het in de praktijk?
Samenwerking tussen verschillende teams
Een team kan goed functioneren, maar het is niet vanzelfsprekend dat dit team ook soepel samenwerkt met andere teams, terwijl een goede samenwerking tussen verschillende teams minstens zo cruciaal is voor het uiteindelijke succes van een project of strategie.
Team Topologies is een aanpak om teams zo te organiseren dat ze optimaal samen kunnen werken en daarmee de business vooruit kunnen helpen. Deze aanpak is beschreven in het boek Team Topologies (IT Revolution, 2019) door Matthew Skelton en Manuel Pais. Belangrijke onderliggende concepten zijn Conways Law (de communicatie structuur van de organisatie bepaalt in grote mate de software architectuur) en Cognitive Load (de maximale hoeveelheid informatie die een team kan verwerken). Deze concepten hebben een zeer sterke invloed op de kwaliteit en leveringszekerheid van teams. Door hier slim mee om te gaan kun je de samenwerking tussen teams en daarmee het resultaat positief beïnvloeden.
Vier soorten teams
De Team Topologies-aanpak onderscheidt vier soorten teams. De eerste zijn de zogenoemde Stream-aligned teams. Dit zijn de DevOps teams die dicht bij de klant staan en gericht zijn op het leveren van businesswaarde. Daarnaast heb je Enabling teams; deze teams helpen andere teams bij het adopteren van nieuwe technologie of het oplossen van complexe uitdagingen. In deze teams zitten experts die veel kennis hebben op één bepaald onderwerp, zoals AI of security. Als derde heb je Complicated-subsystem teams. Deze teams beheren complexe systemen (zoals legacy mainframes) die qua complexiteit niet in een stream-aligned team passen. Als laatste bevat Team Topologies Platform teams. Deze teams bieden generieke diensten aan die door meerdere stream-aligned teams gebruikt kunnen worden om sneller productief te kunnen zijn en zich te kunnen richten op het leveren van businesswaarde.
Drie interactiepatronen
Naast het onderscheid tussen de verschillende soorten teams, speelt ook de manier waarop ze interacteren een belangrijke rol volgens Team Topologies. De aanpak beschrijft drie verschillende manieren van interactie. De eerste is Collaboration. Hierin werken teams tijdelijk intensief samen om nieuwe platformdiensten of practices uit te werken. Een andere manier van interactie is ‘X-as-a-service’. Dit betreft dienstverlening, waarbij een Platform team een dienst via een selfserviceportaal aanbiedt aan een ander team. Daarnaast heb je nog Facilitating. Deze zie je vaak bij Enabling teams, waarbij zij een ander team coachen of begeleiden bij het uitvoeren van hun werkzaamheden.
Het uitgangspunt is het stroomlijnen van de interacties tussen teams, want de verkeerde interactiepatronen kosten tijd en daarmee ook geld. Dit zie je bijvoorbeeld terug bij Platform teams, omdat zij diensten leveren aan meerdere andere teams. Als hierbij veel samenwerking en directe interactie nodig is, zoals het inschieten van support tickets om de dienst te kunnen gebruiken, wordt het Platform team al snel een bottleneck. Door de diensten via een selfservice portaal aan te bieden ontstaat er het ‘X-as-a-service’ interactiepatroon en kunnen beide partijen efficiënter hun werkzaamheden uitvoeren.
Team Topologies in de praktijk
Als je aan de slag wilt met Team Topologies dan is het startpunt om de huidige situatie in kaart te brengen. Welke teams bestaan er en hoe interacteren deze via de concepten van Team Topologies? Hier zijn handige templates voor beschikbaar op GitHub. Vaak ontstaan uit deze eerste weergave al inzichten over waar de bottlenecks zitten, zoals een Platform team dat met heel veel andere teams direct samenwerkt.
Beschrijf daarna de doelsituatie, waarbij je Conways law en Cognitive load in acht neemt. Dit kan betekenen dat taken en verantwoordelijkheden naar andere teams moeten worden overgeheveld. Om de interactie tussen teams te beschrijven kan er gebruik gemaakt worden van de Team API. Hierin beschrijft een team met welke andere teams ze samenwerken en hoe. Hiermee kunnen verwachtingen tussen teams helder gemaakt worden, wat zeker bij hybride werken goed van pas komt.
Info Support gebruikt de Team Topologies-aanpak zowel in haar High Performance DevOps teams, als in haar Managed Cloud Platform Services.