Mob Programming et #NoEstimates
Une équipe qui ne fournit aucune estimation à personne et décide de
travailler sur un seul ordinateur…
…et leur management en redemande !
Nicolas Umiastowski
Coach Agile
@n_umiastowski
Vendredi 14 octobre 2016
Le Mob Programming en une phrase
Tous les brillants esprits travaillant
Sur la même chose
En même temps
Au même endroit
Sur le même ordinateur
Woody Zuill
Trad. n_umiastowski
Strong-style pairing
"For an idea to go from your head into the computer it MUST
go through someone else's hands“
“Pour qu’une idée puisse aller de votre tête jusque dans
l’ordinateur, elle DOIT passer par les mains de quelqu’un
d’autre.”
Traduction n_umiastowski
Llewellyn Falco
Organisation
Navigateur
Navigateur Navigateur
Navigateur
Pilote
maxPointsPossible : Int
maxPointsPossible =
lengthOfListofQuestions * 3
currentNumberofPoints =
List.sum <| Dict.values <|
model.scoreList
Timer par
@ChristophLucian
Organisation – Autre modèle
Navigateur
Navigateur Navigateur Navigateur
Pilote
maxPointsPossible : Int
maxPointsPossible =
lengthOfListofQuestions * 3
currentNumberofPoints =
List.sum <| Dict.values <|
model.scoreList
Navigateur
principal
San Marcos, Californie, Etats-Unis
Hunter Industries
Hunter Industries, communément appelée Hunter, est une
entreprise parmi les plus importants fabricants mondiaux de
produits d'arrosage automatique pour espaces verts, terrains
de sport et golfs.
fr.wikipedia.org
Le Mob Programming au quotidien
Tous les brillants esprits travaillant
Sur la même chose
En même temps
Au même endroit
Sur le même ordinateur
Woody Zuill
Trad. n_umiastowski
Tout au long de la journée, tous les jours
Hunter Industries : transformation agile
2011 2016
Une équipe :
Agile : Agile Manifesto
#NoEstimates
Mob Programming
Waterfall
8 équipes
travaillent
sur ce
mode
Recrutement d’un
development
manager / agile
coach
pour une équipe
Woody Zuill
A quoi cela ressemble – Vu de devant
A quoi cela ressemble – Vu de devant
A quoi cela ressemble – Vu des développeurs
A quoi cela ressemble – Vu des développeurs
A quoi cela ressemble – Vu des développeurs
Organisation
Navigateur
Navigateur Navigateur
Navigateur
Pilote
maxPointsPossible : Int
maxPointsPossible =
lengthOfListofQuestions * 3
currentNumberofPoints =
List.sum <| Dict.values <|
model.scoreList
Timer par
@ChristophLucian
Mob Programming Timer
Mob Programming Timer
Mob Programming Timer
Mob Programming Timer
Le Mob Programming au delà de la programmation
Tous les brillants esprits travaillant
Sur la même chose
En même temps
Au même endroit
Sur le même ordinateur
Une seule adresse Email
Un seul téléphone
Toutes les communications se font en commun
Tout se fait en commun
Le Mob Programming au delà de la programmation
Le Mob Programming au delà de la programmation
Concevoir
Coder
Tester
Intégration continue
Déploiement continu
Recrutement
Apprentissage
…
Une équipe… des succès… qui ont essaimé
Quasiment aucun bug pendant 4 ans
Code robuste et testé
Aucune heure supplémentaire…
…8h – 17h (étude tous les matin de 8h à 9h)
Les managers ont demandé à étendre le Mob Programming à plusieurs
équipes
8 équipes en Mob Programming aujourd’hui
8 équipes en Mob Programming aujourd’hui
Comment commencer?
Y’a un début à
tout…
Comment commencer?
1/ Présenter le concept
2/ Commencer… avec une équipe motivée… et qui s’entend bien
3/ Ne pas demander l’autorisation
4/ 1 heure… par jour... par semaine…
Comment on interagit ensemble ?
Fizz Buzz ? Foo Bar ? Roman to Numerals?
Code d’une fonctionnalité produit? (c’est le code de quelqu’un )
5/ Faire des rétrospectives fréquentes
6/ Et plus si affinités
Et voilà ! That’s it ?
Bénéfices
C’est FUN !
Transmission de la connaissance (métier, technique)
Plus de super-héros
Améliorer les interactions
S’entre-aider en permanence
et non en « best effort »
Les problèmes commencent…
Tous ensemble tout le temps…
Les tensions apparaissent…
Et sont exacerbées…
Que faire ?
RETROSPECTIVE
Comment je veux être traité et traiter les autres ?
Gentilllesse
Considération
Respect
Effets connexes
Automatisation d’un maximum de tâches
Discipline sur les bonnes pratiques (tests unitaire, refactorisation)
Moins de stress
S’améliorer sur les « soft-skills »
Rétrospectives sur l’instant
Plus de stand-ups
Scrum Master ??!!
One-piece flow...
#NoEstimates?
One-piece flow
Développeurs : Quelle est la prochaine priorité….
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Quelle est la prochaine priorité….
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
On livre (très) souvent
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
Développeurs : Suivante ?
Métier : celle-là
Développeurs : OK
Développeurs : …
Développeurs : c’est fait !
On veut livrer (très très) souvent
> Intégration continue
> Test-Driven Development
> Behaviour-Driven development
> Apprentissage quotidien
> Chaque équipier est un coach dans un domaine
> Le métier est présent au moins une heure par jour
> Il voit le produit qui se construit
> Il répond aux questions rapidement (discussion > Skype > téléphone…)
On veut livrer (très très) souvent
Ca va vite !
Qu’est-ce qui nous freine encore ?
Les estimations !
On veut découper en petites User Stories, et
livrer souvent des supers fonctionnalités, bien
développées et bien testées.
#NoEstimates
#NoEstimates :
Pas d’estimations,
à quoi servent les estimations,
ne pas baser les décisions uniquement sur des
estimations,
parler des estimations,
trouver des alternatives aux estimations,
découper n’est pas estimer
…
#NoEstimates
It’s in the doing of the work that we discover the work that
needs to be done
Woody Zuill
C’est en faisant le travail que l’on découvre le travail qui doit
être fait
Traduction Nicolas Umiastowski
#NoEstimates est avant tout un lieu de réflexion
Ne pas oublier le # dans #NoEstimates. Syndrome twitter :
Pensée simplifiée
Querelles de chapelles
Résumé rapides
Prise de position excessives
Ne pas oublier le Not Only dans #NotOnlyEstimates
#NoEstimates dans mon contexte (grandes organisations)
Une raison principale : les estimations (temps, coût,
effort) sont prises pour des engagements
Le projet est drivé par les estimations
Les ressources humaines sont pressurées
Les freins sont livrés avec ce modèle :
peu d’entraide
peu de motivation réelle
la vision produit qui se liquéfie
…
#NoEstimates dans une grande organisation
Ce qu’il faut améliorer avant tout
Visualiser le workflow existant
Repérer la contrainte principale
Alléger cette contrainte
Repérer la nouvelle contrainte principale
Alléger cette contrainte
Simplifier le process
Coacher métier et développeurs
#NoEstimates dans une grande organisation
Ce qu’il faut améliorer avant tout
#NoEstimates : Yes or No?
…Et les estimations ?
Si l’équipe les juge utiles : estimons !
Si le management les réclame : estimons !
Si les problèmes se résolvent, que l’équipe livre mieux et
plus souvent, des petite User Stories…ne parlons pas
d’estimations !
#NoEstimates est avant tout un lieu de réflexion
Donc #NoEstimates :
Discussion : Pourquoi estimer ? A quel prix ?
Choix : participer à la discussion,
ne plus faire d’estimations,
ne pas faire toujours des estimations….
Discutons !
Pour en revenir à l’exemple Hunter Industries…..
Faire venir un coach
Lui laisser l’initiative
Attendre des succès avec une équipe
Ancrer le savoir (apprentissage, répétition)
Laisser le coach s’en aller
Etendre à plusieurs équipes
Hunter Industries…..
On parle beaucoup de « Scaling Agile » (Agile à l’échelle)
> Spotify
> SAFe
> DAD
> Scrum of Scrum (2001…)
On parle peu de Hunter….
Et pourtant !
Mob Programming, #NoEstimates, Hunter Industries
Questions ?

