Zo zet u een succesvol Cloud Platform Team op



Crowd of passengers having fun in a bustling city on a vibrant floor

Published on June 2022 by Arjan Franzen

The four Team Topologies team types: stream-aligned, enabling, complicated-subsystem and platform.

The four Team Topologies team types: stream-aligned, enabling, complicated-subsystem and platform.

Pitch

De meeste organisaties hebben gecentraliseerde (cloud)platformteams (of zouden die moeten hebben). Het opzetten van deze teams is een mooie maar uitdagende klus. In 2019 publiceerden Matthew Skelton en Manuel Pais hun boek “Team Topologies”. Zij delen de geheimen van succesvolle teampatronen en interacties, zodat lezers de juiste teampatronen voor hun organisatie kunnen kiezen en laten evolueren, met als resultaat gezonde software en geoptimaliseerde waardestromen.

U wilt het gebruik van Cloud- of PaaS-diensten binnen uw organisatie faciliteren, transformeren of anderszins verbeteren, en u wilt een platformteam starten. Wat is een goede definitie van een platform?

Een digitaal platform is een fundament van self-service-API’s, tools, services, kennis en support, ingericht als een aantrekkelijk intern product. Autonome deliveryteams kunnen het platform gebruiken om productfeatures sneller te leveren, met minder afstemming. bron: martinfowler.com

In dit artikel en in het boek “Team Topologies” geldt bovenstaande als een bruikbare definitie van een platform.

Vier teamtypen

Nu bepalen we een archetype voor de teams die we willen creëren. Team Topologies onderscheidt vier typen teams; voor ons platformteam kiezen we uiteraard ‘platform’, maar de andere teamtypen spelen een belangrijke rol als enablers, specialisten of klanten.

Stream-aligned team

Het stream-aligned team is het meest voorkomende, primaire teamtype in uw organisatie. Typische voorbeelden zijn featureteams. De ‘stream’ is de continue stroom werk die is uitgelijnd met een bedrijfsdomein of organisatorische capaciteit.

Dit type team is uitgelijnd op één enkele, waardevolle stroom werk zoals:

  • Eén product of service
  • Een enkele set features
  • Eén user journey
  • Of één user persona

Dit team werkt aan het volledige leveringsproces (van idee tot productie).

Enabling team

Enabling teams verbeteren hun vaardigheden continu om voorop te blijven. Een enabling team bestaat uit specialisten in een bepaald technisch (of product) domein. Zij helpen het vaardighedengat te overbruggen en hebben een sterk collaboratieve aard. Ze voorkomen dat zij “ivoren torens” van kennis worden en vergroten de autonomie van stream-aligned teams door hun vaardigheden te laten groeien. Teams moeten geen permanente afhankelijkheid van een enabling team opbouwen. Wij gebruiken dit archetype voor ons Cloud Acceleration Team.

Complicated subsystem team

Verantwoordelijk voor het bouwen en onderhouden van een deel van het systeem dat sterk afhankelijk is van specialistische kennis. Het doel van een complicated-subsystem-team is de cognitieve belasting van stream-aligned teams te verlagen.

Voorbeelden :

  1. Videocodec
  2. Wiskundig model
  3. Realtime afletteringsalgoritme voor trades
  4. Transactierapportagesysteem voor financiële dienstverlening
  5. Gezichtsherkenningsengine
Platform Team

Het doel van dit teamtype is:

  • Stream-aligned teams in staat stellen met een grote mate van autonomie te leveren
  • Interne services aanbieden om de cognitieve belasting te verlagen die stream-aligned teams anders zouden hebben om deze onderliggende services zelf te ontwikkelen

Interactiemodi

Nu we de vier teamarchetypen hebben benoemd, beschrijven we 2 (van de 3) interactiemodi tussen de teams.

X-as-a-Service

Eén team consumeert iets (zoals een service of een API) dat door een ander team “as a service” wordt aangeboden. Verantwoordelijkheden zijn afgebakend en—als de grens effectief is—kan het consumerende team snel leveren. Het team dat de service levert, streeft ernaar die zo eenvoudig mogelijk af te nemen te maken.

Voorbeeld: Stream-aligned teams die Platform-as-a-service afnemen van een platformteam.

One team consuming a service provided by another across a clear responsibility boundary.

One team consuming a service provided by another across a clear responsibility boundary.

Facilitating

Eén team helpt een ander team om in een afgebakende periode nieuwe aanpakken te leren of te adopteren. Het team dat faciliteert, streeft ernaar het andere team zo snel mogelijk zelfredzaam te maken, terwijl het team dat de facilitering ontvangt een open houding heeft.

Voorbeeld: Een enabling team dat een stream-aligned of platformteam helpt.

Het complete beeld

Als we de interactietypen en de teamtypen combineren, zien we een Cloud Platform Team (in het blauw) dat Platform-as-a-Service levert aan het stream-aligned featureteam (in het geel). Het stream-aligned team wordt ondersteund door het complicated-subsystem-team (in oranje/bruin) voor specialistische kennis van handelsystemen en wordt gefaciliteerd (gestippelde overlap) door het Cloud Acceleration Team (in paars).

A Cloud Platform Team providing Platform-as-a-Service to a stream-aligned Feature Team, which is assisted by a complicated-subsystem team.

A Cloud Platform Team providing Platform-as-a-Service to a stream-aligned Feature Team, which is assisted by a complicated-subsystem team.

Met deze beschreven rollen en verantwoordelijkheden kan uw organisatie platforms op schaal benutten en onder- én over-engineering en lange wachtrijen door overbelaste centrale cloudteams voorkomen. Die wachtrijen leiden tot vervelende neveneffecten zoals beveiligingsproblemen, shadow IT, hogere uitstroom en lagere engineer engagement. Team Topologies maakt voor uw organisatie heel duidelijk wat de verantwoordelijkheden van het team zijn en hoe het met andere teams samenwerkt. Dat voorkomt al deze neveneffecten en zorgt voor optimale flow in uw organisatie.

Meer weten?

Krachtige softwareteams zijn essentieel voor elke organisatie om continu en duurzaam waarde te leveren. Team Topologies is een praktisch, stapsgewijs en adaptief model voor organisatieontwerp en interactie, gebaseerd op vier fundamentele teamtypen en drie interactiepatronen tussen teams.

Het is een model dat teams ziet als het primaire middel om te leveren, waarbij teamstructuren en communicatiepaden kunnen evolueren met technologische en organisatorische volwassenheid. Een goede samenvatting van het boek is hier te vinden, of u kunt het boek hier kopen.

Implement DevOps

Implementing DevOps requires linking the support systems to bring the ‘Dev’ to the ‘Ops’ and vice versa.

Find out how to set this up in 30 minutes yourselves.

Go DevOps!