Techniques d'estimation - Aperçu
Estimation est le processus de recherche d'une estimation, ou approximation, qui est une valeur qui peut être utilisée à certaines fins, même si les données d'entrée peuvent être incomplètes, incertaines ou instables.
L'estimation détermine combien d'argent, d'efforts, de ressources et de temps il faudra pour construire un système ou un produit spécifique. L'estimation est basée sur -
- Données passées / expérience passée
- Documents / connaissances disponibles
- Assumptions
- Risques identifiés
Les quatre étapes de base de l'estimation de projet logiciel sont:
- Estimez la taille du produit de développement.
- Estimez l'effort en personnes-mois ou en heures-personnes.
- Estimez le calendrier en mois civils.
- Estimer le coût du projet dans la devise convenue.
Observations sur l'estimation
L'estimation ne doit pas être une tâche ponctuelle dans un projet. Il peut avoir lieu pendant -
- Acquérir un projet.
- Planification du projet.
- Exécution du projet selon les besoins.
La portée du projet doit être comprise avant le début du processus d'estimation. Il sera utile d'avoir des données de projet historiques.
Les mesures de projet peuvent fournir une perspective historique et une contribution précieuse pour la production d'estimations quantitatives.
La planification nécessite que les responsables techniques et l'équipe logicielle prennent un engagement initial car cela conduit à la responsabilité et à la responsabilisation.
L'expérience passée peut grandement aider.
Utilisez au moins deux techniques d'estimation pour arriver aux estimations et rapprocher les valeurs résultantes. Reportez-vous aux techniques de décomposition dans la section suivante pour en savoir plus sur le rapprochement des estimations.
Les plans doivent être itératifs et permettre des ajustements à mesure que le temps passe et que plus de détails sont connus.
Approche générale d'estimation de projet
L'approche d'estimation de projet qui est largement utilisée est Decomposition Technique. Les techniques de décomposition adoptent une approche de division pour vaincre. L'estimation de la taille, de l'effort et des coûts est effectuée par étapes en décomposant un projet en fonctions principales ou en activités de génie logiciel associées.
Step 1 - Comprendre la portée du logiciel à construire.
Step 2 - Générer une estimation de la taille du logiciel.
Commencez par l'énoncé de la portée.
Décomposez le logiciel en fonctions qui peuvent chacune être estimées individuellement.
Calculez la taille de chaque fonction.
Dérivez des estimations d'effort et de coût en appliquant les valeurs de taille à vos mesures de productivité de base.
Combinez les estimations de fonction pour produire une estimation globale pour l'ensemble du projet.
Step 3- Générer une estimation de l'effort et du coût. Vous pouvez arriver à des estimations d'effort et de coût en décomposant un projet en activités d'ingénierie logicielle connexes.
Identifiez la séquence des activités à réaliser pour que le projet soit achevé.
Divisez les activités en tâches qui peuvent être mesurées.
Estimez l'effort (en heures / jours-personnes) requis pour accomplir chaque tâche.
Combinez les estimations d'effort des tâches d'activité pour produire une estimation de l'activité.
Obtenez des unités de coût (c.-à-d. Coût / unité d'effort) pour chaque activité à partir de la base de données.
Calculez l'effort total et le coût de chaque activité.
Combinez les estimations d'effort et de coût pour chaque activité pour produire un effort global et une estimation des coûts pour l'ensemble du projet.
Step 4- Réconcilier les estimations: comparez les valeurs obtenues à l'étape 3 à celles obtenues à l'étape 2. Si les deux ensembles d'estimations concordent, vos chiffres sont très fiables. Sinon, si des estimations très divergentes se produisent, mener une enquête plus approfondie pour savoir si -
La portée du projet n'est pas bien comprise ou a été mal interprétée.
La répartition des fonctions et / ou des activités n'est pas exacte.
Les données historiques utilisées pour les techniques d'estimation sont inappropriées pour l'application, ou obsolètes, ou ont été mal appliquées.
Step 5 - Déterminer la cause de la divergence puis réconcilier les estimations.
Précision d'estimation
La précision indique à quel point quelque chose est proche de la réalité. Chaque fois que vous générez une estimation, tout le monde veut savoir à quel point les chiffres sont proches de la réalité. Vous souhaiterez que chaque estimation soit aussi précise que possible, compte tenu des données dont vous disposez au moment où vous la générez. Et bien sûr, vous ne voulez pas présenter une estimation d'une manière qui inspire un faux sentiment de confiance dans les chiffres.
Les facteurs importants qui affectent l'exactitude des estimations sont:
La précision de toutes les données d'entrée de l'estimation.
La précision de tout calcul d'estimation.
Dans quelle mesure les données historiques ou les données sectorielles utilisées pour calibrer le modèle correspondent-elles au projet que vous estimez.
La prévisibilité du processus de développement logiciel de votre organisation.
La stabilité à la fois des exigences du produit et de l'environnement qui prend en charge l'effort de génie logiciel.
Que le projet proprement dit ait été soigneusement planifié, surveillé et contrôlé, et aucune surprise majeure ne s'est produite qui a causé des retards inattendus.
Voici quelques lignes directrices pour obtenir des estimations fiables -
- Basez les estimations sur des projets similaires déjà achevés.
- Utilisez des techniques de décomposition relativement simples pour générer des estimations des coûts et des efforts du projet.
- Utilisez un ou plusieurs modèles d'estimation empirique pour l'estimation des coûts et de l'effort du logiciel.
Reportez-vous à la section sur les directives d'estimation dans ce chapitre.
Pour garantir l'exactitude, il est toujours conseillé d'estimer en utilisant au moins deux techniques et de comparer les résultats.
Problèmes d'estimation
Souvent, les chefs de projet ont recours à l'estimation des calendriers en sautant pour estimer la taille. Cela peut être dû aux délais fixés par la direction ou l'équipe marketing. Cependant, quelle qu'en soit la raison, si cela est fait, il sera alors difficile d'estimer ultérieurement les calendriers pour tenir compte des changements de portée.
Lors de l'estimation, certaines hypothèses peuvent être faites. Il est important de noter toutes ces hypothèses dans la feuille d'estimation, car certaines ne documentent toujours pas les hypothèses dans les feuilles d'estimation.
Même les bonnes estimations comportent des hypothèses, des risques et des incertitudes inhérents, et pourtant elles sont souvent traitées comme si elles étaient exactes.
La meilleure façon d'exprimer des estimations est comme une gamme de résultats possibles en disant, par exemple, que le projet prendra 5 à 7 mois au lieu de déclarer qu'il sera achevé à une date particulière ou qu'il sera achevé dans un non fixe. des mois. Méfiez-vous de vous engager sur une plage trop étroite car cela équivaut à s'engager sur une date précise.
Vous pouvez également inclure l'incertitude comme valeur de probabilité associée. Par exemple, il existe une probabilité de 90% que le projet se termine à une date déterminée ou avant.
Les organisations ne collectent pas de données de projet précises. Étant donné que l'exactitude des estimations dépend des données historiques, ce serait un problème.
Pour tout projet, il existe un calendrier le plus court possible qui vous permettra d'inclure les fonctionnalités requises et de produire des résultats de qualité. S'il existe une contrainte de planification par la direction et / ou le client, vous pouvez négocier la portée et la fonctionnalité à fournir.
Convenez avec le client de la gestion des dérives de portée pour éviter les dépassements d'horaire.
Le fait de ne pas tenir compte des contingences dans l'estimation finale entraîne des problèmes. Par exemple, des réunions, des événements organisationnels.
L'utilisation des ressources doit être considérée comme inférieure à 80%. En effet, les ressources ne seraient productives que 80% de leur temps. Si vous affectez des ressources à plus de 80% d'utilisation, il y aura forcément des dérapages.
Directives d'estimation
Il faut garder à l'esprit les directives suivantes lors de l'estimation d'un projet -
Pendant l'estimation, demandez les expériences des autres. Mettez également vos propres expériences en jeu.
Supposons que les ressources ne seront productives que 80% de leur temps. Par conséquent, lors de l'estimation, considérez l'utilisation des ressources comme inférieure à 80%.
Les ressources travaillant sur plusieurs projets prennent plus de temps à effectuer des tâches en raison du temps perdu à passer de l'un à l'autre.
Incluez le temps de gestion dans toute estimation.
Intégrez toujours des contingences pour la résolution de problèmes, les réunions et autres événements inattendus.
Prévoyez suffisamment de temps pour faire une estimation appropriée du projet. Les estimations précipitées sont des estimations inexactes et à haut risque. Pour les grands projets de développement, l'étape d'estimation doit vraiment être considérée comme un mini projet.
Dans la mesure du possible, utilisez des données documentées provenant de projets antérieurs similaires de votre organisation. Il en résultera l'estimation la plus précise. Si votre organisation n'a pas conservé de données historiques, le moment est venu de commencer à les collecter.
Utilisez des estimations basées sur les développeurs, car les estimations préparées par des personnes autres que celles qui effectueront le travail seront moins précises.
Utilisez plusieurs personnes différentes pour estimer et utiliser plusieurs techniques d'estimation différentes.
Réconciliez les estimations. Observez la convergence ou la dispersion entre les estimations. La convergence signifie que vous avez une bonne estimation. La technique large bande-Delphi peut être utilisée pour rassembler et discuter des estimations en utilisant un groupe de personnes, l'intention étant de produire une estimation précise et impartiale.
Réévaluer le projet plusieurs fois tout au long de son cycle de vie.