Team Topologies is een framework dat is gebaseerd op het idee dat verschillende soorten teams nodig zijn om verschillende soorten problemen bij softwareontwikkeling aan te pakken.
Op een hoger abstractie niveau gaat Team Topologies over: fast flow, snelle feedback, team interactie, evolutie van de organisatie, team cognitive load en omgaan met de huidige belemmeringen in de organisatie.
De bedenkers beschrijven Team Topologies als volgt: Vier fundamentele teamtypen en drie kernteam interactiemodi combineren met bewustzijn van de wet van Conway, cognitieve belasting van het team en responsieve organisatie-evolutie om een no-nonsense, teamvriendelijke, humanistische benadering te definiëren voor het bouwen en gebruiken van softwaresystemen.
Laten we dit eens verder uitwerken. In dit artikel ligt de focus op typologieën, interactiemodi en gedrag.
Het boek Team Topologies

Het boek ‘Team Topologies, Organizing business and technology for fast flow’ van Matthew Skelton en Manuel Pais biedt een raamwerk voor het ontwerpen en beheren van teams in organisaties om softwarelevering te verbeteren. Het helpt organisaties bij het ontwerpen en beheren van hun teams op een manier die snellere en effectievere softwarelevering ondersteunt.
Het boek benadrukt het belang van het hebben van de juiste teams om verschillende soorten problemen aan te pakken en bespreekt vier team topologies (hoofd teamtypes): Stream-aligned teams, Enabling teams, Complicated Subsystem teams en Platform-teams.
Skelton en Pais beschrijven dat teams moeten worden ontworpen rondom de interacties die ze hebben met andere teams en systemen in de organisatie, in plaats van simpelweg te worden toegewezen aan een specifiek project of product. Hoe organisaties de structuur van hun teams kunnen optimaliseren en hoe ze de teams kunnen ondersteunen met de juiste tools, processen en culturele veranderingen.
Uitdagingen
Het boek behandelt ook de uitdagingen die vaak voorkomen bij teams, zoals silo’s, overbelasting van teams, onvoldoende samenwerking en te veel beheersing. Het biedt praktische oplossingen om deze problemen aan te pakken, zoals het invoeren van een ’team-first’ cultuur, het bevorderen van samenwerking en communicatie, het vereenvoudigen van de technologie stack en het bieden van ondersteuning en hulpmiddelen voor teams.
Het boek richt zich ook op de noodzaak van een agile en DevOps-cultuur om teams te ondersteunen bij het sneller en beter leveren van software. Het beschrijft hoe teams kunnen samenwerken met andere teams en belanghebbenden, hoe teams de feedback-lus kunnen sluiten om de software continu te verbeteren en hoe teams hun prestaties kunnen meten en verbeteren. In het artikel DevOps lees je meer over DevOps.
Ten slotte biedt het boek praktische tips voor het implementeren van de Team Topologies-benadering in een organisatie, zoals het identificeren van het huidige teamontwerp, het definiëren van de gewenste teamstructuur, het ontwikkelen van nieuwe teamvaardigheden en het meten van de prestaties van teams.
‘Ontwerp een organisatie architectuur om de juiste software architectuur te produceren.’
Matthew Skelton en Manuel Pais
Evolutie van Team Topologies
De evolutie van Team Topologies is gestart met de observatie dat de traditionele manier van werken in silo’s binnen een organisatie niet meer goed werkte in de steeds complexer wordende technologische wereld. In het begin richtte Team Topologies zich voornamelijk op de opzet en inrichting van teams binnen een organisatie om deze complexiteit te kunnen beheersen.
Gaandeweg is Team Topologies verder geëvolueerd naar een meer holistische benadering, waarbij niet alleen gekeken wordt naar de inrichting van teams, maar ook naar de interactie tussen teams en de manier waarop informatie en kennis wordt gedeeld binnen een organisatie. Dit heeft geleid tot meer aandacht voor het belang van een goede architectuur en tooling, die teams in staat stelt om efficiënter en effectiever te werken.
Een andere belangrijke evolutie van Team Topologies is de focus op het beheersen van cognitieve belasting bij teams. Dit is een belangrijk aspect van het werken in complexe omgevingen en kan bijdragen aan het succes van een organisatie.
Ten slotte heeft Team Topologies ook aandacht besteed aan de evolutie van organisaties zelf, van traditionele hiërarchische structuren naar meer platte en wendbare organisaties.
Dit heeft geleid tot aanbevelingen voor het opzetten van teams die meer autonomie hebben en meer beslissingsbevoegdheid, maar ook meer verantwoordelijkheid dragen voor het realiseren van bedrijfsdoelen.
Kortom, de evolutie van Team Topologies heeft geleid tot een meer holistische benadering van het werken in complexe technologische omgevingen, waarbij niet alleen gekeken wordt naar de inrichting van teams, maar ook naar de interactie tussen teams, de architectuur en tooling, en het beheersen van cognitieve belasting bij teams. En deze evolutie is een mooi voorbeeld van Agile werken.
There is no single ‘right’ team topology, but several ‘bad’ topologies for any one organisation.
Matthew Skelton
Het basisidee van Team Topologies
Het basisidee is vrij eenvoudig te verwoorden: richt je op het team en optimaliseer, want high performing teams zijn uiterst effectief. Gebruik daarbij de wet van Conway, hanteer de 4 typologieën, kies de juiste interactiemodus, ontwikkel de topologie door en bekijk de verandering vanuit een (business) organisatie perspectief.
In gewone taal: begin met het team, identificeer de stromen, bepaal het dunst levensvatbare platform, identificeer de mogelijke capaciteitsissues en oefen de teaminteracties.
Onderstaande afbeelding toont de 7 elementen van Team Topologies. Al deze 7 elementen zal je dienen aan te passen of toepassen om belemmeringen om te zetten naar fast flow.
Van belemmeringen naar fast flow

