Estimation des efforts de développement en projet informatique
Le processus d’’estimation est propre à chaque entreprise. Il faut par contre en définir un qui est à la fois souple,facile d’utilisation et évolutif.
Saint Georges, martyr, et la lègend du dragon.pptx
2004-09-23 Marc Fréchette Estimation des efforts de développement en projet informatique
1. 11
L’estimation des efforts
de développement de
projet informatique
LL’’estimation des effortsestimation des efforts
de dde dééveloppement developpement de
projet informatiqueprojet informatique
Toute reproduction du présent document est autorisée à condition d’en mentionner la source, soit Marc Fréchette
de Revenu Québec
Québec le 23 septembre 2004Québec le 23 septembre 2004
déjeuner-conférence
2. 22
But de la présentationBut de la prBut de la préésentationsentation
QuQu’’estest--ce que lce que l’’estimation de projet?estimation de projet?
Pourquoi faire de lPourquoi faire de l’’estimation?estimation?
Qui en bQui en béénnééficie? Qui la rficie? Qui la rééalise?alise?
Comment faitComment fait--on de lon de l’’estimationestimation??
Offrir des trucs et astuces.Offrir des trucs et astuces.
Répondre aux questions suivantes :
3. 33
IntroductionIntroductionIntroduction
«« EstimationEstimation cancan influenceinfluence whetherwhether aa projectproject liveslives oror diesdies..
SimplySimply putput,, thethe estimateestimate isis crucial tocrucial to bothboth thethe projectproject andand thethe
projectproject managermanager’’ss careercareer.. »»
LL’’estimation influenceestimation influence àà savoir que le projet vitsavoir que le projet vit
ou meurt. En dou meurt. En d’’autres mots,autres mots, ll’’estimation estestimation est
crucialecruciale tant pour le projet que pour latant pour le projet que pour la
carricarrièère du chargre du chargéé de projet.de projet.
TirTiréé dede ITworldITworld..comcom, 2/8/01, r, 2/8/01, réédigdigéé parpar StephanieStephanie DavidsonDavidson,, ééditrice associditrice associééee
chezchez ITworldITworld..comcom..
4. 44
IntroductionIntroductionIntroduction
Le SoftwareLe Software ProgramProgram Manager'sManager's
NetworkNetwork identifie l’estimation deidentifie l’estimation de
projet comme étantprojet comme étant la secondela seconde
pratique en importancepratique en importance dans ledans le
cadre de développement decadre de développement de
logiciels.logiciels.
TirTiréé du site dedu site de SoftwareSoftware ProgramProgram Manager's NetworkManager's Network http://www.http://www.spmnspmn..comcom..
5. 55
Qu’est-ce que l’estimation?QuQu’’estest--ce que lce que l’’estimationestimation??
Selon le petitSelon le petit RobertRobertMD
ÀÀ premipremièère vue, approximative.re vue, approximative.
SynonymeSynonyme : aper: aperççu, approximation,u, approximation,
prpréévisionvision
Donc, lDonc, l’’estimation est uneestimation est une
sciencescience approximative.approximative.
8. 88
À quoi sert l’estimation?ÀÀ quoi sert lquoi sert l’’estimationestimation??
LL’’estimation permet :estimation permet :
•• dede prpréévoirvoir les efforts et les coles efforts et les coûûts, lests, les
ressources humaines nressources humaines néécessaires, lacessaires, la
durduréée, lese, les ééquipements, lquipements, l’’amaméénagement,nagement,
etcetc.;.;
•• dede soutenirsoutenir la justification, la validationla justification, la validation
et la vet la véérification des drification des déépenses face auxpenses face aux
instances concerninstances concernéées.es.
9. 99
À qui sert l’estimation?ÀÀ qui sert lqui sert l’’estimationestimation??
AuAux gestionnairesx gestionnaires (directeur, comit(directeur, comitéé exexéécutif,cutif,
actuaire, etc.) afin de soutenir leur prise de dactuaire, etc.) afin de soutenir leur prise de déécision.cision.
Ceci aideCeci aide àà rréépondrepondre àà des questions telles que :des questions telles que :
•• estest--ce que lce que l’’on continue?on continue?
•• aa--tt--on suffisamment de $$$?on suffisamment de $$$?
•• ooùù coupecoupe--tt--onon??
•• etcetc..
10. 1010
À qui sert l’estimation?ÀÀ qui sert lqui sert l’’estimationestimation??
Au projetAu projet :: Ce dernier bCe dernier béénnééficie deficie de
ll’’estimation comme outil complestimation comme outil compléémentairementaire
dd’’une bonne gestion de projet. Alliune bonne gestion de projet. Alliéé àà ll’’outiloutil
de gestion du temps de lde gestion du temps de l’’entreprise, onentreprise, on
pourra alors produire des indicateurs depourra alors produire des indicateurs de
performance du projet.performance du projet.
En utilisant la banque dEn utilisant la banque d’’historique, on peuthistorique, on peut
alors comparer les jalons et/ou les phasesalors comparer les jalons et/ou les phases
avec les projets passavec les projets passéés.s.
11. 1111
Qui réalise l’estimation?Qui rQui rééalise lalise l’’estimationestimation??
et encore det encore d’’autres selon votre typeautres selon votre type
dd’’entreprise.entreprise.
ÉÉquipements (quipements (hardwarehardware),),
progiciels, infrastructureprogiciels, infrastructure
technologique,technologique, ……
TechnologuesTechnologues
Coûts utilisateurs, contribution auCoûts utilisateurs, contribution au
développement, mise en œuvredéveloppement, mise en œuvre
opérationnelle, ...opérationnelle, ...
Utilisateurs (pilotes)Utilisateurs (pilotes)
Coûts de développement (direct etCoûts de développement (direct et
indirect)indirect)
Informaticiens (chef etInformaticiens (chef et
chargchargéé de projet,de projet,
architecte et analyste)architecte et analyste)
DiffDifféérents sprents spéécialistes. Ccialistes. C’’est un travail dest un travail d’é’équipe.quipe.
12. 1212
L’estimationLL’’estimationestimation
Au dAu déébut dbut d’’un projet, il est normal que notreun projet, il est normal que notre
estimation soit loin de la restimation soit loin de la rééalitalitéé, car on, car on
posspossèède peu dde peu d’’information. Linformation. L’’image est floueimage est floue
et peutet peut êêtre incompltre incomplèète.te.
Pas facile lPas facile l’’estimationestimation…… Il faut donc sIl faut donc s’’aider, seaider, se
doter ddoter d’’outils, de techniques,outils, de techniques, etcetc..
13. 1313
Les méthodes d’estimationLes mLes mééthodes dthodes d’’estimationestimation
1. Modèles algorithmiques
2. Jugement d’experts
3. Analogie
4. Parkinson
5. Un coût pour gagner (bid to win, bid to
please)
6. Du général au particulier
7. Du particulier au général
8. Pointage des composantes d’application
14. 1414
Les méthodes d’estimationLes mLes mééthodes dthodes d’’estimationestimation
Elle n’est pas précise et
encourage de mauvaises
pratiques.
Beaucoup de
tambours et de
clairons (si vous
aimez ça).
Selon le principe de Parkinson « le
travail prend de l’expansion de manière
à combler tout l’espace », pour dire que
le coût sera celui du budget disponible.
Parkinson
Les projets d’expérience
peuvent ne pas être
représentatifs du projet à
estimer.
Estimation basée sur
l’expérience actuelle
de projet.
En comparant (proportion) avec un
(des) projet(s) passé(s) ayant des
similarités avec le projet actuel.
Analogie
Elle peut être biaisée, soit
optimiste ou pessimiste.
Elle est rapide et elle
permet de
différencier les
facteurs.
Il s’agit ici de consulter un (des)
expert(s) dans le domaine.
Jugement
d’experts
Les données du modèle
peuvent ne pas être
représentatives et elles
peuvent ne pas tenir
compte des différences.
Elle est objective,
répétable, efficace, et
elle peut supporter
l’analyse de
sensibilité relative.
Consiste en un ou plusieurs algorithmes
produisant des estimés qui ont en entrée
plusieurs variables.
Modèles
algorithmiques
15. 1515
Les méthodes d’estimationLes mLes mééthodes dthodes d’’estimationestimation
Peut omettre les requis de
niveau supérieur comme
l’intégration, la formation
et les guides.
Un regard est porté
sur toutes les
composantes
individuellement, ce
qui permet aux erreurs
de se contrebalancer.
Cette méthode permet d’estimer toutes
les activités du projet. Ensuite, il suffit
de sommer les efforts de toutes ces
activités afin d’obtenir l’estimation
global.
Du
particulier au
général
Lourdeur d’implantation et
d’application (adhésion).
Capacité de mesurer
l’envergure et
l’ensemble des
composantes.
Méthode où des points sont accordés
pour les E/S, demandes d’information,
nombre d’informations à conserver,
mode de fonctionnement, etc.
Pointage des
composantes
d’application
Les composantes
techniques de bas niveaux
sont peu tenues en compte.
Des composantes peuvent
être oubliées.
Inclut les niveaux de
requis de niveau
supérieur comme
l’intégration, la
formation et les
guides.
Permet d’estimer un coût global du
projet basé sur ses caractéristiques
générales. Ensuite, ce coût est distribué
entre les différents groupes d’activités
du projet.
Du général
au particulier
Purement subjective, basée
sur ce que le client veut
entendre.
Permet d’obtenir le
contrat et de plaire.
Ici, on parle d’établir le coût de manière
à être celui que l’on croit le bon pour
obtenir le consentement de faire le
travail ou pour gagner le contrat.
Un coût pour
gagner (bid
to win, bid to
please)
16. 1616
Deux types d’estimationDeux types dDeux types d’’estimationestimation
Estimation basée sur la taille (nombre de
lignes de codes, points de fonctions,
classes, etc).
Estimation basée sur l’effort par activité
(jours-personnes, mois-personnes).
17. 1717
L’estimationLL’’estimationestimation
Plus on avance dans le temps, plus onPlus on avance dans le temps, plus on
obtient des informations permettant deobtient des informations permettant de
clarifier lclarifier l’’estimation.estimation. LL’’estimationestimation sese
rapprochera des valeurs de la rrapprochera des valeurs de la rééalitalitéé
avec le temps et avec lavec le temps et avec l’’obtentionobtention
dd’’informationinformation..
18. 1818
L’estimationLL’’estimationestimation
Comment faire une bonne estimationComment faire une bonne estimation??
•• utiliser un processus documentutiliser un processus documentéé,, adaptadaptéé àà
ll’’entreprise etentreprise et ententéérinrinéé par la direction;par la direction;
•• connaconnaîîtretre le projetle projet àà estimer (activitestimer (activitéés,s,
phases, dphases, déécoupage, architecture);coupage, architecture);
•• identifieridentifier les collaborateurs et les expertsles collaborateurs et les experts
multidisciplinaires;multidisciplinaires;
•• éétablirtablir un canal de communication pour lesun canal de communication pour les
diffdifféérents intervenants (groupe de courriels).rents intervenants (groupe de courriels).
19. 1919
Processus d’estimationProcessus dProcessus d’’estimationestimation
•• uniformiseruniformiser la fala faççon de faire les estimationson de faire les estimations
afin dafin d’é’éviter les diffviter les difféérentes farentes faççons dons d’’estimer etestimer et
dede restreindrerestreindre lesles éévaluations uniquementvaluations uniquement
subjectives;subjectives;
•• rrééutiliserutiliser les exples expéériences acquises;riences acquises;
•• obtenir des estimations deobtenir des estimations de qualitqualitéé;;
•• rrééduireduire le temps dle temps d’’estimation.estimation.
Avantages d’utiliser un processusAvantages d’utiliser un processus
défini d’estimation de projetdéfini d’estimation de projet??
20. 2020
Trucs et astuces concernant
l’estimation
Trucs et astuces concernantTrucs et astuces concernant
ll’’estimationestimation
• utiliser les données estimées et réelles des
projets antérieurs (banque d’historique);
• faire une liste de toutes les activités qui
composent le projet;
• ne pas oublier les tâches triviales et autres
facteurs d’influence dans l’estimation;
• allouer du temps pour l’estimation;
• utiliser un outil (chiffrier maison);
• avoir un lexique.
21. 2121
Trucs et astuces concernant
l’estimation
Trucs et astuces concernantTrucs et astuces concernant
ll’’estimationestimation
• éviter la méthode d’estimation Un coût pour
gagner;
• éviter de donner une estimation sur le coin de
la table;
• éviter de produire une estimation faite uniquement
par un expert;
• consulter les développeurs, impliquer les pairs;
• effectuer le travail d’estimation à un niveau
détaillé;
• ne pas oublier les tâches triviales et les autres
facteurs d’influence dans l’estimation.
22. 2222
Facteurs de correction de
l’estimation
Facteurs de correction deFacteurs de correction de
ll’’estimationestimation
Il existe plusieurs types de facteurs pouvant
affecter un projet. Ces facteurs contextuels ont
un impact sur les efforts estimés initialement.
Tout projet est unique en son genre et risque
donc un jour d’avoir à se préoccuper des
situations affectant les estimés initiaux. C’est ce
qu’on appelle ici les facteurs de correction.
23. 2323
Facteurs de correction de
l’estimation
Facteurs de correction deFacteurs de correction de
ll’’estimationestimation
De façon générale, le processus de gestion de risques
va identifier ces facteurs et les quantifier.
Voici une liste d’exemples de facteurs de correction :
• groupes d'utilisateurs multiples;
• premier projet dans un domaine d'application;
• existence d'un système de base;
• durée du projet;
• expérience du chargé de projet;
• expérience technique de l'équipe;
• nouveaux langages et outils;
• roulement de personnel.
24. 2424
L’estimationLL’’estimationestimation
Quoi faire avec une estimation?
Pour un projet
Pour l’ensemble des projets
Raffiner l’estimation et la faire vivre. La faire évoluer à
travers le temps et les phases de développement de
système.
Conserver les estimations dans une banque d’historique.
Cela s’appelle l’expérience, le vécu. Ceci permet de faire
des comparaisons entre l’estimation et la réalité.
26. 2626
Ce qui est difficile dans le
processus d’estimation
Ce qui est difficile dans leCe qui est difficile dans le
processus dprocessus d’’estimationestimation
• produire une estimation tôt dans le
démarrage du projet;
• établir le niveau de granularité attendu
lors de l’estimation;
• établir le pont avec les systèmes de
gestion de temps et le bureau de projet,
entre autres;
• satisfaire tout le monde.
27. 2727
ConclusionConclusionConclusion
Le processus dLe processus d’’estimation estestimation est
proprepropre àà chaque entreprisechaque entreprise. Il. Il
faut par contrefaut par contre en den dééfinir unfinir un quiqui
estest àà la fois souple, facilela fois souple, facile
dd’’utilisation etutilisation et éévolutif.volutif.