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 UmiastowskiCoach Agile
@n_umiastowski
Vendredi 14 octobre 2016
Le Mob Programming en une phrase
Tous les brillants esprits travaillantSur la même chose
En même tempsAu même endroit
Sur le même ordinateurWoody 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
NavigateurNavigateur Navigateur Navigateur
Pilote
maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = List.sum <| Dict.values <| model.scoreList
Timer par @ChristophLucian
Organisation – Autre modèle
NavigateurNavigateur Navigateur Navigateur
Pilote
maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = List.sum <| Dict.values <| model.scoreList
Navigateur principal
San Marcos, Californie, Etats-Unis
Hunter IndustriesHunter 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 travaillantSur la même chose
En même tempsAu même endroit
Sur le même ordinateurWoody 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
Waterfall8 é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
NavigateurNavigateur Navigateur Navigateur
Pilote
maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = 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 travaillantSur la même chose
En même tempsAu même endroit
Sur le même ordinateur
Une seule adresse EmailUn seul téléphone
Toutes les communications se font en communTout se fait en commun
Le Mob Programming au delà de la programmation
Le Mob Programming au delà de la programmation
ConcevoirCoderTesterIntégration continueDéploiement continu
RecrutementApprentissage
…
Une équipe… des succès… qui ont essaimé
Quasiment aucun bug pendant 4 ansCode 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 concept2/ Commencer… avec une équipe motivée… et qui s’entend bien3/ Ne pas demander l’autorisation4/ 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équentes6/ Et plus si affinitésEt voilà ! That’s it ?
Bénéfices
C’est FUN ! Transmission de la connaissance (métier, technique)Plus de super-hérosAméliorer les interactionsS’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 ?
RETROSPECTIVEComment je veux être traité et traiter les autres ?
Gentilllesse
Considération
Respect
Effets connexes
Automatisation d’un maximum de tâchesDiscipline sur les bonnes pratiques (tests unitaire, refactorisation)Moins de stressS’améliorer sur les « soft-skills »Rétrospectives sur l’instantPlus de stand-upsScrum 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 : OKDéveloppeurs : …Développeurs : c’est fait !Développeurs : Suivante ?
Métier : celle-làDéveloppeurs : OKDéveloppeurs : …Développeurs : c’est fait !
Développeurs : Suivante ?Métier : celle-là
Développeurs : OKDéveloppeurs : …Développeurs : c’est fait !Développeurs : Suivante ?
Métier : celle-làDéveloppeurs : OKDéveloppeurs : …Développeurs : c’est fait !
Développeurs : Suivante ?Métier : celle-là
Développeurs : OKDéveloppeurs : …Développeurs : c’est fait !Développeurs : Suivante ?
Métier : celle-làDéveloppeurs : OKDé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 chapellesRé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 engagementsLe projet est drivé par les estimationsLes 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 organisationCe 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 coachLui laisser l’initiative
Attendre des succès avec une équipeAncrer le savoir (apprentissage, répétition)
Laisser le coach s’en allerEtendre à 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 ?
Top Related