Qu'est-ce qu'une estimation? Comment on fait ça? Pourquoi est-ce si difficile? Pourquoi estime-t-on? Ça sert à quoi et à qui? Est-ce que ça permet de générer plus de valeur? Serait-il pensable de ne pas estimer? Si on n'estime plus, on fait quoi pour répondre à la question : quand est-ce que ça sera fini? Existe-t-il d'autres approches?
Venez en débattre avec nous!!!
Pascal Roy
Stephane Lecuyer
8. #NoEstimates, C’EST… #NoEstimates, CE N’EST PAS
UN MOUVEMENT
EXPLORER DES ALTERNATIVES
AU PROCESSUS D’ESTIMATION
TRADITIONNEL
PRENDRE DE MEILLEURES DÉCISIONS
PARCE QUE CE N’EST PAS COOL
OU TROP DIFFICILE!!!
UNE CONSPIRATION
POUR REFUSER DE
PRODUIRE DES ESTIMÉS
RÉDUIRE LES PERTES DE TEMPS ET D’EFFORTS
9. LES ORIGINES DU MOUVEMENT #NoEstimates
ESTIMÉS :
TOUJOURS PRÉSENTS
(HABITUEL & CONFORTABLE)
POUR MIEUX AIDER CLIENTS ET GESTIONNAIRES :
● PRÉDIRE LES BUDGETS NÉCESSAIRES
● RENCONTRER LES OBJECTIFS DE NOS
PROJETS
P
10. LES ORIGINES DU MOUVEMENT #NoEstimates
WOODY
ZUILL
VASCO
DUARTE
NEIL
KILLICK
MALGRÉ AGILE CONSÉQUENCES
P
11. L’ARGUMENT POUR #NoEstimates
ESTIMÉS TRADITIONNELS EXTRÊMEMENT IMPRÉCIS
● DOMAINE COMPLEXE
○ TROP DE VARIABLES ET D’INCONNUS
● CONNAISSANCES EN ESTIMATION FAIBLES
○ ESTIMÉS == SUPPOSITIONS
○ PEU OU PAS D’OUTILS
○ MAUVAISES PRATIQUES
■ EX: BUFFERS ALÉATOIRES
● ! TRANSPARENCE
● PERTE DE TEMPS : INUTILES
○ GASPILLAGE (“LEAN”)
EFFICACITÉ DES ESTIMÉS NON DÉMONTRÉE
● SYNDRÔME: MAIS ON A TOUJOURS FAIT COMME ÇA
S’IL EST IMPOSSIBLE DE PRÉVOIR LE FUTUR
ESTIMÉS MAL UTILISÉS
● MÉCONNAISSANCE DE LA NATURE D’UN ESTIMÉ
○ PRIS COMME DES ENGAGEMENTS
○ ON NE SAIT PAS COMMENT GÉRER LA VARIABILITÉ
● MÈNENT À DES DÉCISIONS MAL AVISÉES
● JEU DU BLÂME, ENVIRONNEMENT DE PEUR
● FOCUS EST MAL PLACÉ?
○ BONS ESTIMÉS VS BONS PRODUITS
ON PEUT TOUTEFOIS SE PROJETER DANS LE FUTUR
GUIDE SCRUM 2011
PROJECTION
REMPLACE
ENGAGEMENT
(USER STORIES)
12. L’ARGUMENT CONTRE #NoEstimates
ESTIMÉS SONT NÉCESSAIRES POUR L’ENTREPRISE
● LES ENTREPRISES ELLES-MÊMES
○ BÂTIES SUR DES PRÉDICTIONS ET DES ANALYSES DE
TENDANCE DE MARCHÉ - DES ESTIMÉS
● AIDENT À PRENDRE DES DÉCISIONS D’AFFAIRES
○ EX: CHOISIR DES PROJETS
● PLANIFIER LE TRAVAIL
○ DÉPASSE L’ÉQUIPE DE RÉALISATION
● EXIGÉS PAR CLIENTS ET GESTIONNAIRES
○ “CUSTOMER COLLABORATION VS...” [AGILE MANIFESTO]
ESTIMÉS IMPRÉCIS?
● BIEN SUR, C’EST PAR DÉFINITION!
● TROP IMPRÉCIS?
○ AU LIEU D’ABANDONNER!!!
○ DEVENIR MEILLEUR À ESTIMER?
■ CERTAINS LE FONT… À UN COÛT...
■ EX: 97% ON TIME/BUDGET
IL EST POSSIBLE DE PRÉVOIR LE FUTUR
DU MOINS DE MANIÈRE SUFFISAMMENT PRÉCISE
POUR SUPPORTER DES DÉCISIONS D’AFFAIRES ÉCLAIRÉES
LA PROJECTION EST UNE
TECHNIQUE
D’ESTIMATION QUI
PEUT ÊTRE
TRÈS EFFICACE
P
14. ESTIMÉ : DÉFINITION DE MERRIAM WEBSTER
1. ACTE D'ÉVALUER OU DE VALORISER
2. OPINION OU JUGEMENT DE LA NATURE, DU CARACTÈRE OU
DE LA QUALITÉ D’UNE PERSONNE OU D’UNE CHOSE
3. CALCUL APPROXIMATIF
4. VALEUR NUMÉRIQUE OBTENUE À PARTIR D’UN
ÉCHANTILLON STATISTIQUE ET AFFECTÉE À UN PARAMÈTRE
DE POPULATION
Insérer un cloud
des mots ici
INCERTITUDE
15. CÔNE DE L’INCERTITUDE
NE PAS FAIRE DE PROMESSES ICI !!!
PROVENANCE DU CÔNE
● RECHERCHE DE STEVE McCONNELL
● DONNÉES EMPIRIQUES - SECTEUR PUBLIC USA
À RETENIR
● AU MIEUX : +/- 25%, 30% DANS LE PROJET
● DÉVELOPPEMENT LOGICIEL
○ PAS DANS LA SURESTIMATION
● CÔNE CONVERGE PLUS RAPIDEMENT EN AGILE
○ 1.6X VS 4X
● ATTENTION : ESTIMATEURS QUALIFIÉS
○ VOUS POUVEZ FACILEMENT FAIRE PIRE
■ CLOUD OF UNCERTAINTY
○ OU BIEN ÊTRE CHANCEUX
P
16. CONFUSION : ESTIMÉS, CIBLES ET ENGAGEMENTS
CIBLE: DESCRIPTION D’UN OBJECTIF D’AFFAIRES DÉSIRABLE.
“Nous désirons que les fonctionnalités d’achat en ligne soient disponibles
pour le 15 Octobre.″
ESTIMÉ: ÉNONCÉ DE PROBABILITÉ, UNE PRÉDICTION, UN
CALCUL PRÉLIMINAIRE OU PROVISOIRE DU COÛT D’UN
PROJET.
“Les fonctionnalités d’achat en ligne, considérant l’équipe actuelle, a 75%
des chances d’être complétée d’ici le 15 Octobre.″
ENGAGEMENT : PROMESSE DE LIVRER UN ENSEMBLE DE
FONCTIONNALITÉS DÉFINI À UN NIVEAU DE QUALITÉ SPÉCIFIÉ
À UNE CERTAINE DATE.
“Nous nous engageons à livrer les fonctionnalités d’achat en ligne d’ici le
20 novembre.″
17. UN BON ESTIMÉ?
UN ESTIMÉ QUI EST À 25% DU RÉSULTAT ACTUEL, 75% DU TEMPS
- Conte, Dunsmore et Chen
PENSEZ-VOUS FAIRE MIEUX QUE ÇA?
ÊTES-VOUS RÉALISTES SUR LA PRÉCISION DE VOS
ESTIMÉS?
18. UN BON ESTIMÉ?
UN ESTIMÉ QUI OFFRE UNE VISION SUFFISAMMENT CLAIRE DE LA RÉALITÉ DE VOTRE
PROJET POUR PERMETTRE AUX PARTIES PRENANTES DE PRENDRE LES BONNES
DÉCISIONS POUR CONTRÔLER LE PROJET ET S’ASSURER D’ATTEINDRE SES OBJECTIFS
- Steve McConnell
ATTENTION
BON ESTIMÉ PAS SUFFISANT POUR SUCCÈS
● MÉCANISMES DE CONTRÔLE ET GESTION
○ (+/- 20% MAX)
20. -
● EXACTITUDE: WOW!!! ? (ACCURACY)
● CHIFFRE UNIQUE
○ FACILE À CONFONDRE POUR UNE
CIBLE OU UN ENGAGEMENT
● PRÉCISION AU J-P? (UNITÉS)
INTERVALLE : EXACTITUDE DE L’ESTIMÉ
● INCERTITUDE CLAIRE
○ VISIBLEMENT PAS UNE CIBLE OU ENGAGEMENT
● PRÉCISION FAIT PLUS DE SENS (A-P. VS J-P.)
○ MATCH PRÉCISION VS EXACTITUDE
INTERVALLE DE CONFIANCE? EX: 3 A-P. +/-1 A-P. 75% DU TEMPS
○ MAIS IL FAUDRAIT AVOIR DES DONNÉES POUR ÇA!!!
1000 J-P. 3 A-P. +/- 1 A-P.
P
PRÉVISIBILITÉ : SUFFISANT?
21. LES DÉVELOPPEURS LOGICIELS
ONT LA RESPONSABILITÉ PROFESSIONNELLE
D’INCLURE L’INCERTITUDE DANS LEURS ESTIMÉS
- ITEM 3.09 IEEE-CS/ACM SOFTWARE ENGINEERING CODE OF CONDUCT
IEEE Computer Society & Association of Computing Machinery
P
22. 4 A-P. +/- 1 A-P., 66% DU TEMPS
MATHÉMATIQUEMENT RIGOUREUX D’UN POINT DE VUE AFFAIRES? ÇA VEUT DIRE QUOI?
24. POURQUOI ESTIMONS-NOUS?
1. SÉLECTION DE PROJETS : QUELS PROJETS CHOISIR, SELON LE ROI?
2. BUDGET : COMBIEN ÇA VA NOUS COÛTER?
3. PROJECTIONS POUR CLIENTS ET PARTIES PRENANTES : QUAND EST-CE QUE ÇA SERA
DISPONIBLE?
4. CONTRÔLE DE LA PORTÉE
a. DES PROJETS : COMBIEN DE TEMPS DEVRAIT-ON SE DONNER?
b. DES ITÉRATIONS ET LES LIVRAISONS : QU’EST CE QUI EST FAISABLE DANS
L’ITÉRATION ET DANS UNE LIVRAISON?
c. DES RÉCITS UTILISATEURS : EST-CE QUE ÇA ENTRE DANS L’ITÉRATION?
5. ...
27. SÉLECTION DE PROJETS (PORTFOLIO) ET BUDGET
FAVORISER ET FINANCER DES PRODUITS VS PROJETS
• FLOT CONTINU DE VALEUR
FAVORISER DES ÉQUIPES STABLES DÉDIÉES PAR PRODUIT
• DONNÉES EMPIRIQUES PLUS FIABLES POUR LES PROJECTIONS
FINANCEMENT INCRÉMENTAL VS ANNUEL
• #BeyondBudgeting
PLANIFIER DE PETITES LIVRAISONS ITÉRATIVES ET
INCRÉMENTALES ET S’ADAPTER CONSTAMMENT
SUIVI ET OPTIMISATION EN CONTINUE DU ROI PAR
PRODUIT (PROMESSE DU #DevOps)
P
28. PROJECTIONS POUR CLIENTS ET PARTIES PRENANTES
ESTIMER LES USER STORIES EN UTILISANT DES UNITÉS LARGES
• EX: T-SHIRT SIZING
LIMITER LA DURÉE DES LIVRAISONS (MAXIMISER FEEDBACK, DIMINUER INCERTITUDE)
• EX: MOINS DE 3 MOIS
DÉVELOPPER LES INFRASTRUCTURES POUR LIVRER DE FAÇON CONTINUE
MESURER LA CAPACITÉ DES ÉQUIPES EN USER STORIES (ET NON EN POINTS)
• EX: 40-45 US PAR ITÉRATION
CRÉER DES STORY MAPS DÉTAILLÉES DES PRODUITS
UTILISER LE NOMBRE DE USER STORIES POUR DÉTERMINER UN INTERVALLE DE LIVRAISON
PAR PROJECTION (BURN-UP, CFD…)
• EX: 180 US LIVRABLES ENTRE 5 OU 6 ITÉRATIONS POUR UNE ÉQUIPE QUI LIVRE HISTORIQUEMENT ENTRE 30 ET 36 US
PAR ITÉRATION
29. CONTRÔLE DE LA PORTÉE DES PROJETS
UTILISER LES TECHNIQUES AGILES ET LEAN DE “TIME-BOXING” POUR CONTRÔLER LA
VARIABILITÉ DE LA PORTÉE (SCOPE CREEP)
FORMALISER LA MISE EN PLACE DE CYCLES FRÉQUENTS D’INSPECTION ET D’ADAPTATION
BASÉS SUR LES PROJECTIONS
AVOIR DES BOUCLES INTÉGRÉES D’INSPECTION ET D’ADAPTATION ENTRE LES ÉQUIPES, LA
BUSINESS ET LES CLIENTS AFIN DE QUANTIFIER LA VALEUR CRÉÉE VS L’INVESTISSEMENT
ASSUREZ-VOUS QUE LES INVESTISSEMENTS ET LES DÉCISIONS D’ADAPTATION SONT PRISES LÀ
OÙ L’INFORMATION RÉSIDE
P
30. PLANIFICATION DES ITÉRATIONS
LA PLUPART DES ÉQUIPES AGILES NE FONT DÉJÀ PLUS D’ESTIMATION DES TÂCHES
GARDER LES ÉLÉMENTS DE TRAVAIL PETITS (USER STORIES)
SERVEZ-VOUS DE L’HISTORIQUE DE L’ÉQUIPE
LA COLOCATION, LES MÊLÉES QUOTIDIENNES, LES RADIATEURS VISUELS ET AUTRES
TECHNIQUES UTILISÉES PAR LES ÉQUIPES AGILES ÉLIMINENT LA NÉCESSITÉ DE FAIRE DES
ESTIMÉS À CE NIVEAU
31. DÉCOUPAGE DE USER STORIES
ON LE FAIT DÉJÀ POUR AVOIR DES USER STORIES ASSEZ
PETITES DANS LE SPRINT
#NoEstimates POUSSE ÇA UN PEU PLUS LOIN EN
ÉLIMINANT LES STORY POINTS : ON VA COMPTER EN
STORIES TOUT SIMPLEMENT
“Bill Hanlon looked at 60-ish projects that used
relative estimates. He looked at how accurate
their predictions were as compared to the
actuals. Then he reset all estimates to 1 and
recomputed their velocities, made accordant
projections and compared those to actuals. He
found about a 3% variance in predictive accuracy
between full data and just using 1.”
SOURCE: Planning with Any Hope of Accuracy by Arlo Belshee -
http://arlobelshee.com/planning-with-any-hope-of-accuracy/
P
32. COMMENT PASSER À #NoEstimates?
1. UTILISER DES STORY POINTS
2. NE PLUS ESTIMER DES TÂCHES
3. TIME-BOXING POUR LIMITER L’AMPLEUR
4. RÉDUIRE VOS CHOIX DE GRANDEURS À 1,2,3 OU 5 SEULEMENT
5. CONSERVER VOS DONNÉES
6. UTILISER VOS DONNÉES
7. NE COMPTER QUE LES USER STORIES
34. #NoEstimates != NE PAS ESTIMER
RÉCITS DE GRANDEUR SIMILAIRE
PROJECTIONS BASÉES SUR DES DONNÉES EMPIRIQUES
COMPTER DES USER STORIES
SUFFISANT POUR LA PRÉVISIBILITÉ QUE VOUS RECHERCHEZ?
FOCUS: PRODUIRE DE LA VALEUR ET OBTENIR DU FEEDBACK
TRUC: PLUS PETITES USER STORIES POUR EN LIVRER PLUS!!!
35. NE PAS CONFONDRE : ESTIMÉ, CIBLE ET
ENGAGEMENT
UN ESTIMÉ A TOUJOURS UNE PART D’INCERTITUDE
ET VOUS DEVEZ LA GÉRER (OU ASSUMER LES CONSÉQUENCES)
P
36. CIBLE & ENGAGEMENT : UNE NÉCESSITÉ
D’AFFAIRES
CIBLE : UTILE POUR LA PLANIFICATION
ENGAGEMENT : FACILITE RELATION CLIENT ET INTERACTION PARTIES PRENANTES
POUR S’ENGAGER : IL FAUT GÉRER L’INCERTITUDE DE NOS ESTIMÉS
37. #NoEstimates OU PAS
NE PAS SE COMMETTRE TROP TÔT
QUAND VOUS CONNAISSEZ LE MOINS
ET LA VARIABILITÉ EST PLUS GRANDE
ET QUE VOUS N’AVEZ PAS DE DONNÉES
P
38. PRIVILÉGIER DES PROJECTIONS BASÉES
SUR DES DONNÉES HISTORIQUES
“Count if at all possible, compute when you can’t count. Use judgement only as a last resort.”[TIP #30]
“Look for something you can count that is a meaningful measure of the scope…” [TIP #31]
“Collect historical data that allows you to compute an estimate from a count.” [TIP #32]
“Use historical data as the basis for your productivity assumptions.” [TIP #35]
- Software Estimation, Demystifying the black art, Steve McConnell
#NoEstimates OU PAS
39. #NoEstimates : UN OUTIL DANS VOTRE
BOÎTE À OUTILS
Servez-vous en quand c’est approprié à votre situation
P
40. Suite à la présentation...
Qui pense que le mouvement
#NoEstimates est pertinent?
46. Pour les images, procédures :
- Voir dans Google Images avec le mode full usage rights (libre de tout droit), option
dans advanced search
- Sinon, vérifier dans la banque d’images Elapse
- Sinon, allez voir sur les sites d’images suivants (demander à Félix-Antoine)
- Par exemple, Shutterstock, IStock…
47. Pourquoi devrait-on estimer?
Concept, on a toujours fait ça...
Parce qu’on nous dit de le faire? Mais pourquoi?
Parce qu’on doit le faire? Mais pourquoi?
Parce que la busines en a besoin pour :
- Déterminer l’étendu, l’effort, la date… (triangle)
- Pourquoi?
- ETre prévisible
- Pour déterminer le retour sur l’investissement
- Déterminer si on veut aller de l’avant
- Terminer un projet qui dérape…
- Ajuster la capacité… le plus tôt étant le mieux
EST-CE RAISONNABLE OU PAS pour l’entreprise de vouloir ça? Après tout, en agilité, on prône
Mike Cohn, a prominent figure in the Agile community, put it best: "A team should estimate and plan only to the extent that further investment in estimating and
planning will lead to different actions. If you will do the same thing even if you estimate or plan more, stop."
48. Estimation en Scrum?
The combination of story pointing, velocity calculation, product backlog, short iterations, just-in-time sprint
planning, and timely retrospectives after each sprint creates a nearly perfect context for effective estimation.
-McConnel
To put it in estimation terminology:
• Story pointing is a proxy based estimation technique.
• Story counting is a projection technique.
• Velocity is calibrating the estimate with project data.
• The product backlog (when constructed with estimation in mind) gives us a very good proxy for size.
• Sprint planning and retrospectives give us the ability to "inspect and adapt" our estimates.
All this means that Scrum provides better support for estimation than waterfall ever did.
49. Pourquoi devrait-on estimer?
- Estimé==commitment, si pas estimé, pas de commitment…
- Ex: changement, Scrum Guide
- La question, est-ce que c’est vraiment la bonne et seule façon d’avoir un commitment
- Est-ce vraiment un commitment?
- Ont-ils vraiment les connaissances, outils nécessaires
- On se fait pas confiance vraiment...
- Pour des équipes moins matures, pour aider les jeunes à mieux comprendre (en
discutant d’estimé, on parle d’implémentation) -> organisation du travail…, c’Est la
conversation qui est intéressante pour ce qui est de la compréhension du user
story...
51. Pourquoi ne devrait-on PAS estimer?
- ATTENTION : C’EST PAS VRAI QU’IL N’Y A PAS D’ESTIMATION DU TOUT, JAMAIS….
On veut plus dire, on veut arrêter de guesser avec un faux sentiment de sécurité…
- Because it’s waste… (lean, c’est pas le produit final)
- Because we’re really bad at it… (historically in our field)
- Why are we so bad at it???
- DÉFINITION DU BESOIN (précision de la définition, la communication, l’évolution du besoin...)
- Tools & Techniques d’estimation mal connues et/ou peu utilisées
- En nommer quelques unes (voir vidéo ou livre de McConnel…)
- Ex: cocomo2… simulation monte carlo
- Changement des technologies (lang de prog, os, bd, techno web, devops…)
- Changement de personnel… (Forming, Storming, Norming, Performing…)
- We’re not using them as ESTIMATES...
52. Pourquoi ne devrait-on PAS estimer?
- Si ce na change rien à l’outcome… we’re gone do it anyway!
- Too small of a project ( 2 weeks-project vs 2 days planning)
-
53. Différentes techniques pour estimer
Voir le livre de McConnel
- Estimation relative, effort d’estimation plus grand lorsque on s’approche du livrable
- Statistiques : monte carlo (préconisé par NoEstimates), cocomo2…
- Stop estimating… start counting (projecting)
- ...
54. Estimation vs Projection (Forecast?)
Mais il faut accepter d’ “investir” du
temps pour amener toutes les
stories à la même grandeur