COSMIC : Estimation des efforts de developpement

COSMIC : Estimation des efforts de developpement

Une méthode objective pour estimer la taille fonctionnelle d’un logiciel

L’estimation de la taille fonctionnelle d’un logiciel prend de plus en plus d’importance dans le domaine de l’ingénierie logicielle et dans un contexte de développement où le coût et la productivité sont deux éléments cruciaux pour déterminer le succès ou non d’un projet IT. L’estimation permet d’analyser le logiciel à développer ou à maintenir dans le but d’estimer le temps et l’effort de développement nécessaire. De manière indirecte, elle permet aussi d’évaluer la performance des activités de développement au sein de l’organisation. COSMIC est une méthode récente d’estimation qui rencontre un succès croissant du fait que d’une part, elle se base sur des critères objectifs et scientifiques pour estimer la taille fonctionnelle d’un logiciel et d’autre part, elle permet de réaliser l’estimation au début du cycle de développement du logiciel.

Date: 24 juin 2009

Expertises:

Co-création pour le numérique 

A propos du projet: CE-IQS 

Estimation fonctionnelle : qu’est-ce que c’est, pourquoi ?

De nos jours, et plus que jamais en ces moments de crise, le coût et la productivité sont deux facteurs clés dans la réussite d’un projet IT. Afin de permettre au gestionnaire du projet de contrôler au mieux ces facteurs dans le cadre d’un développement logiciel, une démarche de quantification du logiciel à développer est incontournable.

Quantifier fonctionnellement le logiciel, en d’autres termes mesurer la taille de l’ensemble de ses fonctionnalités, est une façon de procéder afin de disposer d’une méthode d’estimation du temps et du coût de développement du logiciel, préalablement au développement.

La taille fonctionnelle mesurée permet également de réaliser une analyse de la performance de l’organisation telle que la productivité de développement (= taille/effort), la rapidité de la livraison (= taille/temps) , la densité des erreurs (= nombre d’anomalies/taille).

Bref historique de méthodes d’estimation

Différentes méthodes et outils existent pour estimer la taille d’un logiciel telles que COSMIC, NESMA, Mark-II, FISMA et IFPUG FPA. Néanmoins, elles ne sont pas nécessairement conçues pour répondre aux critères de succès précités. Parmi les nombreuses méthodes existantes, COSMIC-FFP est une méthode récente d’estimation qui présente certains avantages permettant de relever le défi.

  • Les premières méthodes d’estimation de la taille fonctionnelle des logiciels sont apparues dans les années 60. Elles se basent principalement sur la prédiction de la taille des composantes du logiciel telles que le nombre de lignes de code (LOC) des procédures, des modules, des objets existants. La taille estimée ainsi mesurée est bien utilisée pour prédire le temps et l’effort nécessaires mais l’inconvénient majeur de cette méthode est que la taille obtenue dépend fortement des technologies et des langages de programmation utilisés.
  • La deuxième génération des méthodes, en particulier, FPA et UCP, se base, quant à elle, sur les artéfacts produits durant la phase d’analyse et de conception du logiciel : la méthode FPA (Functional Point Analysis apparue en 1979) se concentrant sur les exigences fonctionnelles de l’utilisateur et la méthode UCP (Use Case Point en 1993) se concentrant sur les cas d’utilisation. En général, ces méthodes évaluent la complexité du logiciel (à l’aide de 3 niveaux allant de simple à complexe en passant par moyen) en mesurant une liste de facteurs techniques et contextuels sur base de l’expérience de l’évaluateur et sur base de données statistiques. La complexité du logiciel ainsi mesurée représente la taille fonctionnelle. Néanmoins, l’inconvénient de ces méthodes est que la taille mesurée varie considérablement en fonction de l’expérience des évaluateurs. De plus, elles ne permettent pas de mesurer la taille de certains types d’applications telles que les logiciels de systèmes distribués avec des contraintes temps réel ou les logiciels de gestion caractérisés par une grande quantité de transactions de données.

La méthode COSMIC 3.0

