CMMI, le modèle de maturité

cmmi-logoL’utilisation d’un modèle de maturité permet à une organisation d’évaluer ses processus et méthodes selon les meilleures pratiques de gestion et par rapport à un ensemble clair de références externes.  CMMI est un modèle de référence, un ensemble structuré de bonnes pratiques, destiné à appréhender, évaluer et améliorer les activités des entreprises d’ingénierie informatique.

CMMI a été développé par le Software Engineering Institute (SEI) de l’université Carnegie-Mellon, initialement pour appréhender et mesurer la qualité des services rendus par les fournisseurs de logiciels informatiques du département de la Défense des États-Unis (DoD). Il est maintenant largement employé par les entreprises d’ingénierie informatique, les directeurs des systèmes informatiques et les industriels pour évaluer et améliorer leurs propres développements de produits. CMMI reste une marque déposée par le SEI.

CMMI a pour finalité essentielle de mesurer la capacité des projets à s’achever correctement en terme de délais, de fonctionnalités et de budget.

Historique

Après une lente maturation dans les années 1980, le SEI financé par le DoD a présenté en 1991 le Capability Maturity Model (CMM). Ce modèle de référence ne concerne que les bonnes pratiques du génie logiciel. Après un fort engouement pour ce modèle, d’autres domaines distincts de l’ingénierie informatique ont vu le jour, tels que intégration système (SE) , le développement logiciel (SW),  la gestion de fournisseur (SS), le développement intégré des produits et processus (IPPD) et dernièrement la gestion des ressources humaines. En 2001, le SEI a proposé une nouvelle version de son modèle, le CMMI (Capability Maturity Model Integration) qui englobe les bonnes pratiques des autres modèles. La version du modèle a été réactualisée en 2006 (version 1.2). La dernière version du modèle date de 2011 (version 1.3). La dernière version regroupe 25 processus.

Définitions

Un Modèle définit précisément le chemin et les étapes vers l’objectif souhaité (niveau de maturité). Il a un langage commun et une vision partagée. Il permet de savoir où on en est, par comparaison. Il possède une méthode d’évaluation objective et fiable.

Un Processus (Process Area) est élément qui répond aux questions qui, quoi, quand, comment. C’est avant tout une aide aux développeurs. Ils sont sont regroupés en 4 catégories:

  • Process Management
  • Project Management
  • Engineering
  • Support

Un Objectif est un résultat à atteindre; leur atteinte ou pas, donne une mesure du niveau de maturité de l’organisation. C’est donc une notion très importante dans le modèle. Les résultats sont  observés sur l’ensemble des caractéristiques observables de organisation qui aurait mis en place les pratiques

Deux approches

CMMI propose deux représentations :

  • Une approche Continue qui conduira à l’évaluation de chaque processus indépendamment des autres. On parlera de niveau d’aptitude
  • Une approche Étagée avec une évaluation de façon globale de la maturité de l’entreprise en 5 niveaux. On parlera de niveau de maturité

Les deux représentations s’appuient sur les mêmes processus mais ceux-ci sont utilisés différemment.

La représentation étagée

Dans l’approche étagée , les bonnes pratiques préconisées par le modèle sont regroupés en 5 niveaux de maturité. Les domaines de processus rattachés à un niveau de maturité M ne peuvent être stabilisés et efficaces que si les domaines de processus des niveaux inférieurs  sont déjà stabilisés et efficaces (principe d’empilement).

Les 5 niveaux sont :

  • Initial (initial, niveau de maturité 1): La réussite des projets dépend du savoir-faire de quelques personnes clés dans l’organisation, pas de formalisation des processus et pas de partage. Ce niveau est caractérisé par un ensemble de mauvaises pratiques et d’un seul non-processus, le mode « pompier » avec une gestion par crise:
    • Indiscipline généralisé
    • Pas de processus fiables, on s’en remet à l’expérience de la personne
    • Projets pilotés par les délais
    • Population de héros
    • Pas d’enseignement tiré des difficultés ou erreurs
    • Pas de contrôle
    • Mode essentiellement réactif
    • Incapacité à reproduire les éventuels succès passés
  • Managed (géré, niveau de maturité 2): une gestion de projet élémentaire est définie pour assurer le suivi des coûts, des délais et de la fonctionnalité du projet. La discipline nécessaire au processus est en place. Le chef de projet a une forte responsabilité  : il doit définir, documenter, appliquer et maintenir à jour ses plans. D’un projet à l’autre, il capitalise et améliore ses pratiques de gestion de projet et d’ingénierie. Mais il ne s’interroge pas sur la pertinence de l’expression de besoin et il se limite à sa réalisation. Les 7 processus élémentaire doivent être maitrisés:
    • Gestion des exigences
    • Planification du projet
    • Conduite et maîtrise du projet
    • Gestion des achats
    • Production et analyses des indicateurs
    • Assurance qualité des processus et des produits
    • Gestion de la configuration
  • Defined  (défini, niveau de maturité 3): Ce niveau est caractérisé par une standardisation adéquate des pratiques, une capitalisation centralisée (en particulier sur les mesures réalisées dans les projets) et une maîtrise du référentiel interne (ou Système de Management de la Qualité). L’organisation a défini des méthodes, outils et document. L’organisation est garante de la pérennité de l’ensemble, le chef de projet n’est plus tout seul. Il existe des lignes directrices, un plan stratégique et une planification de l’amélioration de processus pour le futur, en ligne avec les objectifs de l’organisation. Les employés sont formés et conscients de leurs responsabilités ainsi que de leurs devoirs.
  • Quantitatively managed (quantifié, niveau de maturité 4): Les projets sont pilotés sur la base d’objectifs quantitatifs. On travaille sur la notion de productivité, de performance des projets, en récupérant et comparant les statistiques de chaque projet. Des mesures détaillées sont prises en ce qui concerne le déroulement du processus logiciel et la qualité des produits.
    • Métriques / Indicateurs mis en place et exploités
    • Retours d’expérience possibles car processus cohérents (les comparaisons ont un sens)
    • Programme qualité
    • Évaluation des impacts liés aux évolutions de processus
  • Optimizing (optimisé, niveau de maturité 5): Les processus qui sont gérés quantitativement pour le pilotage de projet sont en optimisation constante par l’organisation afin d’anticiper les évolutions prévues (besoins clients, nouvelles technologies…). Les statistiques sont utilisées pour les processus standards. Le référentiel sert à construire et améliorer les processus standards

