Skip to main content

KOM I MÅL MED DINE DIGITALE AMBITIONER

Vi får vores kunder fra idé til værdiskabende digitale produkter. Vores faglige diversitet er vores største styrke, og med over 300 eksperter kan vi helt sikkert også hjælpe dig.

Sådan skaber du højtydende softwareteams med Team Topologies

Fra heltekultur til teamflow

Har it-branchen skabt en kultur, hvor enkeltpræstationer hyldes? Hvor de såkaldte 10x-udvilklere er afgørende for et projekts succes? Og er det overhovedet hensigtsmæssigt, at nogle få individer skal bære det store ansvar? Team Topologies peger i stedet på, at teams er kernen i at levere produkter af høj kvalitet effektivt.

Forestil dig et softwareteam, hvor meget afhænger af én superstjerneudvikler. Når hun tager på ferie, opstår der usikkerhed i teamet, kollegaerne føler sig pressede, og der sniger sig fejl ind i koden. Det er et tydeligt tegn på en sårbar teamstruktur – og præcis det problem, Team Topologies forsøger at løse. 

I det her blogindlæg udforsker vi principperne i Team Topologies og ser på, hvilken betydning teaminteraktioner har for softwarearkitekturen. Henning Böttger er Senior Software Architect hos Mjølner, og han kommer med konkrete bud på, hvordan man gør et team effektivt. Det gælder om at designe vores teams, så de fremmer samarbejde, reducerer friktion og opretholder bæredygtig produktivitet. Og så er det nødvendigt at håndtere den kognitive belastning, hvis man vil skabe højtydende teams.  

Du kan også se hele Hennings foredrag om emnet i bunden af denne side.

De sociotekniske aspekter af teams  ifølge team topologies

For at forstå, hvorfor nogle teams præsterer bedre end andre, er det nødvendigt at undersøge de sociotekniske dynamikker, som påvirker teamets effektivitet. Det indebærer både menneskelige samarbejdsmønstre og de tekniske strukturer, der former softwareudvikling.  

Effektiv teamdesign handler som sagt om mere end blot at samle dygtige enkeltpersoner. Den måde, teams interagerer på, afgør deres evne til at levere værdi effektivt. Team Topologies introducerer en struktureret tilgang til organisering af teams baseret på deres funktion og kommunikationsmønstre.  

I stedet for at stole på en heltekultur, hvor enkelte individer bærer en uforholdsmæssig stor byrde, bør organisationer i stedet fokusere på at opbygge selvstændige teams med klare ansvarsområder og færre afhængigheder. Denne tilgang fører til mere forudsigelige resultater og en bæredygtig udviklingstakt. Som Henning påpeger, kan det skabe en negativ spiral, når fokus ligger på individer frem for teamet: 

„Vi kan få en heltekultur, hvor enkelte individer altid går ind og redder dagen. Det skaber en selvforstærkende effekt, hvor heltene bliver klogere og vigtigere, mens resten af teamet ikke udvikler sig på samme måde.‟ 

Conways lov: Den skjulte skabelon for softwaredesign 

En af de mest grundlæggende koncepter inden for teamorganisering er Conways lov, der bygger på Melvin E. Conways banebrydende artikel fra 1967: How Do Committees Invent? Loven fastslår, at den måde, teams kommunikerer og interagerer på, påvirker arkitekturen af de systemer, de skaber. Når organisationer er opdelt i siloer, vil deres software afspejle den opdeling, hvilket ofte fører til ineffektivitet og fragmenterede systemer. Henning påpeger, hvor vigtigt det er at være opmærksom på denne sammenhæng: 

„Hvis organisationens struktur og arkitekturen er i modstrid, så vinder organisationen altid. Det betyder, at selv de bedste arkitektoniske ambitioner kan blive undermineret af dårligt designede teams.‟ 

Omvendt kan organisationer, der bevidst designer deres teamstrukturer til at understøtte de ønskede arkitektoniske resultater, skabe skalerbar og vedligeholdelsesvenlig software. I stedet for at forsøge at rette softwareproblemer efter de opstår, bør virksomheder fokusere på at forbedre teamkommunikation og alignment først, da det naturligt vil føre til bedre systemer.

Dunbars tal: Hvorfor små teams fungerer bedst

Et teams effektivitet påvirkes også af Dunbars tal, som antyder, at mennesker kun kan opretholde stærke, tillidsbaserede relationer med et begrænset antal personer. I 1990’erne opdagede den britiske antropolog og evolutionære psykolog Robin Dunbar en sammenhæng mellem hjernestørrelse og gruppestørrelse hos primater. Han fremsatte hypotesen om, at mennesker har en kognitiv grænse for, hvor mange sociale relationer vi kan håndtere effektivt. 

