Estimation des côuts et délais par la méthode COCOMO

Résumé

COCOMO est un acronyme pour COnstructive COst Model. C'est une méthode pour estimer le coût d'un projet logiciel dans le but d'éviter les erreurs de budget et les retards de livraison, qui sont malheureusement habituels dans l'industrie de développement logiciel.

Description de la méthode

La méthode COCOMO est issue du modèle en Spirale pour la planification des projets qui définit quatre cadrans dans chaque spire dont un seul pour le développement et trois pour la gestion du projet.

Le premier modèle COCOMO date de 1981, et a été développé par Dr. Barry Boehm pour estimer le coût , en nombre de mois-homme, et le temps de développement d'un produit logiciel. A l'origine il a été construit sur une étude de 63 projets logiciels de 2000 à 100.000 lignes de code dans l'entreprise TRW Inc., mais une seule entreprise est-elle assez représentative comme base de développement de COCOMO? De plus, il reste très lié au nombre de lignes de code, surtout le modèle de base, mais plus les programmeurs sont experts (et leur salaire élevé), moins ils écrivent de lignes de code pour un même projet!
COCOMO à l'avantage d'être ouvert. Les données de calibrage, les formules et tous les détails des définitions sont disponibles. La participation à son développement est encouragée.
Aujourd'hui, COCOMO II est un nouveau produit beaucoup plus adapté à l'aspect réutilisation des composants (modules existants). La version 1998 a été calibrée sur 161 points de données, en utilisant l'approche statistique 'Bayesian' pour combiner les données empiriques avec les avis experts. De plus elle peut être re-calibrée sur les données de l'entreprise.
Un nouveau modèle appelé COCOTS, est en cours de développement par l'équipe de COCOMO. Ce modèle permet d'estimer les coûts et planifier des projets logiciels utilisant des composants existants. C'est encore un projet de recherche.
COCOMO 81
*
Pour les projets basés sur une technologie traditionnelle, le modèle original de 1981 est encore valable, d'autant plus qu'il est maintenant rodé et bien documenté. COCOMO 81 est en fait constitué de trois modèles :

Etapes pour utiliser le modèle intermédiaire COCOMO :
  1. Identifier le mode de développement - organique, semi-enfoncé ou enfoncé. Ceci donne 4 coefficients au modèle : p (productivité nominative), e (échelle appliquée à la taille du logiciel), c (constante du modèle) et d (échelle appliquée au temps de développement).
  2. Estimer le nombre de lignes du code source ( en SLOC ), puis calculer le nombre de mois-homme par la formule :
    MH base = p * (SLOC) ^e
  3. Estimer les 15 facteurs de productivité et calculer le facteur d'ajustement (a) en multipliant les facteurs ensembles.
  4. Multiplier l'effort 'nominal' par le facteur d'ajustement :
    MH = MH base * a
  5. Calculer le temps de développement :
    TDEV = c(MH)^d

COCOMO II
Pour les projets basés sur une technologie moderne de réutilisation de composants, préférer plutôt COCOMO II. COCOMO II est constitué en fait de trois modèles :

Les facteurs utilisés sont classés en : Facteurs d'échelle, Urgence, Flexibilité de développement, résolution d'architecture/Risque, Cohésion d'équipe et Maturité de Processus. COCOMO II peut être calibré pour mieux correspondre aux projets de l'entreprise.

Devant le besoin des professionnels d'un livre pratique sur la théorie et l'application de COCOMO II, L'equipe de recherche COCOMO est en train d'éditer un livre sur COCOMO II (prévu pour début 1999)

Bibliographie

Boehm, Barry W., Software Engineering Economics, (1981) Cocomo dans toute sa profondeur, par l'auteur de Cocomo lui même.
Boehm, Barry W., Software engineering economics, IEEE Trans. on Software Engineering.,(1984) Détails pour assigner les valeurs aux 15 facteurs de productivité.
Shepperd, Martin, Fundation of Software Measurement, (1994) Le pourquoi et comment des différentes méthodes de mesure de logiciels.
Katwijk, J. van, Inleiding software engineering, (1994)
Pressman, Roger S., (adapted by Darrel Ince) Software engineering "A practitioner's approach", (1994)

