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

⚡ Résumé intelligent

Le modèle de maturité des capacités (CMM) est un outil de référence permettant d'évaluer la maturité des processus logiciels d'une organisation. Développé par le Software Engineering Institute, il définit cinq niveaux qui guident les équipes d'un travail chaotique et ponctuel vers une amélioration continue et optimisée.

  • (I.e. Définition: Le CMM est un référentiel qui mesure la maturité du processus de développement logiciel d'une organisation.
  • Origine: Il a été développé au Software Engineering Institute à la fin des années 1980 pour l'US Air Force.
  • 🪜 Cinq niveaux : Les stades de maturité sont : initial, géré, défini, géré quantitativement et optimisé.
  • Délai de mise en œuvre : L'adoption complète prend généralement des mois par niveau, et non pas un changement du jour au lendemain.
  • 🧩 Principaux domaines de processus : Chaque niveau, à l'exception du niveau 1, est défini par des domaines de processus clés (KPA) qui regroupent des objectifs connexes.
  • ⚠️ Limitation: Le CMM définit ce qu'un processus doit aborder, et non comment le mettre en œuvre, et ignore la stratégie d'entreprise.

Modèle de maturité des capacités (CMM)

Qu'est-ce que le CMM ?

Modèle de maturité des capacités est utilisé comme référence pour mesurer la maturité des processus logiciels d'une organisation.

Le CMM a été développé au Software Engineering Institute à la fin des années 80. Son développement faisait suite à une étude financée par l'US Air Force visant à évaluer le travail des sous-traitants.tracteurs. Later, basé sur le modèle CMM-SW créé en 1991 pour évaluer la maturité du développement logiciel, de nombreux autres modèles ont été 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) ?

Le modèle définit cinq niveaux de maturité progressifs :

  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 ?

Le tableau ci-dessous détaille les activités et les avantages à chaque niveau.

Niveaux Activités Les Avantages
Niveau 1 Initiale
  • Au niveau 1, le processus est généralement chaotique et improvisé.
  • Une capacité se caractérise par les individus et non par l'organisation.
  • Progrès non mesurés.
  • Les produits développés accusent souvent du retard et dépassent le budget.
  • De fortes variations en termes de calendrier, de coût, de fonctionnalités et d'objectifs de qualité.
Aucun. Un projet, c'est le 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, les rapports de problèmes, les modifications, etc.
  • Les processus peuvent différer selon les projets
  • Les processus deviennent plus faciles à comprendre
  • Les gestionnaires et les membres de l'équipe consacrent moins de temps à expliquer comment les choses se font et plus de temps à les mettre en œuvre.
  • Les projets sont mieux estimés, mieux planifiés et plus flexibles.
  • La qualité est intégrée aux projets
  • Le coût peut être élevé au départ, mais il diminue avec le temps.
  • Cela nécessite davantage de paperasse et de documents.
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'usage prévu
  • 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 prennent pas l'équipe au dépourvu.
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 au sein d'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 schéma suivant illustre ce qui se passe aux différents niveaux de la MMT :

Différents niveaux de MMT

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

Le CMM est le processus idéal pour maintenir la qualité du produit pour toute entreprise de développement logiciel, 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 pas simplement de « 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 du CMM est défini comme un domaine de processus clé ou KPA, à l'exception du niveau 1. Chaque KPA définit un ensemble d'activités connexes qui, lorsqu'elles sont réalisées collectivement, permettent d'atteindre un ensemble d'objectifs considérés comme essentiels pour améliorer les capacités du logiciel.

Pour chaque niveau de CMM, il existe des ensembles d'indicateurs clés de performance (KPI). Par exemple, pour le modèle CMM 2, les KPI sont les suivants :

  • REQM – Gestion des exigences
  • PP – Planification de projet
  • PMC – Suivi et contrôle de projet
  • SAM – Gestion des accords fournisseurs
  • PPQA – Assurance des processus et de la qualité
  • CM – Gestion de la configuration

De même, pour les autres modèles CMM, vous avez des KPA spécifiques. Pour savoir si la mise en œuvre d'un KPA est efficace, durable et reproductible, elle est cartographiée selon les critères suivants :

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

Limites des modèles CMM

Le modèle présente également plusieurs limitations :

  • Le CMM détermine ce qu'un processus doit aborder plutôt que la manière dont il doit être mis en œuvre.
  • Cela n'explique pas toutes les possibilités d'amélioration des processus logiciels.
  • Il se concentre sur les problématiques logicielles mais ne prend pas en compte la planification stratégique de l'entreprise, l'adoption des technologies, la mise en place d'une gamme de produits et la gestion des ressources humaines.
  • Cela n'indique pas dans quel secteur d'activité une organisation devrait exercer ses activités.
  • La méthode CMM ne sera pas utile dans un projet qui traverse actuellement une crise.

Pourquoi utiliser la CMM ?

Aujourd'hui, la certification CMM fait office de label de qualité dans l'industrie du logiciel. Elle contribue de diverses manières à améliorer la qualité des logiciels.

  • Elle oriente vers un processus standard reproductible et réduit ainsi le temps d'apprentissage nécessaire pour accomplir les tâches.
  • Mettre en pratique le CMM signifie appliquer un protocole standard de développement, ce qui permet non seulement à l'équipe de gagner du temps, mais aussi d'avoir une vision claire de ce qu'il faut faire et de ce à quoi s'attendre.
  • Les activités de qualité s'intègrent parfaitement au projet plutôt que d'être considérées comme un événement distinct.
  • Il sert d'intermédiaire entre le projet et l'équipe.
  • Les efforts de CMM visent toujours à améliorer le processus.

FAQ

Le CMM est le modèle original, principalement axé sur la maturité des processus logiciels. Le CMMI (Capability Maturity Model Integration) lui a succédé et couvre les logiciels, le matériel et les services grâce à un cadre intégré. Aujourd'hui, la plupart des organisations privilégient le CMMI au CMM.

Le CMM est largement utilisé dans les services informatiques et logiciels, la défense, l'aérospatiale, la banque et les télécommunications. Toute organisation qui externalise ou fournit des logiciels complexes l'utilise pour évaluer la qualité, réduire les risques et démontrer à ses clients des processus fiables et reproductibles.

Oui, bien que le CMMI ait largement remplacé le CMM d'origine, les évaluations de maturité restent pertinentes pour les organisations qui doivent démontrer leur maîtrise des processus dans le cadre de l'externalisation.tracts, appels d'offres gouvernementaux et audits qualité, même en parallèle des pratiques Agile et DevOps.

L'IA peut analyser les données de processus, détecter les défauts en amont et anticiper les risques liés aux délais et aux coûts. En automatisant la mesure et le reporting, elle soutient les niveaux supérieurs de la gestion de la performance, où les organisations s'appuient sur une gestion quantitative et une amélioration continue fondée sur les données.

Oui. Les outils d'IA automatisent les tests, les revues de code et le suivi des processus, rendant les pratiques reproductibles et mesurables. Cela permet aux équipes de passer d'un travail ponctuel à des niveaux définis et optimisés, même si une supervision humaine reste nécessaire pour pérenniser les acquis.

Résumez cet article avec :