In dit artikel worden niet alle onderdelen uitgebreid beschreven. Van de 7 onderdelen ligt de focus in dit artikel op typologieën, interactiemodi en gedrag. Elke stap zal nu wel kort belicht worden. Zie onderstaande afbeelding.

Deze 7 elementen zijn belangrijk zijn, maar het vereist een separaat artikel om alle mogelijke varianten uit te leggen. Het is m.i. interessanter om het concept te verdiepen vanuit (type) teams, gedrag en interactiemodi. We beginnen met Cognitieve belasting.
Cognitive Load
Team Topologies besteedt veel aandacht aan het beheersen van de cognitieve belasting bij teams. Cognitieve belasting verwijst naar de mentale inspanning die nodig is om een bepaalde taak uit te voeren en kan worden beïnvloed door factoren zoals de complexiteit van de taak, de beschikbare informatie en de ervaring van de persoon.
De mentale inspanning kan worden beschreven als: intrinsic en extraneous en germane cognitive load. In het artikel Wat is de Cognitive load theorie? lees je hier alles over, hieronder zijn de effecten voor Team Topologies beschreven.
Skelton en Pais stellen dat teams die te veel cognitieve belasting ervaren, minder effectief zijn in het leveren van waarde en vaak minder tevreden zijn met hun werk. Daarom raden ze aan om teams te structureren op basis van de complexiteit van het werk dat ze doen en om de cognitieve belasting te beheersen door onder andere:
- Het beperken van de omvang en reikwijdte van elk team, zodat elk team zich kan concentreren op een specifieke set taken en verantwoordelijkheden.
- Het hebben van een duidelijke en gedeelde visie en doelstellingen voor elk team, zodat alle leden weten wat er van hen wordt verwacht en hoe hun werk bijdraagt aan de organisatiedoelen.
- Het verminderen van de hoeveelheid onzekerheid en complexiteit die elk team moet beheren, bijvoorbeeld door het gebruik van een duidelijke architectuur en tooling.
- Het zorgen voor de juiste mate van autonomie en besluitvorming voor elk team, zodat ze de verantwoordelijkheid en vrijheid hebben om hun werk op de meest effectieve manier uit te voeren.
- Het hebben van duidelijke communicatielijnen tussen teams, zodat iedereen weet wie verantwoordelijk is voor welke taak en er niet te veel overlap is.
Door deze aanbevelingen te volgen, kunnen teams hun cognitieve belasting beheersen en effectiever en efficiënter werken.
4 Team Topologies
Team Topologies identificeert vier hoofd teamtypes die organisaties kunnen gebruiken om hun softwarelevering te verbeteren: Stream-aligned teams, Enabling teams, Complicated-subsystem team en Platform-teams.
Elk van deze teamtypes heeft zijn eigen doel en verantwoordelijkheden en is ontworpen om een specifieke bijdrage te leveren aan de softwarelevering in de organisatie. Door de juiste mix van teams te gebruiken, kunnen organisaties sneller en efficiënter software leveren die aan de behoeften van de klant voldoet.