Liens

Universite de Californie du Sud, Centre de développement de logiciel

C'est l'endroit ou COCOMO a été développé et continu de l'être.
L'état du développement de COCOMO II.
Les sponsors du programme de recherche
Télécharger des logiciels et de la documentation
COCOTS Projet de recherche pour estimer les coûts, les efforts et planifier des projets logiciels utilisant des composants existants.
COQUALMO Un modèle d'estimation logiciel pour équilibrer coût, planning et qualité.
CORADMO Le modèle COCOMO RAD est une extension de COCOMOII centrée sur les coûts de développement logiciel utilisant les techniques du 'Rapid Application Development'.
Un projet estimé avec COCOMO 2.0
Bibliographie
Quelques estimateurs en ligne
Expert COCOMO II par USC avec estimation de risque Par Dr. Ray Madachy (Implementation très innovante donnant également une évaluation des risques. Interface graphique conviviale.)
COCOMO II par USC ( Interface lente et moins conviviale.)
Predicate logic software systems Estimation en ligne du modèle intermédiaire de COCOMO 81.
COCOMO Intermédiaire Interactive Développé par 2 étudiants de l'Université de Caroline du Nord. Interface graphique très sympathique. Manuel d'utilisation et Information sur le calculation (COCOMO 81).
La NASA Estimateur COCOMO : modèle de Base (COCOMO 81).
COCOMO II
COSTAR Entreprise commercialisant COCOMO II.
Critique de COCOMO Par des consultants spécialisés de la gestion du risque, par l'utilisation des réseaux Bayesian (COCOMO II étant basé sur l'approche Bayesian).
Modèles d'évaluation de projet logiciel
Les modèles orientés activités Par M. JM Jaeger EN FRANCAIS!!
Université du Texas : Projet COCOMO Présentation de l'histoire de COCOMO. (Manuel utilisateur et Estimateur en ligne (COCOMO 81)
Les buts de COCOMO Explications d'un professeur de l'Université Britannique.
Estimation des coûts logiciels Université de Calgary. Bon résumé de la problematique même si il ne parle pas directement de COCOMO.
Methodes d'estimation des coûts logiciels Présentation rapide des différentes méthodes d'estimation, suivie par une présentation assez détaillée des 3 modèles de COCOMO 81.
Formules COCOMO Présentation intéressante en diagrammes commentés.(COCOMO 81)
COCOMO : équation de base (COCOMO 81), Université Thaïlandaise.
Bibliographie d'Estimations de Logiciel Compilé par l'Université de Bournemouth, UK.

Conclusion

COCOMO semble être le plus connu des modèles d'estimation de coût de projet logiciel. Mais le modèle d' origine n'adresse pas les projets utilisant les composants logiciel existants. COCOMO II répond à ce problème, mais est encore jeune, nous avons trouvés très peu d'information sur COCOMO II, excepté sur le site de l'Universite de Californie du Sud . Le projet de recherche appelé COCOTS est à suivre pour les personnes désirant estimer un projet logiciel moderne

Avantages :
COCOMO reste la référence en matière d'estimation détaillée des couts et surtout de la ventilation de ces couts suivant les phases des projets.
Les estimations de COCOMO sont d'autant plus fiables, que les paramètres du projet sont bien connus, c'est-à-dire qu'on a profité des projets précédents pour étalonner ces paramètres.

Principale faiblesse :
Elle réside dans la nécessité d'avoir une estimation du nombre de lignes du logiciel.
Cette taille du logiciel n'est connue qu'à la fin de la réalisation et le problème de son estimation reste entier.
.


Page réalisée par WILHELM Tina et PARTHENAY Évelyne, revue par AM Hugues