CMMI

Publié le par Djoko SUBAGIO

Le modèle CMM (Capability Maturity Model) a été mis au point par le SEI (Software Engineering Institute) pour évaluer la maturité des fournisseurs de logiciels. Élargi aux pratiques de développement de systèmes et à l’acquisition de logiciel, le CMMI (Capability Maturity Model Integration) comporte cinq niveaux d’évaluation :

  1. Initial : il n’existe pas de processus clairement défini ; la réussite des projets dépend des compétences de quelques personnes clés dans l’organisation. Le savoir n’est pas formalisé, la réussite ne peut donc être répétée systématiquement.
  2. Géré ou reproductible : des règles ont été définies et sont institutionnalisées, applicables par les équipes. Le développement est planifié et suivi ; les produits sont vérifiés par rapport aux exigences initiales. Les projets sont pilotés individuellement et leurs succès sont reproductibles.
  3. Standardisé : les meilleures pratiques mises en oeuvre sont généralisées à toute l’organisation, sous forme de normes, procédures, outils et méthodes. Elles forment un tout complet, cohérent et ajustable aux caractéristiques de chaque projet. Enfin, elles intègrent une dimension de capitalisation et de mesure de l’efficacité des processus.
  4. Maîtrisé ou quantifié : les processus, qui sont au coeur des activités de l’organisation, sont mesurés ; les causes d’écart peuvent être analysées ; les données collectées sont consolidées et exploitées pour la prise de décision et l’anticipation des risques.
  5. Optimisé : les processus sont totalement maîtrisés et optimisés en permanence.

 

Une gestion de projet Agile est-elle compatible avec une démarche de certification CMMI ?
La réponse du coach Alain Pujol, consultant indépendant dans l’accompagnement et la mise en place du CMMI et évaluateur.
Rappelons tout d’abord que CMMI n’est pas une méthodologie, mais plutôt un « ensemble d’exigences » sur les processus que l’organisation met en place.
Il se caractérise par :
- la mise en exergue de « domaines de processus » et de pratiques associées, par exemple « gérez les exigences », « documentez vos hypothèses d’estimation », « faites des audits de configuration »… qui sont autant d’améliorations à introduire puis à institutionnaliser (sur le mode « c’est comme cela qu’on travaille ici ») ;
- un « chemin d’introduction » de ces améliorations, avec le concept de niveaux de maturité : commencez par traiter ceci (typiquement ce qui est au niveau 2, constitué de 7 domaines de processus centrés sur la gestion de base des projets), puis cela (niveau 3, constitué de 11 domaines de processus couvrant la majeure partie de l’ingénierie, la maîtrise des processus
et un approfondissement de la gestion de projets), puis les niveaux 4 (avec 2 domaines de processus orientés « mesure de la qualité ») et 5 (avec 2 domaines de processus orientés
« prévention des défauts et optimisation par l’innovation »).
En résumé, on peut dire qu’il y a trois aspects au coeur du CMMI : un ensemble de bonnes pratiques (les domaines de processus), un chemin d’amélioration (les niveaux de maturité), et SCAMPI, le processus formel d’évaluation de la maturité d’une organisation.

 

Que peut-on dire alors de « CMMI vs les méthodes agiles »?
1) Le CMMI n’impose aucun processus. C’est l’organisation qui définit le processus dont elle a besoin pour développer ses produits et maîtriser ses projets. Les méthodes agiles sont donc un candidat parmi d’autres, ayant autant de valeur qu’une méthode traditionnelle fondée sur un cycle de vie en cascade.


2) Le CMMI s’attend d’abord à trouver un certain nombre de bonnes pratiques de base auxquelles les méthodes agiles peuvent parfaitement répondre :
– d’ingénierie (exhiber le besoin et les exigences, maîtriser les changements, transformer ces exigences en une solution, vérifier ce qui est fait et valider avec le client…) ;
– de gestion de projet (estimer les travaux, planifier, allouer, suivre, mesurer les avancements, prendre des actions correctives, gérer les risques…). Une gestion de projet Agile est-elle compatible avec une démarche de certification CMMI ? (suite)


3) Le CMMI s’attend aussi à trouver un certain nombre de bonnes pratiques d’organisation. On voit bien là que cela n’a plus grand-chose à voir avec « les méthodes et cycles de vie » utilisés, mais avec une « introspection de l’organisation » quant à sa façon de travailler, avec une gestion classique ou une approche agile.
Lorsque l’on veut démontrer que l’on a atteint un certain niveau de maturité, il faut procéder à une évaluation « officielle » via un processus rigoureux, SCAMPI, qui demande pour chaque projet retenu :
– que toutes les activités soient mises en oeuvre sur les projets ;
– qu’une preuve directe (document produit, par exemple) et une preuve indirecte (revue) soient fournies.
Autant dire que cet aspect « démonstration officielle » peut être lourd surtout dans une approche agile qui privilégie une approche de décision collective avec des supports visuels (tableaux, Post-it) sans pérennité au-delà de l’usage direct.
En conclusion : CMMI et agilité sont compatibles, en se posant les questions suivantes :
« CMMI : pour quoi faire ? » et « CMMI : jusqu’où ? ». Si vous décidez d’aller dans cette direction et en particulier jusqu’à une évaluation officielle, il est essentiel de discuter au plus tôt avec un responsable d’évaluation (Lead Assessor) pour bien analyser ce qu’il sera nécessaire de produire en termes de trace et de documentation dans le cadre de cette évaluation. Alors vous ferez ce qui est le plus adapté et pertinent pour vous avec la meilleure valeur ajoutée, bref vous ferez du « CMMI Agile ».

 

 

Source :V é r o n i q u e, Gestion de projet Vers les méthodes agiles, Eyrolles, Paris , 1992

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article