Download - Mob Programming et #NoEstimates : contre-intuitif et efficace

Transcript
Page 1: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 2: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 3: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 4: Mob Programming et #NoEstimates : contre-intuitif et efficace

Organisation

NavigateurNavigateur Navigateur Navigateur

Pilote

maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = List.sum <| Dict.values <| model.scoreList

Timer par @ChristophLucian

Page 5: Mob Programming et #NoEstimates : contre-intuitif et efficace

Organisation – Autre modèle

NavigateurNavigateur Navigateur Navigateur

Pilote

maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = List.sum <| Dict.values <| model.scoreList

Navigateur principal

Page 6: Mob Programming et #NoEstimates : contre-intuitif et efficace

San Marcos, Californie, Etats-Unis

Page 7: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 8: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 9: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 10: Mob Programming et #NoEstimates : contre-intuitif et efficace

A quoi cela ressemble – Vu de devant

Page 11: Mob Programming et #NoEstimates : contre-intuitif et efficace

A quoi cela ressemble – Vu de devant

Page 12: Mob Programming et #NoEstimates : contre-intuitif et efficace

A quoi cela ressemble – Vu des développeurs

Page 13: Mob Programming et #NoEstimates : contre-intuitif et efficace

A quoi cela ressemble – Vu des développeurs

Page 14: Mob Programming et #NoEstimates : contre-intuitif et efficace

A quoi cela ressemble – Vu des développeurs

Page 15: Mob Programming et #NoEstimates : contre-intuitif et efficace

Organisation

NavigateurNavigateur Navigateur Navigateur

Pilote

maxPointsPossible : Int maxPointsPossible = lengthOfListofQuestions * 3currentNumberofPoints = List.sum <| Dict.values <| model.scoreList

Timer par @ChristophLucian

Page 16: Mob Programming et #NoEstimates : contre-intuitif et efficace

Mob Programming Timer

Page 17: Mob Programming et #NoEstimates : contre-intuitif et efficace

Mob Programming Timer

Page 18: Mob Programming et #NoEstimates : contre-intuitif et efficace

Mob Programming Timer

Page 19: Mob Programming et #NoEstimates : contre-intuitif et efficace

Mob Programming Timer

Page 20: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 21: Mob Programming et #NoEstimates : contre-intuitif et efficace

Le Mob Programming au delà de la programmation

Page 22: Mob Programming et #NoEstimates : contre-intuitif et efficace

Le Mob Programming au delà de la programmation

ConcevoirCoderTesterIntégration continueDéploiement continu

RecrutementApprentissage

Page 23: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 24: Mob Programming et #NoEstimates : contre-intuitif et efficace

8 équipes en Mob Programming aujourd’hui

Page 25: Mob Programming et #NoEstimates : contre-intuitif et efficace

8 équipes en Mob Programming aujourd’hui

Page 26: Mob Programming et #NoEstimates : contre-intuitif et efficace

Comment commencer?

Y’a un début à tout…

Page 27: Mob Programming et #NoEstimates : contre-intuitif et efficace

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 ?

Page 28: Mob Programming et #NoEstimates : contre-intuitif et efficace

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 »

Page 29: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 30: Mob Programming et #NoEstimates : contre-intuitif et efficace

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...

Page 31: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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 !

Page 32: Mob Programming et #NoEstimates : contre-intuitif et efficace

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 !

Page 33: Mob Programming et #NoEstimates : contre-intuitif et efficace

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…)

Page 34: Mob Programming et #NoEstimates : contre-intuitif et efficace

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.

Page 35: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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…

Page 36: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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

Page 37: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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

Page 38: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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 …

Page 39: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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

Page 40: Mob Programming et #NoEstimates : contre-intuitif et efficace

#NoEstimates dans une grande organisationCe qu’il faut améliorer avant tout

Page 41: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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 !

Page 42: Mob Programming et #NoEstimates : contre-intuitif et efficace

#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 !

Page 43: Mob Programming et #NoEstimates : contre-intuitif et efficace

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

Page 44: Mob Programming et #NoEstimates : contre-intuitif et efficace

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 !

Page 45: Mob Programming et #NoEstimates : contre-intuitif et efficace

Mob Programming, #NoEstimates, Hunter Industries

Questions ?