Présentation générale du modèle CMM

Le Capability Maturity Model (CMM) est un système qualité visant á améliorer le processus de développement logiciel. Il permet à une organisation de mesurer son niveau de maturité et de faire évoluer sa capacité de développement logiciel. Ce modèle d'évaluation et d'évolution des capacités se base sur une grille de maturité hiérarchisée.

Bien que les ingénieurs d'étude et les dirigeants connaissent leurs problèmes dans les moindres détails; souvent, ils ne peuvent pas se mettre d'accord sur les importantes améliorations à apporter. Sans une stratégie organisée pour l'amélioration, il est difficile de choisir, entre la direction et les professionnels, les activités d'amélioration à entreprendre en premier. Une organisation d'évolution de processus logiciel en "échafaudage" a été inventée, elle permet de réaliser des résultats de processus d'amélioration. Ce sont les travaux de Watts Humphrey qui ont découpé cet "échafaudage" en différents "étages" ordonnés afin que les améliorations réalisées à chaque étage fournissent la fondation. Par conséquent, une amélioration de la stratégie réalisée avec la mise en oeuvre des processus de maturité de logiciel fournit une carte routière pour des processus d'amélioration continus. Cela guide l'avancement et identifie des défaillances dans l'organisation.

La méthode CMM a été désignée pour guider à la construction d'organisation logiciel en sélectionnant les processus d'amélioration de la stratégie en déterminant le processus actuel d'évaluation et en identifiant les quelques issues les plus critiques pour les logiciels de qualité et le processus d'amélioration. En se focalisant sur un ensemble limité d'activités et en travaillant agressivement afin de les achever, une organisation peut régulièrement perfectionner sa vaste organisation de processus logiciel pour être capable d'avoir des gains continus et durables.

L'organisation en étages de la méthode CMM est basée sur les principes de production de qualité qui existent depuis les six dernières années. Dans les années 1930, Walter Shewart a promulgué les principes du contrôle de qualité. Ses principes ont été énormément développés et démontrés avec succès dans le monde par W. Edward Deming et Joseph Juran. Ces principes ont été adaptés par le SEI (Software Engineering Institute) dans une structure de maturité qui établit un projet de direction et une technique de fondation pour les contrôles de quantités de production logiciel.

La structure de maturité dans laquelle les principes de qualité avaient été adaptés à inspiré en premier Philip Crosby. La grille de maturité de ce dernier décrit cinq niveaux évolutifs en adoptant les principes de qualité. Cette structure de maturité a été adaptée au processus de logiciel par Ron Radice et ses collègues qui travaillaient sous la direction de Watts Humphrey chez IBM. Humphrey a amené la structure de maturité au SEI en 1986, en ajoutant le concept de niveaux de maturité et en développant la fondation pour son utilisation courante et entière des logiciels de l'industrie.

Les versions de la structure de maturité de Humphrey sont décrites dans les rapports techniques du SEI. Un premier questionnaire de maturité a été réalisé en 1987 comme un outil pour fournir les organisations avec un chemin pour caractériser la maturité de leurs logiciels de processus. Deux méthodes, un logiciel de processus d'évaluation et un logiciel de capacité d'évaluation, ont été développées pour estimer les logiciels des processus de maturité en 1987. Depuis 1990, le SEI, avec l'aide du gouvernement et de l'industrie, a favorisé l'expansion et redéfinie le modèle basé sur plusieurs années d'expérience dans cette application de processus d'amélioration logiciel.

En conclusion, CMM est donc un modèle d'évaluation et d'évolution des capacités de développement logiciel qui a été mis au point par le SEI à la demande du gouvernement américain. Le cadre conceptuel du modèle d'évolution des capacités logiciel a pour origine les travaux de Watts Humphrey. Dans le cadre du développement d'applications, CMM permet à une organisation de s'évaluer et d'améliorer par paliers ses pratiques méthodologiques.

Principe et structure de CMM

Dans le développement logiciel, les ingénieurs d'études et les dirigeants connaissent les problèmes à résoudre, mais leurs opinions divergent quant aux améliorations à apporter. Ils ne disposent pas toujours d'un cadre structuré, définissant les étapes à suivre dans l'évolution de la qualité logiciel.

Le CMM - Capability Maturity Model ou encore modèle d'évaluation et d'évolution des capacités de développement logiciel, est un système qualité permettant d'atteindre des objectifs de coûts, de délais et de qualité. Contrairement à la norme ISO 9000, CMM a été conçu spécifiquement pour le développement logiciel. Ce modèle offre à une organisation cherchant à améliorer ses capacités de développement logiciel :

  • une structure d'évaluation de son niveau de maturité
  • un ensemble de procédures documentées pour améliorer son niveau de maturité
  • un ensemble de processus de contrôle pour valider les étapes de cette progression

Pour pouvoir s'améliorer, l'organisation doit tout d'abord prendre connaissance de son niveau de maturité actuel. Pour ce faire, elle rempli des questionnaires produit par le SEI (Software Engineering Institute). Ces questionnaires servent de base pour mettre en évidence ses lacunes et se positionner dans la grille de maturité définie par le SEI.

Puis l'organisation se fixe un niveau de maturité supérieur à atteindre. Grâce au CMM, elle dispose alors d'une liste détaillée des actions à entreprendre. En réalisant l'ensemble des étapes intermédiaires du plan d'action, l'organisation atteint le niveau de maturité recherché.

Le schéma ci-dessous décrit la structure interne des niveaux de maturités :

Le CMM défini cinq niveaux de maturité, qui hiérarchisent la compétence d'une organisation dans le développement logiciel. Ces niveaux sont :

  • initial
  • reproductible
  • défini
  • maîtrisé
  • optimisé

A l'exception du niveau 1, chaque niveau de maturité comporte plusieurs secteurs clés. Ces secteurs clés caractérisent les domaines à améliorer, pour répondre aux exigences des chaque niveau de maturité. A titre d'exemple, les secteurs clés du niveau 2 sont :

  • la gestion des exigences
  • la planification du projet
  • le suivi et la supervision du projet
  • la gestion de la sous-traitance
  • l'assurance-qualité
  • la gestion de configuration

Chaque secteur clé comprend cinq caractéristiques communes. Celles-ci indiquent si la mise en oeuvre d'un secteur clé est efficace, reproductible et durable. Les caractéristiques communes à chaque secteur clés sont les suivantes :

  • Engagement de réalisation
  • Capacité de réalisation
  • Activités réalisées
  • Mesure et analyse
  • Vérification de mise en ?uvre

Enfin chaque secteur clé est décrit par des pratiques clés à respecter. Si ces pratiques clés sont mises en oeuvre, on atteint l'amélioration requise pour le secteur clé. Il est à noter que les pratiques clés sont regroupées en terme de caractéristiques communes dans la documentation du CMM.




AB Consulting & bonneaud.net/// © 2005-2008 - Tous droits réservés
| Nous contacter | Plan du site | Informations légales