Modèle de maturité des capacités (CMM) et ses niveaux en génie logiciel

Qu'est-ce que le CMM ?

Le modèle de maturité des capacités est utilisé comme référence pour mesurer la maturité du processus logiciel d'une organisation.

CMM a été développé à l'Institut de génie logiciel à la fin des années 80. Il a été développé à la suite d'une étude financée par l'US Air Force afin d'évaluer le travail des sous-traitants. Later basés sur le modèle CMM-SW créé en 1991 pour évaluer la maturité du développement logiciel, plusieurs autres modèles sont intégrés au CMM-I.

Modèle de maturité des capacités

Qu'est-ce que les niveaux du modèle de maturité des capacités (CMM) ?

  1. Initiales
  2. Répétable/Géré
  3. Défini
  4. Géré quantitativement
  5. Optimisation

Niveaux du modèle de maturité des capacités (CMM)

Que se passe-t-il aux différents niveaux du CMM ?

Niveaux Activités Avantages
Niveau 1 Initiale
  • Au niveau 1, le processus est généralement chaotique et ponctuel
  • Une capacité est caractérisée sur la base des individus et non de l'organisation
  • Des progrès non mesurés
  • Les produits développés dépassent souvent les délais et le budget
  • De grandes variations dans les objectifs de calendrier, de coût, de fonctionnalité et de qualité
Aucun. Un projet est un chaos total
Niveau 2 Géré
  • Gestion des exigences
  • Estimer les paramètres du projet tels que le coût, le calendrier et la fonctionnalité
  • Mesurer les progrès réels
  • Élaborer des plans et des processus
  • Les normes des projets logiciels sont définies
  • Identifier et contrôler les produits, signaler les changements, etc.
  • Les processus peuvent différer selon les projets
  • Les processus deviennent plus faciles à comprendre
  • Les managers et les membres de l'équipe passent moins de temps à expliquer comment les choses sont faites et plus de temps à les exécuter.
  • Les projets sont mieux estimés, mieux planifiés et plus flexibles
  • La qualité est intégrée aux projets
  • Les coûts peuvent être élevés au départ, mais diminuent avec le temps
  • Demandez plus de paperasse et de documentation
Niveau 3 défini
  • Clarifier les exigences des clients
  • Résoudre les exigences de conception, développer un processus de mise en œuvre
  • S'assure que le produit répond aux exigences et à l'utilisation prévue
  • Analyser systématiquement les décisions
  • Corriger et contrôler les problèmes potentiels
  • L'amélioration des processus devient la norme
  • La solution passe du stade de « codage » à celui de « ingénierie »
  • Des barrières de qualité apparaissent tout au long de l'effort du projet avec toute l'équipe impliquée dans le processus
  • Les risques sont atténués et ne surprennent pas l'équipe
Niveau 4 géré quantitativement
  • Gère statistiquement les processus et sous-processus du projet
  • Comprendre la performance des processus, gérer quantitativement le projet de l'organisation
  • Optimise les performances des processus dans toute l’organisation
  • Favorise la gestion de projet quantitative dans une organisation.
Optimisation de niveau 5
  • Détecter et éliminer rapidement la cause des défauts
  • Identifier et déployer de nouveaux outils et améliorations de processus pour répondre aux besoins et aux objectifs commerciaux
  • Favorise l’innovation organisationnelle et le déploiement
  • Donne une impulsion à l’analyse causale et à la résolution

Le diagramme suivant donne une représentation picturale de ce qui se passe à différents niveaux du CMM.

Différents niveaux de MMT

Combien de temps faut-il pour mettre en œuvre le CMM ?

CMM est le processus le plus souhaitable pour maintenir la qualité du produit pour toute entreprise de développement de logiciels, mais sa mise en œuvre prend un peu plus de temps que prévu.

  • La mise en œuvre du CMM ne se fait pas du jour au lendemain
  • Il ne s’agit tout simplement pas d’une simple « paperasse ».
  • Les délais typiques de mise en œuvre sont
  • 3-6 mois -> pour la préparation
  • 6-12 mois -> pour la mise en œuvre
  • 3 mois -> pour la préparation à l'évaluation
  • 12 mois ->pour chaque nouveau niveau

Structure interne du CMM

Chaque niveau dans CMM est défini en domaine de processus clé ou KPA, sauf pour le niveau 1. Chaque KPA définit un groupe d'activités connexes qui, lorsqu'elles sont exécutées collectivement, permettent d'atteindre un ensemble d'objectifs considérés comme essentiels pour améliorer les capacités logicielles.

Pour différents niveaux de CMM, il existe un ensemble de KPA, par exemple pour le modèle CMM-2, les KPA sont

  • REQM - Gestion des exigences
  • PP- Planification du projet
  • PMC- Suivi et contrôle du projet
  • SAM - Gestion des accords fournisseurs
  • PPQA-Processus et assurance qualité
  • Gestion de la configuration CM

De même, pour les autres modèles de MMT, vous disposez de KPA spécifiques. Pour savoir si la mise en œuvre d'un KPA est efficace, durable et reproductible, elle est cartographiée sur la base suivante

  1. Engagement à performer
  2. Capacité à performer
  3. Activités effectuées
  4. Mesure et analyse
  5. Vérifier la mise en œuvre

Limites des modèles CMM

  • CMM détermine ce qu'un processus doit aborder plutôt que la manière dont il doit être mis en œuvre
  • Il n'explique pas toutes les possibilités d'amélioration des processus logiciels
  • Il se concentre sur les problèmes logiciels mais ne prend pas en compte la planification stratégique des activités, l'adoption de technologies, l'établissement d'une gamme de produits et la gestion des ressources humaines.
  • Il ne précise pas dans quel type d’activité une organisation devrait exercer ses activités.
  • CMM ne sera pas utile dans le projet en crise en ce moment

Pourquoi utiliser la CMM ?

Aujourd'hui, CMM fait office de « sceau d'approbation » dans l'industrie du logiciel. Cela aide de diverses manières à améliorer la qualité du logiciel.

  • Il guide vers un processus standard reproductible et réduit ainsi le temps d'apprentissage sur la façon de faire avancer les choses.
  • Pratiquer le CMM signifie pratiquer un protocole standard de développement, ce qui signifie non seulement que cela aide l'équipe à gagner du temps, mais donne également une vision claire de ce qu'il faut faire et de ce à quoi s'attendre.
  • Les activités de qualité s'intègrent bien au projet plutôt que d'être considérées comme un événement distinct
  • Il agit comme un navetteur entre le projet et l'équipe
  • Les efforts de CMM visent toujours l’amélioration du processus

Résumé

Le CMM a été introduit pour la première fois à la fin des années 80 dans l'US Air Force pour évaluer le travail des sous-traitants. Later sur, avec une version améliorée, il a été mis en œuvre pour suivre la qualité du système de développement logiciel.

L'ensemble du niveau CMM est divisé en cinq niveaux.

  • Niveau 1 (Initial) : Lorsque les exigences du système sont généralement incertaines, mal comprises et incontrôlées. Le processus est généralement chaotique et ponctuel.
  • Niveau 2 (Géré) : Estimez le coût, le calendrier et les fonctionnalités du projet. Les normes logicielles sont définies
  • Niveau 3 (Défini) : S'assure que le produit répond aux exigences et à l'utilisation prévue
  • Niveau 4 (Géré quantitativement) : Gère statistiquement les processus et sous-processus du projet
  • Niveau 5 (Maturité) : Identifier et déployer de nouveaux outils et améliorations de processus pour répondre aux besoins et aux objectifs commerciaux