Support du talk "Design d'une organisation produit" à la flowcon24
Pitch
Pour minimiser les frictions entre la stratégie produit et les diverses formes d'organisation, nous cherchons à limiter le nombre de dépendances, qu'elles soient liées aux relations humaines ou techniques. Considérant que les organisations humaines et techniques sont imbriquées, nous proposons une méthodologie basée sur le Domain Driven Design (DDD), les Team Topologies (TT), et les Jobs To Be Done (JTBD), afin d'atteindre notre état idéal.
Dans cette session, nous ne nous plongerons pas dans la théorie des acronymes ; nous explorerons plutôt une approche pour briser/réduire/gérer les dépendances entre les équipes de développement. Cette approche portera sur la conception organisationnelle et les domaines de responsabilité.
Note : Cette approche est peu pertinente en dessous de trois équipes.
3. Peaksys,filiale Tech de Cdiscount
17 millions
de visiteurs uniques/mois
1 milliard
de recherches moteur/an
+ de 1000
commandes/minute
lors du Black Friday
15 000
vendeurs
80 millions
de produits
9700
mouvements
d’offre / seconde
+ 80 000
colis/jour lors du Black Friday
700 ms
Temps de descente d’une
commande aux entrepôts
3200
Vendeurs actifs
100 millions
d’impressions/jour
+ 100 000
requêtes filtrées/seconde
30%
d’économie de trafic via le
blocage des robots
Leader Français
du E-commerce
Filiale dédiée aux
Solutions marketplace
Filiale dédiée à
la logistique
Marque dédiée au
marketing digital
Marque dédiée à la
cybersécurité
ACTIVITÉ B2B
ACTIVITÉ B2C
650 passionné(e)sde tech 1 changement en production toutes les 3 minutes
5. Un peu de vocabulaire
5
Pour être sûr de bien se comprendre
MISSION(la raison d’être)
VISION (là où on veut aller)
STRATEGIE(le cheminpour y parvenir)
OBJECTIF(la prochaine étape)
PROJET / INITIATIVE / MACRO-THEME
(Ce qu’il faut changer) (Pourquoi ?) Contribue
à l’atteinte de cet…
Dans le cadre de notre…
De tendre vers cette…
Qui participe à notre…
Comment vais-je
accomplir…
Comment vais-je
accomplir…
Comment vais-je
accomplir…
Comment vais-je
accomplir…
6. Dans la pratique, ça ressemble à quoi ?
Vision & Stratégie
A retenir
Il n’y a pas de stratégie sans
changement.
La stratégie donne des options
pour aller vers la vision et savoir si
nous avançons.
Elle décrit les No go zones, les
options que nous choisissons
d’ignorer aujourd’hui.
https://publication.octo.com/fr/culture-produit-product-management-octo
7. A quoi ça sert d’avoir une stratégie ?
7
A avoir du focus
Fireworks by Cunder CC BY-2.0
8. 8
Avec une question
Quelle est l’organisation optimale
pour relier notre stratégie
avec notre exécution ?
Revenons à notre pont
Bridge noir by lennyk under CC BY2.0
9. Celle qui limite les frictions
9
Un bon alignement
Solar eclipse by CH under CC BY-NC-ND 2.0
10. La brique de base : L’équipe
10
Des équipes produit constantesdans le temps,
autonomes, responsablesde leurs assets, obsédéespar
la mesure, agiles, rapides et centrées utilisateurs.
Pattern by SC under CC BY-NC-ND-2.0
11. 11
Avec une question et une sous-question
Quelle est l’organisation optimale
pour relier notre stratégie
avec notre exécution ?
Revenons à notre pont
Quand faut-il adapter l’organisation ?
Bridge noir by lennyk under CC BY2.0
12. Quels changements sont importants ?
12
Stratégie
◼ Quand votre stratégie change. Soyez
attentifs à ces changements :
– Passage à un autre stade du cycle de
vie produit
– Passage d’une politique de croissance
à une politique de rentabilité. Et
inversement
Allocation de moyens
◼ Quand l’allocationde moyens change
de plus ou moins 10%
– Vrai à la baisse
– Vrai à la hausse
◼ Ce qui généralement impliqueune
modificationde la stratégie
https://dominikberner.ch/no-estimates-applied/
https://www.worklife.vc/blog/crossing-the-chasm
13. Quelle est la profondeur ?
13
Nous préférons une approche par petits pas
Croissance ou rentabilité
Jobs title
Staffing
…
Contrainte Option
Question mark by vhines200 under CCBY-ND 2.0
15. La nourriture de l’esprit #1
Team Topologies
Une approche "team-first"
de design d'organisation socio-technique.
16. Qu’est-ce qu’une équipe?
De 5 à 9 individus maximum qui collaborent à la réalisation d’un but commun.
La limite de 9 personnes est donnée par le(s) nombre(s)
de Dunbar et la double pizza team (Scrum, Amazon).
Au-delà de 9, la capacité des coéquipiers à se faire
confiance baisse, la prise de décision ainsi que les
processus de contrôle en pâtissent.
17. Team topologies décrit
4 types d’équipe
Les topologies d’équipe
Stream-aligned team
Enabling team
Complicated-subsystem
team
Platform team
18. Platform team
Stream-aligned team
Platform team
• Son but principal est d’être le “substrat” des stream-aligned teams
• ex. cloud, authentification, monitoring, ...
• Ne prend pas en charge la responsabilité du build/run/fix des
applications produites par les stream-aligned teams.
19. Enabling team
Stream-aligned team
Enabling
team
• Facilite la découverte, l’apprentissage, l’adoption de nouvelles
technologies/méthodologies/pratiques
• ex. coachs craft, coachs agiles, devOps advocates, architectes,
experts base de données, ...
21. Etape 1
Les options au regard de la stratégie
Titre de laprésentation -Date 21
22. Stream-aligned team
• Centrée autour d’un flux de valeur
• Minimise le nombre de “hands-off”
• Exposée au(x) feedback(s) (run, support)
• Typologie principale
23. Les objectifsvont nousdonnerleslagging indicatorsqui correspondentà l’objectif final
Les options vontnousaideravecdes leadingindicatorsà savoirsi nousnousrapprochonsde l’objectif
Leading et laggingindicatorssontliés
De quel « vapeur » parlons-nous ?
23
Les objectifs
Le triptyque
habituel
• Volume
• Plus de commandes
• Satisfaction
• Des clients plus contents
• Marge
• Moins de coûts
Les options
Les trois modèles
qui émergent
• Les gros paris
• Ajouter une nouvelle
gamme de services
• De nouveauxservices
• Ajouter des nouvelles
propositions de valeur
• Des variations
• Ajouter des options sur des
chaines de valeur
existantes
24. Les variations de Stream Aligned Team
24
L’option d’organisation
Chaines de valeur
Une équipe en charge d’un
service client
◼ Exemple : Réserver une chambre
◼ Focus : Utilisateur
◼ Cas d’usage : Création de nouvelles
chaines de valeur (traversantes)
◼ Avantages
• Orienté livraisonde valeur
• Peu de dépendances
opérationnellesentre équipes
◼ Inconvénients
• Les chaines de valeur doivent
être courtes et connues
• Duplicationpossible
• Cohérence technique à gérer
• Scale moyennement bien
Impact
Une équipe prend un besoin et le
traite de A à Z
◼ Exemple : Client Toto
◼ Focus : Client
◼ Cas d’usage : Limiter les couplages
entre grandes promesses
◼ Avantages
• Orienté livraisonde valeur
• Peu de dépendances
opérationnellesentre équipes
• Scale très bien
◼ Inconvénients
• Assets techniques partagés
• Les complexités techniqueset
fonctionnelles ne doivent pas
être trop importantes
Domaines métier
Un domaine métier appartient à
une seule équipe
◼ Exemple : Paiement, Offres
◼ Focus : Expertise métier
◼ Cas d’usage : Des variations sur des
chaines de valeur existantes
◼ Avantages
• Facile de manager la
complexitémétier
• Rôles et responsabilitésclairs,
peu de partage
◼ Inconvénients
• Assets techniques partagés
• Les complexités techniqueset
fonctionnelles ne doivent pas
être trop importantes
25. Etape 2 . Option 1
Les gros paris
Titre de laprésentation -Date 25
27. 27
Des couplages faibles
Dans un système (une organisation, une
équipe, une application, une base de code),
une entité est dite couplée à une autre si elle
dépend d’une ressource fournie par celle-ci.
Le prérequis
Tug of War by SHJ under CC BY-SA 2.0
28. Quelques exemples de couplage
28
Technique
◼ Deux assets techniques (unmodule
métier et un référentiel) discutent
entre eux de manière synchrone.
Quand le référentiel n’est pas
présent, le module métier ne
fonctionne plus.
◼ Nous avons un framework front
maisonqui est partagé auprès de
tous les assets techniques à
connotationfront. Quand ce
framework change, tous les assets
techniques sont impactés.
Fonctionnel
◼ Le domaine métier facturationest
partagé entre plusieurs assets
techniques. Vous comprenez, c’était
pour aller plus vite. Sauf que
maintenant, nous avons du code à
deux endroits avec de la pseudo
duplication.
◼ Nous avons un référentiel produit
qui sert pour de la vente, mais aussi
pour la partie logistique. Bienque
ce soient des domaines métier
différents, ils ont été fusionnés dans
un méta domaine métier.
Organisationnel
◼ Dans le cycle de développement
produit, tout nouveau changement
doit être validé par les architectes,
la sécurité, les product designers,…
(liste non exhaustive). Enrésumé,
des personnes extérieures à
l’équipe produit.
◼ Nous opérons un produit B2B et
pour ne pas perturber nos clients,
nous avons décidé d’activer en
productionles nouvelles
fonctionnalités de manière
mensuelle.
29. La nourriture de l’esprit #2
Domain Driven Design
Une approche « linguistique"
des problématiques métier
31. Etape 2 . Option 2
Les variations : Ajouter des options
Titre de laprésentation -Date 31
32. Par domaine métier
32
L’équipe a la responsabilité d’un périmètre métier
Tug of War by SHJ under CC BY-SA 2.0
Workers by Sue under CC BY-ND 2.0
33. Un exemple de domaine métier
Asset technique
Couleur =
Type de domaine
Vocabulaire clé
du domaine
Evénement
métier
Evénement
métier jonction
34. Un exemple de description
Nom du
domaine
Les points d’entrée
du domaine
Description
Les sorties du
domaine
35. Un exemple de carte des domaines
Titre de laprésentation -Date 35
36. Toute décision a en son temps été prise de manière logique.
Il est important de comprendre si la logique d’hier est encore la logique d’aujourd’hui.
Bien délimiter les frontières
36
Les zones de friction
Côté face
◼ L’utopie
Une équipe = Un domaine = Un
asset technique
◼ C’est chezmoi
Une équipe = Plusieurs domaines =
Plusieurs assets techniques
◼ Je gère mes imperfections
L’asset technique qui gère deux
domaines, mais appartient à une
seule équipe
◼ Le doublon
Deux équipes en parallèle sur un
même domaine.
Côté pile
◼ Seul au monde
L’asset technique seul dans la
nature. Ca appartient à qui déjà ?
◼ L’enferdes communs
Le framework maison qui appartient
à tout le monde et à personne
◼ Je vais mettre ça chezmoi,ça
sera plus simple …ou pas
Un domaine = Deux assets
techniques = Deux équipes
Le BFF intelligent
◼ La boite noire
Ca fait quoi déjà ce truc ? L’asset ou
le domaine dont personne ne veut
37. 37
L’option d’organisation
Les évolutions produit,
métier ou techniques,
doivent être le plus possible
mono équipe
L’indicateur : Nombre d’équipes par évolution
La règle de base
Bridge noir by lennyk under CC BY2.0
39. Etape 2 . Option 3
Les chaines de valeur
Titre de laprésentation -Date 39
40. Par chaine de valeur
40
L’équipe est orientée utilisateur, avec un catalogue de service alias le menu
Tug of War by SHJ under CC BY-SA 2.0
Yes Chef by DD under CC BY-NC2.0
41. La nourriture de l’esprit #3
Jobs to be done
Comprendre les motivations profondes
de nos utilisateurs
42. Un job exprime la motivation profonde d’une personne
lorsqu’elle utilise un produit ou un service
• Se faire
remarquer
• Décupler les
émotions d’un
événement
sportif
• Se sentir comme
un local
• Se déplacer
• Gagner de
l’argent sans
effort
• Dormir en
déplacement
Fonctionnelle Émotionnelle Sociale
43. Un job est agnostique de toute solution
Conduire une
voiture
Se déplacer
46. Des exemples sur le ecommerce
46
Job Performer = Utilisateur final
Top 5 Needs:
• Maximiser la pertinence
des résultats de
recherche.
• Minimiser le temps
nécessairepour trouver
des options adaptées.
• Maximiser la diversité
des choix disponibles.
• Minimiser la confusion
liée à la présentation
des résultats.
• Maximiser la clarté des
informations sur les
produits.
Top 5 Needs:
• Maximiser la précision
des informations sur
l'état de la commande.
• Minimiser l'anxiété liée
à l'attente de la
livraison.
• Maximiser la facilité
d'accès aux mises à
jour en temps réel.
• Minimiser la confusion
liée aux détails de
livraison.
• Maximiser la fiabilité
des notifications de
suivi.
Trouver des optionsde
produits répondant à mes
besoins
Suivre l'étatde ma
commande en temps réel
Top 5 Needs:
• Maximiser la facilité de
comparaisonentre les
produits.
• Minimiser l'effort requis
pour ajouter des
produits au panier.
• Maximiser la clarté des
informations sur les
produits.
• Minimiser l'incertitude
liée aux caractéris-
tiques des produits.
• Maximiser la confiance
dans le choix des
produits.
Choisirles produitsqui
correspondentà mes
préférences
Top 5 Needs:
• Maximiser la sécurité et
la confidentialitédes
transactions.
• Minimiser les étapes
complexesdu
processus d'achat.
• Maximiser la clarté des
options de paiement.
• Minimiser le temps
nécessairepour
finaliser l'achat.
• Maximiser la confiance
dans la procédure
d'achat.
Réaliserun achat en toute
sécurité
Job steps Job steps Job steps Job steps
Prompt ChatGpt
49. Complicated-subsystem team
Complicated-
subsystem
team
Stream-aligned team
• Prend en charge le développement d’une sous-partie du système qui
repose fortement sur des connaissances de spécialistes
• ex. module de streaming vidéo, reconnaissance faciale, ...
• Son but principal est de délester une stream-aligned team de la
charge cognitive du sous-système
53. 53
Un modèle à chaque couche
En dessous de 4 équipes, il n’y a pas réellement
d’organisation formelle.
Exemple : Des équipes composants
Entre 4 et 9 équipes, un seul modèle est nécessaire.
Il n’y a qu’une couche.
Exemple : Des impact teams par OKR
A partir de 10 équipes, nous arrivons sur une
organisation à plusieurs couches.
Exemple : En chaines de valeur, puis domaines métier
Le mode récursif
Fractale by fdecomite under CCBY 2.0
55. Une approche en 1+3 étapes
55
Les
catalyseurs
Platform&
Enabling teams
La stratégie
Choisir une option
d'organisation
Stream aligned
teams
Le modèle
Cartographier le
point de départ
Définir une cible
Le contexte
Adapterle modèle
à la réalité du
terrain
Complicated
subsystem teams
0
1 2 3
1 mois
56. Nos sources d’inspiration
56
TeamTopologies
Pour les types d’équipe et les modes
d’interaction
Domain DrivenDesign
Pour bien délimiter les périmètres de
responsabilités et voir les
problématiques.
Jobs to be done
Pour ajouter un prisme utilisateur et
identifier des regroupements