For softwareteams betyder det, at mindre, tæt forbundne grupper er mere effektive til at kommunikere og løse komplekse problemer. Dunbars tal for større netværk estimeres til at være omkring 150, mens det for tætte og tillidsbaserede grupper ligger på 5-15. Henning beskriver det sådan her: 

Diagram representing different quantities of stable social relationships, with Dunbar's Number, 150, in the center.

„Vi ved, at high-performance teams skal have tillid. Derfor bør vi holde teams små og tæt sammentømrede, så de kan fungere uden unødige afhængigheder.‟ 

Når teams bliver for store, bliver koordinering vanskeligere, samarbejdet svækkes, og beslutningsprocessen bremses. Derfor begrænser mange højtydende organisationer teamstørrelser og sikrer, at hvert team forbliver lille nok til at fungere effektivt uden unødvendigt bureaukrati eller friktion.  

Amazon har fx implementeret den berømte „two-pizza rule‟, hvor hvert udviklingsteam skal være så lille, at det kan blive mæt af to familiepizzaer – typisk 6-10 personer. Små, autonome teams gør det lettere at tilpasse sig ændringer og reducerer afhængigheder, hvilket sikrer, at softwarearkitekturen forbliver fleksibel og modulær. 

Håndter kognitiv belastning for maksimal effektivitet 

Udover teamstørrelse og kommunikationsmønstre er en anden kritisk faktor i produktivitet kognitiv belastningden samlede mentale indsats, der kræves for at udføre en opgave. Når udviklere overvældes af komplekse systemer, ineffektive processer eller overdrevne ansvarsområder, falder produktiviteten. Henning reflekterer over, at hvordan det som udvikler kan opleves at ramme en mental mur: 

„Jeg sidder tit og tænker: Hvorfor er det her så svært? Jeg kender teknologien, men der er så meget friktion i testmiljøet og processerne, at jeg bliver drænet mentalt. Det er det, der sker, når kognitiv belastning bliver for høj.‟ 

For at reducere den kognitive belastning, bør man begrænse teamets ansvarsområde (bounded contexts). Det gælder om at opsætte klare grænser, så et enkelt team ikke er involveret i for mange domæner eller teknologier – det kan f.eks. ske ved hjælp af Domain-Driven Design, hvor et team kan fokusere på én værdistrøm. 

Strukturering og design af teams for høj ydeevne 

I forlængelse af at reducere den kognitive belastning at det afgørende, at de enkelte teams designes efter deres specifikke formål. Med en klar forståelse af sociotekniske dynamikker kan organisationer nemlig strukturere deres teams mere effektivt. Team Topologies beskriver fire centrale teamtyper:  

  • Strømlinede teams – Ansvarlige for at levere end-to-end forretningsværdi og eje specifikke funktioner eller domæner.  
  • Muliggørende teams – Hjælper strømlinede teams med at tilegne sig nye færdigheder, såsom DevOps-praksisser eller sikkerhedsekspertise.  
  • Platformteams – Vedligeholder fælles infrastruktur og reducerer den operationelle byrde for udviklingsteams.  
  • Komplekse subsystemteams – Håndterer specialiserede, komplekse komponenter, der kræver dyb teknisk ekspertise.  

En velorganiseret teamstruktur handler ikke kun om at definere teamtyper, men også om, hvordan de enkelte teams samarbejder. Team Topologies identificerer tre primære interaktionsformer:  

  • Samarbejde – Teams arbejder tæt sammen, når de løser nye eller komplekse problemer.  
  • Facilitering – Ét team hjælper et andet med at udvikle nye kompetencer og trækker sig derefter tilbage.  
  • Access-as-a-Service – Teams interagerer med minimal direkte kommunikation via veldefinerede API’er eller automatiserede processer.  

Selvom klar kommunikation og godt samarbejde er parametre, der kan opfattes som ”bløde” og svære at måle, kan de have afgørende betydning for forretningen og bundlinjen. Som Henning formulerer det:  

„Vi kan have de bedste processer på papiret, men hvis teams ikke kommunikerer effektivt eller har den rigtige struktur, falder det hele fra hinanden.‟ 

Tag skridtet fra teori til praksis med team topologies

Team Topologies viser os, at succes i softwareudvikling ikke kun handler om talent, men også om struktur. Ved at designe teams med klare roller, reducere kognitiv belastning og forstå samspillet mellem mennesker og teknologi, kan organisationer skabe mere effektive og bæredygtige udviklingsteams. 

Uanset om du arbejder i en stor virksomhed eller en startup, kan små ændringer i teamorganisering have stor effekt. I kan starte med at kortlægge jeres afhængigheder, identificére flaskehalse, og overveje, hvordan teamdesign kan understøtte jeres arkitektur fremfor at modarbejde den. Måske kan Team Topologies netop hjælpe jer med at skabe bedre samarbejde og mere robuste systemer.

„Det her handler ikke om en revolution, men om små, meningsfulde justeringer, der kan gøre en kæmpe forskel.‟

Mjølner logo