Chaque niveau intègre un certain nombre de processus qui doivent être maitrisés  par l’organisation ou par le projet:

sei-cmmi-level-3-718

Chacun des Processus doit répondre à des objectifs qui peuvent être spécifiques, intrinsèquement reliés à la nature de l’activité couverte par le processus, ou génériques, transversaux et identiques d’un processus à l’autre.

Ces objectifs se déclinent en pratiques qui décrivent le comportement attendu de la part de l’organisation ou d’un projet .

Afin de prouver la bonne implémentation de chacune des pratiques, des preuves (PII: Practice Implementation Indicator) doivent être collectées.

La représentation continue

Contrairement à la représentation étagée qui regroupe sous des niveaux de maturité les différents processus, la représentation continue exprime la capacité de chaque processus au sein de l’organisation suivant une échelle de 6 niveaux. Cette représentation permet à l’entreprise d’entreprendre un programme d’amélioration sur un bouquet de processus qu’elle a sélectionnés. Une décomposition proposée par le SEI regroupe les processus en 4 catégories définissant le CMMI Framework :

continous-representation

SCAMPI

Le Standard CMMI Appraisal Method for Process Improvement (SCAMPI) est la méthode officielle d’évaluation du SEI  utilisées pour identifier les forces et les faiblesses des processus, mettre en évidence les risques sur le développement ou les achats, et déterminer les niveaux de maturité et de capabilité. Ils sont principalement utilisés comme partie d’un programme d’amélioration continue ou pour évaluer des fournisseurs. La méthode définit le processus d’évaluation allant de la préparation, les activités sur site, les observations préliminaires, les constats et notations, le rapport final et les activités de suivi.

Il existe trois types de SCAMPI : SCAMPI Class C, Class B et Class A. La distinction principale entre ces trois évaluations est leur centre d’application :

  • SCAMPI C est une évaluation d’ « Approche » ;
  • SCAMPI B est une évaluation de « Déploiement » ;
  • SCAMPI A est une évaluation d’ « Institutionnalisation ».

Seule l’évaluation SCAMPI Class A pourra déterminer officiellement le niveau de maturité de l’entreprise. Elle est généralement précédée d’une ou plusieurs évaluation SCAMPI Class B et/ou C qui évalue respectivement la profondeur du déploiement des pratiques du référentiel et  la cohérence du référentiel de l’organisation avec les exigences du modèle CMMI.

Conclusion

CMMI est avant tout un modèle de maturité qui permet à une organisation de se situer en évaluant l’organisation de ses activités d’ingénierie informatique.

Mais comme le rappelle Anis Ferchichi dans le blog octo.com, CMMI peut être défini comme un modèle d’amélioration continue. En effet, CMMI est basé sur des pratiques spécifiques qui peuvent assimilées à des buts à atteindre en terme d’organisation et qui se définissent effectivement par des résultats observables. Le challenge pour les entreprises souhaitant respecter CMMI est le choix de l’implémentation des pratiques. Le danger résulte en général d’un mauvais choix d’implémentation; car si sur le terrain chaque entreprise est libre d’implémenter les pratiques comme elle le souhaite, elle risque, par manque de créativité ou de conseils avisés, de mettre en place des solutions très lourdes, contraignantes et sans réelle valeur ajoutée avec un grands volumes de documentation et un circuits de communication à rallonge, comme cela été été déjà le cas lors de la mise en place du SMQ et de la nome ISO 9001.

Donc l’enjeu principal de la mise en place d’une démarche CMMI, comme cela a été déjà fait pour la plupart des entreprises avec l’ISO 9001,  est le bon choix d’implémentation des pratiques afin de ne pas alourdir inutilement le quotidien des participants aux projets.

Comme le disait George Box : « tous les modèles sont faux, mais certains sont utiles ».

Références:

 

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s