Mob Programming et #NoEstimates : contre-intuitif et efficace

  • 1.
    Mob Programming et#NoEstimates Une équipe qui ne fournit aucune estimation à personne et décide de travailler sur un seul ordinateur… …et leur management en redemande ! Nicolas Umiastowski Coach Agile @n_umiastowski Vendredi 14 octobre 2016
  • 2.
    Le Mob Programmingen une phrase Tous les brillants esprits travaillant Sur la même chose En même temps Au même endroit Sur le même ordinateur Woody Zuill Trad. n_umiastowski
  • 3.
    Strong-style pairing "For anidea to go from your head into the computer it MUST go through someone else's hands“ “Pour qu’une idée puisse aller de votre tête jusque dans l’ordinateur, elle DOIT passer par les mains de quelqu’un d’autre.” Traduction n_umiastowski Llewellyn Falco
  • 4.
    Organisation Navigateur Navigateur Navigateur Navigateur Pilote maxPointsPossible :Int maxPointsPossible = lengthOfListofQuestions * 3 currentNumberofPoints = List.sum <| Dict.values <| model.scoreList Timer par @ChristophLucian
  • 5.
    Organisation – Autremodèle Navigateur Navigateur Navigateur Navigateur Pilote maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3 currentNumberofPoints = List.sum <| Dict.values <| model.scoreList Navigateur principal
  • 6.
  • 7.
    Hunter Industries Hunter Industries,communément appelée Hunter, est une entreprise parmi les plus importants fabricants mondiaux de produits d'arrosage automatique pour espaces verts, terrains de sport et golfs. fr.wikipedia.org
  • 8.
    Le Mob Programmingau quotidien Tous les brillants esprits travaillant Sur la même chose En même temps Au même endroit Sur le même ordinateur Woody Zuill Trad. n_umiastowski Tout au long de la journée, tous les jours
  • 9.
    Hunter Industries :transformation agile 2011 2016 Une équipe : Agile : Agile Manifesto #NoEstimates Mob Programming Waterfall 8 équipes travaillent sur ce mode Recrutement d’un development manager / agile coach pour une équipe Woody Zuill
  • 10.
    A quoi celaressemble – Vu de devant
  • 11.
    A quoi celaressemble – Vu de devant
  • 12.
    A quoi celaressemble – Vu des développeurs
  • 13.
    A quoi celaressemble – Vu des développeurs
  • 14.
    A quoi celaressemble – Vu des développeurs
  • 15.
    Organisation Navigateur Navigateur Navigateur Navigateur Pilote maxPointsPossible :Int maxPointsPossible = lengthOfListofQuestions * 3 currentNumberofPoints = List.sum <| Dict.values <| model.scoreList Timer par @ChristophLucian
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
    Le Mob Programmingau delà de la programmation Tous les brillants esprits travaillant Sur la même chose En même temps Au même endroit Sur le même ordinateur Une seule adresse Email Un seul téléphone Toutes les communications se font en commun Tout se fait en commun
  • 21.
    Le Mob Programmingau delà de la programmation
  • 22.
    Le Mob Programmingau delà de la programmation Concevoir Coder Tester Intégration continue Déploiement continu Recrutement Apprentissage …
  • 23.
    Une équipe… dessuccès… qui ont essaimé Quasiment aucun bug pendant 4 ans Code robuste et testé Aucune heure supplémentaire… …8h – 17h (étude tous les matin de 8h à 9h) Les managers ont demandé à étendre le Mob Programming à plusieurs équipes
  • 24.
    8 équipes enMob Programming aujourd’hui
  • 25.
    8 équipes enMob Programming aujourd’hui
  • 26.
    Comment commencer? Y’a undébut à tout…
  • 27.
    Comment commencer? 1/ Présenterle concept 2/ Commencer… avec une équipe motivée… et qui s’entend bien 3/ Ne pas demander l’autorisation 4/ 1 heure… par jour... par semaine… Comment on interagit ensemble ? Fizz Buzz ? Foo Bar ? Roman to Numerals? Code d’une fonctionnalité produit? (c’est le code de quelqu’un ) 5/ Faire des rétrospectives fréquentes 6/ Et plus si affinités Et voilà ! That’s it ?
  • 28.
    Bénéfices C’est FUN ! Transmissionde la connaissance (métier, technique) Plus de super-héros Améliorer les interactions S’entre-aider en permanence et non en « best effort »
  • 29.
    Les problèmes commencent… Tousensemble tout le temps… Les tensions apparaissent… Et sont exacerbées… Que faire ? RETROSPECTIVE Comment je veux être traité et traiter les autres ? Gentilllesse Considération Respect
  • 30.
    Effets connexes Automatisation d’unmaximum de tâches Discipline sur les bonnes pratiques (tests unitaire, refactorisation) Moins de stress S’améliorer sur les « soft-skills » Rétrospectives sur l’instant Plus de stand-ups Scrum Master ??!! One-piece flow...
  • 31.
    #NoEstimates? One-piece flow Développeurs :Quelle est la prochaine priorité…. Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Quelle est la prochaine priorité…. Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait !
  • 32.
    On livre (très)souvent Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait ! Développeurs : Suivante ? Métier : celle-là Développeurs : OK Développeurs : … Développeurs : c’est fait !
  • 33.
    On veut livrer(très très) souvent > Intégration continue > Test-Driven Development > Behaviour-Driven development > Apprentissage quotidien > Chaque équipier est un coach dans un domaine > Le métier est présent au moins une heure par jour > Il voit le produit qui se construit > Il répond aux questions rapidement (discussion > Skype > téléphone…)
  • 34.
    On veut livrer(très très) souvent Ca va vite ! Qu’est-ce qui nous freine encore ? Les estimations ! On veut découper en petites User Stories, et livrer souvent des supers fonctionnalités, bien développées et bien testées.
  • 35.
    #NoEstimates #NoEstimates : Pas d’estimations, àquoi servent les estimations, ne pas baser les décisions uniquement sur des estimations, parler des estimations, trouver des alternatives aux estimations, découper n’est pas estimer …
  • 36.
    #NoEstimates It’s in thedoing of the work that we discover the work that needs to be done Woody Zuill C’est en faisant le travail que l’on découvre le travail qui doit être fait Traduction Nicolas Umiastowski
  • 37.
    #NoEstimates est avanttout un lieu de réflexion Ne pas oublier le # dans #NoEstimates. Syndrome twitter : Pensée simplifiée Querelles de chapelles Résumé rapides Prise de position excessives Ne pas oublier le Not Only dans #NotOnlyEstimates
  • 38.
    #NoEstimates dans moncontexte (grandes organisations) Une raison principale : les estimations (temps, coût, effort) sont prises pour des engagements Le projet est drivé par les estimations Les ressources humaines sont pressurées Les freins sont livrés avec ce modèle : peu d’entraide peu de motivation réelle la vision produit qui se liquéfie …
  • 39.
    #NoEstimates dans unegrande organisation Ce qu’il faut améliorer avant tout Visualiser le workflow existant Repérer la contrainte principale Alléger cette contrainte Repérer la nouvelle contrainte principale Alléger cette contrainte Simplifier le process Coacher métier et développeurs
  • 40.
    #NoEstimates dans unegrande organisation Ce qu’il faut améliorer avant tout
  • 41.
    #NoEstimates : Yesor No? …Et les estimations ? Si l’équipe les juge utiles : estimons ! Si le management les réclame : estimons ! Si les problèmes se résolvent, que l’équipe livre mieux et plus souvent, des petite User Stories…ne parlons pas d’estimations !
  • 42.
    #NoEstimates est avanttout un lieu de réflexion Donc #NoEstimates : Discussion : Pourquoi estimer ? A quel prix ? Choix : participer à la discussion, ne plus faire d’estimations, ne pas faire toujours des estimations…. Discutons !
  • 43.
    Pour en revenirà l’exemple Hunter Industries….. Faire venir un coach Lui laisser l’initiative Attendre des succès avec une équipe Ancrer le savoir (apprentissage, répétition) Laisser le coach s’en aller Etendre à plusieurs équipes
  • 44.
    Hunter Industries….. On parlebeaucoup de « Scaling Agile » (Agile à l’échelle) > Spotify > SAFe > DAD > Scrum of Scrum (2001…) On parle peu de Hunter…. Et pourtant !
  • 45.
    Mob Programming, #NoEstimates,Hunter Industries Questions ?