C’est précisément pour objectiver et élargir le spectre d’application de la méthode d’estimation ainsi que pour pallier aux faiblesses des méthodes antérieures, que COSMIC-FFP (Common Software Measurement International Consortium) a vu le jour en 1998.

  • Méthode scientifique et objective : elle s’inspire des principes fondamentaux de l’ingénierie logicielle. Elle utilise des définitions et des concepts élémentaires, clairs et simples pour décrire des règles et des méthodes de sorte que la taille mesurée soit la plus objective possible. Ses concepts lui valent d’ailleurs d’avoir été reconnue comme une référence scientifique devenant en 2003 la norme ISO/ IEC 19761-Software Engineering-COSMIC-FFP (www.cosmicon.com).
  • Méthode intuitive : le principe de COSMIC-FFP repose sur une démarche très naturelle de structuration d’un logiciel. Tout logiciel est construit à partir d’un ensemble de fonctionnalités utilisateur, chacune étant composée d’un ensemble de sous-processus élémentaires qui véhiculent des données. Ces données peuvent soit être échangées entre l’utilisateur et l’application (en entrée ( E ) ou en sortie ( X )) ou soit être échangées entre l’application et le système de stockage (en lecture ( R ) et/ou en écriture ( W )). Chaque mouvement de données est alors considéré comme une unité de taille fonctionnelle appelée CFSU (Cosmic Functional Size Unit). La taille totale du projet est égale à la somme de tous les mouvements de données de tous les processus fonctionnels du logiciel.
  • COSMIC présente l’avantage de pouvoir s’appliquer tôt dans le cycle de développement du logiciel.
  • COSMIC peut s’appliquer sur un plus grand ensemble de composants/applications logiciels : elle permet de mesurer tous les logiciels caractérisés par des mouvements de données tels que les logiciels de gestion et les logiciels des systèmes en temps réel. Elle s’applique également aux nouveaux logiciels aussi bien qu’aux logiciels existants en maintenance corrective ou évolutive.

Plus-values CETIC/entreprises

En utilisant la taille fonctionnelle ainsi mesurée par la méthode COSMIC-FFP, les entreprises peuvent :

  • prévoir l’effort de développement de logiciel afin de contribuer à une gestion plus efficace du développement de leur logiciel ;
  • estimer très rapidement et efficacement le coût des changements d’exigences fonctionnelles de l’utilisateur au long du cycle de développement d’un logiciel ;
  • prédire la productivité d’une équipe de développement de logiciel afin de mieux organiser les développements futurs et à faire de meilleures propositions aux appels d’offres ;
  • mettre en place une méthode d’analyse et de comparaison de la performance de leurs activités de développement ;
  • développer une politique de l’analyse de l’effort au sein de leur entreprise.

Le CETIC accompagne les entreprises dans la démarche d’amélioration de leur productivité, dans un premier temps, en mesurant la taille fonctionnelle de leur logiciel et dans un second temps, en estimant leur effort de développement à l’aide de techniques utilisant un large répertoire de données d’estimation de projets IT issues d’une base internationale ISBSG (International Software Benchmarking Standard Group www.isbsg.org).

Success stories

Le CETIC a utilisé la méthode COSMIC avec succès sur diverses applications. Deux de ces cas sont représentatifs par la taille de l’application et de la complexité de l’environnement. Le premier concerne l’estimation des changements dans les exigences d’une application de gestion pour une unité de la Commission européenne, en l’occurrence, la DGTAXUD. Le deuxième est l’analyse d’une application d’échange sécurisé d’information d’accès entre les différents parlements belges.

Actions futures

Dans un souci de répondre au mieux à ses clients et de leur offrir un service de haute qualité et de forte valeur ajoutée, le CETIC organisera, en ses locaux, le mardi 08 septembre à 16H30, un groupe de discussion relatif à la méthode COSMIC 3.0. Ce groupe de discussion explorera les travaux de recherche sur COSMIC faits par le CETIC ainsi que l’exploitation des résultats d’un analyse COSMIC 3.0 pour les entreprises.
La société SIEMENS, pour laquelle le CETIC a appliqué la méthode afin d’évaluer le coût d’un développement, sera également présente pour partager son expérience sur le sujet.