Team topologies expliqué à Ted LASSO

--

TLDR; Chaque fois que j’ai besoin d’expliquer à quelqu’un les 4 types d’équipes de Team Topologies, je finis par faire une analogie avec les différents postes dans le football. Voici la brève explication de ces 4 types d’équipes avec leurs équivalents footballistiques (et une feuille de match de triche à la fin).

English version here

Avant team topologies

Il y a plus de 20 ans, le Domain Driven Design (DDD) proposait de rendre autonomes les équipes de développement en regroupant des zones métier cohérentes. Cette approche visait à réduire les dépendances inutiles et à créer des architectures modulaires. Cependant, DDD ne fournissait pas de recommandations organisationnelles (mais plutôt des patterns pour survivre et performer dans telle ou telle situation de dépendances entre équipes)

Et puis…

C’est bien plus tard que l’ouvrage Team Topologies de Matthew Skelton et Manuel Pais est apparu, et s’est penché sur l’efficacité organisationnelle dans le contexte du développement logiciel. Ce livre désormais devenu cardinal pour notre industrie, a mis l’accent sur la charge cognitive à ne pas dépasser pour les équipes, et a exploré comment différents types d’équipes pouvaient interagir.

Un ouvrage qui a donné une grammaire au monde de la tech et du management

4 types d’équipes

Quand je dois expliquer les caractéristiques des 4 topologies / types d’équipes présentées par Matthew et Manuel dans leur ouvrage, j’aime également à faire l’analogie avec les différents rôles et postes d’une équipe de foot.

Je ne compare pas les types d’équipes que l’on trouve dans les entreprises avec les types d’équipes que l’on trouve dans le football. Non, je compare ici plutôt les types d’équipes qu’on retrouve dans les entreprises, avec les différents postes qu’on retrouve dans une équipe de football.

1- Stream-aligned teams

Sont des équipes pluri-disciplinaires (produit et tech) qui ont pour mission de développer de nouvelles capacités et fonctionnalités. Le terme stream se veut ici générique pour montrer que leur but est de créer et de fournir de la valeur en flux continu au client ou à l’utilisateur. Une stream-aligned team le fait aussi rapidement -mais aussi indépendamment et de manière fiable- que possible.

Les stream-aligned teams sont le type d’équipe principal d’une organisation. Et le but des autres types d’équipes (voir ci-dessous) est de les mettre eux dans les meilleures dispositions possible.

Si on prend l’analogie avec une équipe de football, ce sont les attaquants ou les buteurs de l’organisation (c.ad. ici, de « l’équipe de foot »)

2 — Complicated-subsystem teams

Sont des équipes en charge d’un système complexe, tellement complexe qu’il nécessite une forte expertise (technique, métier, ou parfois les 2) et une maîtrise qu’il ne serait pas raisonnable d’exiger de toutes les autres équipes de l’organisation. Ces équipes sont très souvent transverses, car leur système complexe est en général utilisé par pleins d’autres équipes (ex: Système d’identification, d’autorisation, une partie métier très complexe, etc.).

Ces équipes jouent le rôle de milieu défensifs de « l’équipe ». Sans leur travail, les stream-aligned teams prendraient le bouillon en défense à essayer de faire ces choses compliquées au lieu de faire leur boulot d’attaquants qui doivent marquer des buts.

3 — Enabling teams

Sont des équipes transverses qui sont au service des autres équipes (mais surtout les stream-aligned), pour les accompagner dans une réalisation (ils peuvent coder) ou les faire monter en compétence sur un sujet. Les enabling teams font aussi très souvent la veille technologique et l’innovation que les stream-aligned n’arrivent plus forcément à faire. En effet les stream-aligned sont parfois tellement la tête dans le guidon et occupées à rajouter des features ou changer le comportement du logiciel, qu’ils ou elles ont moins le temps pour ça. Les enabling teams ont un peu un rôle de coachs pour les autres.

Ce sont les milieux de terrain ou les ailiers qui font briller et donnent des passes décisives aux buteurs de l’équipe.

4 — Platform teams

Sont des équipes transverses qui aident à réduire la charge cognitive des stream-aligned teams en les déchargeant d’une partie des connaissances détaillées sur des sujets low-level, et en fournissant des services faciles à consommer autour d’eux (provisioning, monitoring ou déploiement)

Ce sont les défenseurs qui permettent à l’équipe de ne pas prendre de buts, mais surtout à fournir l’ossature d’équipe solide par dessus laquelle l’équipe dans son ensemble va pouvoir construire son jeu offensif.

Une bonne équipe est une équipe équilibrée et solide à tous les postes

Si vous avez vu la fin de la série Ted Lasso… vous comprendrez ce que je veux dire

Ou alors…

Effectivement, une équipe ou une culture d’entreprise où tout le monde se prendrait pour des buteurs (négligeant les tâches d’animation de milieu de terrain ou les tâches défensives) serait une équipe déséquilibrée qui risquerait alors de se prendre pleins de buts (en plus d’avoir sur les bras de sérieux problèmes d’égos).

C’est pour cette raison qu’une organisation efficace est une organisation qui prend conscience de ça, et dans laquelle tous les types d’équipes ont leur place et sont reconnues et appréciées à leur juste mesure.

Feuille de match de triche

On ne juge pas un défenseur au nombre de buts qu’il marque dans la saison…

C’est d’ailleurs un des sujets que j’aborde dans ma série en 3 épisodes sur les difficultés à collaborer dans les entreprises (Culture et dépendance).

--

--

Thomas Pierrain. (υѕe caѕe drιven)

Change Agent (powered by software). Symmathecist & VP of Engineering @AgicapFrance . Organizer of #DDDFR meetup #lowLatency #XP #nfluent creator