@SURTITRE:DEVELOPPEMENT ORIENTATE OBJET
@TITRE:Le modèle CMM pour gérer et prévoir
@CHAPO:Parmi les méthodes de mesure et de pilotage des projets de logiciel orientés objet, le CMM fait converger méthodologie et outils de gestion.
@TEXTE:Avant de passer contrat avec une SSII, voire de confier un projet à une équipe interne, le maître d'ouvrage a besoin d'en évaluer les capacités managériales. Les critères classiques de saine gestion économique ou de bonne réputation trouvent leurs limites à une époque où tout évolue rapidement. D'autant que l'orientation objet introduit de nouvelles exigences comme la réutilisabilité.
@INTER:Analyser les performances et l'offre de services
@TEXTE:Né en 1989 au Software engineering institute (SEI), le modèle de maturité des capacités (CMM, Capability maturity model) commence à se faire connaître, et même à permettre des analyses comparatives de l'offre mondiale du logiciel. L'Inde et Singapour se signaleraient, en l'occurrence, par le nombre relativement élevé de ses entreprises figurant au meilleur niveau.
Le modèle distingue cinq niveaux (voir tableau). Ils expriment le degré de maturité des équipes ou des entreprises, mais aussi le type de moyens de mesure (métriques) que ces sites sont capables de mettre en oeuvre sur leurs processus de développement logiciel.
Le calcul du niveau CMM s'obtient à partir d'un questionnaire qui comporte plus de cent questions. Au niveau 1, le logiciel se développe sans ordre et sans management précis. On fait pas ou peu de mesures de performances. Au niveau 2, le processus est considéré comme reproductible. Les développeurs ont appris, souvent de manière individuelle plus que collective, comment réussir et les erreurs à éviter. Quelques mesures sont prise, mais uniquement en interne, sans communication avec le reste de l'entreprise. Au niveau 3, le processus d'évaluation se formalise. On met l'accent sur les performances des équipes ou des services plus que des individus. Le processus de développement se conforme à une méthodologie orientée objet clairement exprimée. Au niveau 4, il devient alors possible de mettre en place des métriques qui ne se contentent pas de décrire la situation, mais permettent de gérer le processus sur des bases quantitatives. Enfin, au niveau 5, les outils de mesures sont assez perfectionnés pour permettre de modifier le processus en cours de route et optimiser ses performances. La plupart des sites se trouvent actuellement au niveau 3 ou en dessous.
Ce modèle de base a été perfectionné par certains auteurs comme Curtis, avec son PC-CMM (People management capability maturity model). Il emploi le même cadre conceptuel, mais l'applique aux hommes plutôt qu'au processus.
@INTER:Ne pas trop en demander à la mesure
@TEXTE:B. Henderson-Sellers, qui présente une analyse détaillée de ces modèles dans son livre Object-Oriented metrics (à paraître chez Prentice-Hall), fait preuve d'un optimisme certain quant à l'efficacité de ces métriques orientées objet. Pour autant, il dissuade d'en attendre des solutions magiques à tous les problèmes de développement loiciel. Il déconseille nettement de les employer pour évaluer les performances individuelles des développeurs.
Tout autant que la réduction du coût et des délais nécessaires aux projets logiciels, le perfectionnement et la mise au point de ces méthodes devrait aider les entreprises et leurs sous-traitants à mieux prévoir, et donc à mettre en harmonie leurs budgets et leurs stratégie. Elles pourraient aider à mettre de l'ordre sur le marché du développement. La recherche continue. @SIGNATURE:P.B.
LES CINQ NIVEAUX DU MODELE CMM
Niveau Caractéristiques Métriques employées 5. Optimisant Métrique assez évoluée Mesure sur les processus pour optimiser le et les effets des processus changements envisagés 4. Managé Processus mesuré Mesure sur le Processus quantitativement 3. Défini Processus défini, Mesure de la production institutionnalisé (emploi d'une méthodologie) 2. Reproductible Processus bien maîtrisé Mesure globale du projet par quelques individus 1. Initial Artisanat ou pire Pratiquement aucune mesure