Je zult meerdere beschrijvingen op internet tegenkomen m.b.t. deze type teams.
1. Stream-aligned teams
Stream-aligned team: afgestemd op een werkstroom van (meestal) een segment van het bedrijfsdomein
Dit type team is verantwoordelijk voor het leveren van functies en services met betrekking tot een bepaalde werkstroom of product. Ze hebben end-to-end eigendom van de software die ze leveren en zijn verantwoordelijk voor het handhaven van de kwaliteit van de code.
Stream-aligned teams zijn teams die verantwoordelijk zijn voor het leveren van software aan een specifieke klant, gebruikersgroep of productlijn. Deze teams zijn gericht op het leveren van waarde aan de klant door het continu leveren van kleine hoeveelheden software die functioneel zijn en voldoen aan de vereisten van de klant. Deze teams zijn ook verantwoordelijk voor het ontwikkelen en onderhouden van technische expertise en best practices voor hun specifieke gebied.
2. Enabling teams
Enabling team: helpt een Stream-aligned team om obstakels te overwinnen. Detecteert ook ontbrekende mogelijkheden.
Dit type team is verantwoordelijk voor het leveren van ondersteuning en tools aan stream-gerichte teams. Ze helpen om standaardisatie te creëren en herbruikbare oplossingen te ontwikkelen.
Enabling teams zijn teams die ondersteuning bieden aan Stream-aligned teams en andere teams in de organisatie. Deze teams zorgen voor een goede werking van de ontwikkelingsprocessen en de infrastructuur, en bieden ook ondersteuning op het gebied van compliance, beveiliging en kwaliteit. Enabling teams helpen bij het ontwerpen van processen en tools die nodig zijn om softwarelevering te versnellen en kwaliteit te waarborgen.
3. Complicated subsystem teams
Gecompliceerd subsysteemteam: waar aanzienlijke wiskunde/berekening/technische expertise nodig is.
Dit type team richt zich op het aanpakken van complexe technische uitdagingen. Ze werken aan problemen die te groot zijn om door een enkel stream-gericht team te worden opgelost.
Complicated Subsystem teams zijn teams die zich richten op het oplossen van complexe problemen die niet kunnen worden opgelost door Stream-aligned teams. Deze teams hebben een hoge mate van autonomie en zijn verantwoordelijk voor het ontwikkelen van nieuwe technologieën en best practices die nodig zijn om de organisatie te helpen innoveren en concurrerend te blijven. Complicated Subsystem teams zijn vaak multidisciplinair en werken samen met andere teams in de organisatie om hun doelen te bereiken.
4. Platform-teams
Platformteam: een groep andere teamtypen die een overtuigend intern product bieden om de levering door Stream-aligned teams te versnellen.
Dit team richt zich op het ontwikkelen en onderhouden van platforms en infrastructuur. Ze bieden de basis voor andere teams om op te bouwen en te leveren.
Platform-teams zijn teams die verantwoordelijk zijn voor het ontwikkelen en onderhouden van de technologieplatforms die door andere teams in de organisatie worden gebruikt. Deze teams zorgen voor een gestandaardiseerde en geautomatiseerde manier van werken en zorgen ervoor dat andere teams efficiënter kunnen werken door het delen van infrastructuur en best practices. Platform-teams zijn verantwoordelijk voor het leveren van een stabiele en veilige omgeving die andere teams kunnen gebruiken om software te bouwen, testen en implementeren.
Interessant is om dan verder te gaan kijken hoe de teams interacteren. Zoals beschreven zijn daar 3 vormen voor: faciliteren, X-as-a-Service en samenwerken. In de afbeelding is dit al samengevat, maar hoe krijg je dat nu goed op elkaar ingespeeld?
Samenwerking tussen de verschillende type teams
In “Team Topologies” wordt benadrukt dat de samenwerking tussen teams van cruciaal belang is om succesvolle softwarelevering te realiseren. Elk teamtype heeft zijn eigen verantwoordelijkheden en taken, maar ze werken allemaal samen om software te leveren die aan de behoeften van de klant voldoet. In bovenstaande afbeelding worden de geadviseerde vormen van samenwerking getoond, maar teams hebben vaak meerdere samenwerkingen, deze worden hieronder beschreven.
1. Stream-aligned teams
Stream-aligned teams zijn gericht op het leveren van software aan een specifieke klant of productlijn. Ze werken samen met andere teams om de benodigde infrastructuur en ondersteunende systemen te bouwen en te onderhouden. Ze hebben ook nauwe banden met Enabling teams om ervoor te zorgen dat hun processen, tools en technologieën goed werken. Complicated Subsystem teams kunnen soms worden ingezet om Stream-aligned teams te ondersteunen bij het oplossen van complexe technische uitdagingen.
2. Enabling teams
Enabling teams zijn gericht op het ondersteunen van andere teams in de organisatie. Ze werken samen met Stream-aligned teams om hen te helpen efficiënter te werken en betere software te leveren. Ze werken ook samen met Complicated Subsystem teams om te helpen bij het ontwikkelen en implementeren van nieuwe processen, tools en technologieën.
3. Complicated subsystem teams
Complicated subsystem teams werken vaak aan strategische projecten en nemen deel aan innovatieprogramma’s om de organisatie te helpen concurrerend te blijven. Ze hebben vaak nauwe banden met Platform-teams om ervoor te zorgen dat hun innovaties kunnen worden geïntegreerd in de bredere systemen en architectuur van de organisatie.
4. Platform-teams
Platform-teams zijn gericht op het leveren van een stabiele en veilige technologische basis voor de hele organisatie. Ze werken nauw samen met andere teams om te zorgen dat hun infrastructuur en tools goed werken en efficiënt worden gebruikt. Ze kunnen ook werken aan strategische projecten die gericht zijn op het verbeteren van de technologische basis van de organisatie.
‘Evolve different team topologies for different parts of the organisation at different times to match the team purpose and context. ‘
Matthew Skelton
De onderlinge verhoudingen tussen teams zijn afhankelijk van de specifieke organisatie en haar behoeften. “Team Topologies” benadrukt echter het belang van een duidelijke taakverdeling tussen teams en een duidelijke communicatie om ervoor te zorgen dat iedereen op één lijn zit. Het is ook belangrijk dat teams samenwerken aan gedeelde doelen en dat ze open staan voor feedback en verbetering.
Verschillen en overeenkomsten in gedrag per team
Als we naar de verschillende teams vanuit een gedragskant bekijken, kunnen we enkele overeenkomsten en verschillen identificeren.
Overeenkomsten
- Een belangrijke overeenkomst tussen de teams is dat ze allemaal gericht zijn op het leveren van waarde aan de klant. Elk teamtype heeft zijn eigen verantwoordelijkheden en taken, maar ze werken allemaal samen om software te leveren die aan de behoeften van de klant voldoet. Dit betekent dat alle teams een sterke focus hebben op klantgerichtheid en het leveren van waarde.
- Een ander gemeenschappelijk gedrag van deze teams is hun focus op samenwerking. Elk teamtype werkt samen met andere teams in de organisatie om hun doelen te bereiken. Dit betekent dat effectieve communicatie en samenwerking essentieel zijn om de doelen van de organisatie te bereiken.
Verschillen
Er zijn echter ook enkele verschillen tussen de teams vanuit een gedragskant.
- Stream-aligned teams zijn bijvoorbeeld gericht op het leveren van software aan een specifieke klant of productlijn, waardoor ze een zeer klantgerichte focus hebben.
- Enabling teams daarentegen zijn gericht op het ondersteunen van andere teams in de organisatie, wat betekent dat ze een sterk focus hebben op samenwerking en ondersteuning.
- Complicated subsystem teams hebben vaak een sterke focus op innovatie en het ontwikkelen van nieuwe technologieën en processen. Dit betekent dat ze vaak een meer risicovolle benadering hebben en bereid zijn om nieuwe ideeën uit te proberen.
- Platform-teams hebben ten slotte een sterke focus op stabiliteit en veiligheid. Ze zorgen ervoor dat de technologische basis van de organisatie stabiel is en efficiënt wordt gebruikt. Dit betekent dat ze vaak meer nadruk leggen op controle en veiligheid dan andere teams.
Kortom, terwijl alle teams in “Team Topologies” zich richten op het leveren van waarde aan de klant en samenwerking tussen teams, hebben ze elk hun eigen unieke kenmerken en gedragingen die hen onderscheiden van andere teams in de organisatie.
Effectief samenwerken? Vier interactiemodi!
In “Team Topologies” worden drie interactiemodi beschreven die teams kunnen gebruiken om effectief samen te werken. Hier zijn de drie interactiemodi:
1. Collaboration- samenwerken
Dit is een interactiemodus waarbij teamleden actief samenwerken om gemeenschappelijke doelen te bereiken. Dit omvat co-creatie, coördinatie en communicatie. Teamleden zijn actief betrokken bij elkaars werkzaamheden en werken samen om betere resultaten te behalen. Deze interactiemodus kan effectief zijn voor Development Teams en Platform Teams die samenwerken aan de ontwikkeling en implementatie van softwareoplossingen.
2. X-as-a-Service
Dit is een interactiemodus waarbij teams hun diensten aanbieden als een product aan andere teams binnen het bedrijf. Het omvat interne dienstverlening en self-service. Teams die diensten aanbieden, zorgen voor gestandaardiseerde interfaces en documentatie om andere teams in staat te stellen hun eigen werkzaamheden uit te voeren.
Deze interactiemodus kan effectief zijn voor Platform Teams die services aanbieden aan Development Teams en andere teams binnen het bedrijf.
3. Facilitation – faciliteren
Dit is een interactiemodus waarbij een team of individu verantwoordelijk is voor het faciliteren van de samenwerking tussen andere teams. Dit omvat ook coaching en mentoring. Het faciliterende team werkt als een brug tussen verschillende teams en zorgt ervoor dat de samenwerking soepel verloopt. Deze interactiemodus kan effectief zijn voor een team dat verantwoordelijk is voor de architectuur van een systeem en die andere teams helpt bij het begrijpen van de architectuur en bij het nemen van technische beslissingen.
In “Team Topologies” wordt benadrukt dat het belangrijk is om de juiste interactiemodi te kiezen op basis van de context en de doelstellingen van het project en dat teams flexibel moeten zijn om van interactiemodus te veranderen als dat nodig is. Dat betekent o.a. open staan voor nieuwe ideeën en om regelmatig feedback te geven en te ontvangen om de samenwerking tussen teams te verbeteren.
Team Topologies, agile en DevOps
Interessant is wellicht de vraag hoe Team Topologies zich verhoudt tot andere agile en DevOps-methoden.
Team Topologies richt zich op het ontwerpen van teams en hoe deze teams effectief kunnen samenwerken om software op een snelle en betrouwbare manier te leveren. Andere agile methoden, zoals Scrum en Kanban, leggen de nadruk op het plannen, monitoren en beheren van werk om de productiviteit en kwaliteit te verbeteren.
DevOps is een bredere filosofie en cultuur die gericht is op het integreren van de ontwikkeling, het testen en het inzetten van software om de time-to-market te versnellen en de kwaliteit van de software te verbeteren. Team Topologies past binnen DevOps omdat het zich richt op het ontwerpen van teams die samenwerken om deze doelen te bereiken.
In de praktijk worden deze methoden vaak gecombineerd en aangepast om te voldoen aan de specifieke behoeften van een organisatie. Het belangrijkste is om te begrijpen wat elk van deze methoden te bieden heeft en hoe ze kunnen worden toegepast om de effectiviteit en efficiëntie van softwareontwikkeling te verbeteren
Impact op organisatie
Team Topologies kan een aanzienlijke impact hebben op de cultuur en structuur van een organisatie, vooral als de implementatie ervan leidt tot veranderingen in de manier waarop teams samenwerken en communiceren.
Een van de belangrijkste voordelen van Team Topologies is dat het kan leiden tot meer focus en duidelijkheid binnen teams. Door het definiëren van duidelijke verantwoordelijkheden en communicatiekanalen kunnen teams zich beter concentreren op hun werk en betere resultaten behalen.
Daarnaast kan Team Topologies ook helpen bij het stimuleren van innovatie binnen organisaties. Door het creëren van meer flexibele teams en het aanmoedigen van samenwerking en uitwisseling van kennis en ideeën, kunnen organisaties nieuwe oplossingen en manieren van werken ontdekken.
Aan de andere kant kan de implementatie van Team Topologies ook weerstand oproepen bij medewerkers die zich comfortabel voelen met de huidige manier van werken. Het kan ook tijd en middelen kosten om de nieuwe teams en structuren op te zetten en in te bedden in de organisatie.
Tot slot
In Team Topologies wordt benadrukt dat het belangrijk is om niet alleen te focussen op één enkele methodologie of model, maar om verschillende methodologieën en modellen te combineren om de beste resultaten te behalen. Team Topologies benadrukt het belang van flexibiliteit en aanpassingsvermogen bij het organiseren en werken van teams.
Team Topologies die op zichzelf staat zal geen effectieve software systemen laten ontstaan. Want daarnaast is er ook nodig: een ondernemende can-do cultuur, goede engineering, gezonde financiële modellen en een duidelijke visie op de business.
Soms onderschat men het belang van de business insteek, maar veiliger en snellere verandering van software systemen is een vorm van Business Agility. En zoals je weet is Business Agility het vermogen om snel (in een paar uur) te reageren op veranderde interne en externe condities.
In een VUCA wereld is het belangrijk om het operating model te optimaliseren voor een ‘fast flow of value’. Dit doe je door jezelf te organiseren rondom een ‘loosely coupled value streams’. Teams dienen zich te focussen op gebruikersbehoeften en UX EN de omgeving waar te nemen om snel de koers te kunnen veranderen.
Want dat is Team Topologies op een hoger abstractie niveau: fast flow, snelle feedback, team interactie, evolutie van de organisatie, team cognitive load en omgaan met de huidige belemmeringen in de organisatie.