Le modèle de maturité des capacités (CMM) est un moyen efficace et plus facile d’adapter plusieurs fonctions de votre entreprise.

Pour diriger une entreprise, contrôler un système ou gérer un groupe, la compréhension des capacités est un aspect essentiel.

Une fois que vous avez défini les différentes fonctions de votre entreprise, vous devez évaluer les performances de toutes ces fonctions. En fonction de cela, vous fixez des normes et des objectifs pour votre entreprise.

Pour mesurer et contrôler les performances et les progrès de chaque fonction et de chaque individu, les entrepreneurs et les chefs d’entreprise doivent donc disposer d’une solution solide et la mettre en œuvre.

De cette manière, une entreprise peut développer des systèmes capables de supporter le poids de la complexité et d’apporter la précision nécessaire à la mise à l’échelle.

C’est là que le modèle CMM entre en jeu.

Dans cet article, j’expliquerai ce que sont le CMM et le CMMI, leurs niveaux et leurs différences.

Commençons par le commencement !

Qu’est-ce que le modèle de maturité des capacités ?

Le modèle de maturité des capacités (CMM) est une méthodologie simple utilisée pour créer et affiner le processus de développement d’applications d’une organisation. Cela permet aux développeurs de développer et d’améliorer le processus de développement de logiciels, ce qui se traduit par une cohérence et une efficacité accrues.

Quel que soit votre rôle dans l’équipe de développement, le fait de vous familiariser avec le CMM peut vous aider à améliorer vos performances. On peut donc dire que le CMM est une méthode qui permet d’évaluer, de développer et d’améliorer le processus de développement de logiciels.

What-Is-Capability-Maturity-Model

Le CMM décrit les procédures primaires pour le développement de logiciels et d’autres princesses qui font appel à l’ingénierie, à la gestion et à la planification. Il part du principe qu’un processus d’amélioration régulier est réalisable grâce à de petits signes de progrès plutôt qu’à des percées plus importantes.

En outre, elle offre un cadre pour gérer les signes mineurs à différents niveaux de maturité afin de fournir une plate-forme pour l’amélioration continue du processus de développement de logiciels. Cette méthodologie est donc au cœur des systèmes de gestion spécialement conçus pour améliorer la qualité du développement des produits et des services, ainsi que leurs livraisons.

Le CMM a été développé et promu par le SEI (Software Engineering Institute), un centre de R&D parrainé par le ministère américain de la défense. Il fait aujourd’hui partie de l’université Carnegie Mellon. Le SEI a été fondé en 1984 pour répondre à divers problèmes liés aux logiciels et faire progresser les méthodologies logicielles.

Le SEI a été créé pour optimiser le processus de développement, d’acquisition et de maintenance de systèmes fortement réservés aux logiciels pour le ministère de la défense (DOD). Il préconise l’adoption par l’industrie du CMM évolutif, c’est-à-dire l’intégration du CMM (CMMI).

Pourquoi avez-vous besoin du CMM ?

Le CMM a de nombreux atouts, et l’avantage le plus utile de cette méthodologie est qu’elle permet de gagner du temps et de l’argent. En effet, le système est parfaitement conçu pour connaître les défauts du processus d’amélioration de manière plus efficace que les autres modèles.

whyneedcmm

En outre, le modèle CMM améliore les processus d’entreprise et réduit les changements soudains dans les calendriers de production. Le CMM étant le premier modèle conçu pour améliorer le processus industriel, il peut servir de pierre angulaire à la création d’autres modèles, tels que la version améliorée du CMM (CMMI), le Business Capability Maturity Model (BCMM), et bien d’autres encore.

Le CMM est un modèle assez flexible pour tous les processus et tous les marchés. Quel que soit le secteur auquel vous appartenez, si vous avez une équipe de développement, ses membres peuvent utiliser le modèle pour corriger les erreurs dans le processus.

Les cinq niveaux de maturité du modèle CMM

Les cinq niveaux du modèle de maturité des capacités (CMM) dans le processus de développement sont les suivants :

#1. Niveau initial

À ce niveau, les processus ne sont pas ordonnés correctement. Ils peuvent même parfois être chaotiques. Ici, le succès dépend des efforts de chaque membre et n’est pas considéré comme un processus reproductible. La raison en est que le processus n’est pas suffisamment documenté et défini pour pouvoir être reproduit.

Les processus suivis sont immatures et adhoc, ce qui constitue un environnement instable pour le développement de votre logiciel. En outre, il n’y a pas de base pour prédire la qualité du produit et son délai d’achèvement.

#2. Répétable

À ce niveau, les processus requis sont bien établis, documentés et définis. Par conséquent, les techniques de gestion de projet sont correctement établies, et le succès peut ne pas être reproduit dans certains domaines clés.

Le niveau reproductible peut être atteint en établissant des politiques de base de gestion de projet. L’expérience acquise lors de projets antérieurs est utilisée pour gérer des projets de même nature. Il s’agit de définir les ressources nécessaires, les objectifs, les contraintes, etc. pour le projet.

cmm-levels

Ce niveau présente un plan détaillé qui doit être suivi correctement pour la réalisation d’un logiciel de qualité. L’objectif principal est de maintenir les performances du produit, comme ses composants, tout au long du cycle de vie du logiciel.

Le niveau reproductible comprend également la gestion du retour d’information et de la révision par le client, qui peut conduire à certaines modifications de l’exigence fixée. Cette gestion des exigences consiste à prendre en compte les exigences modifiées.

En outre, la gestion des contrats de sous-traitance se concentre sur la gestion des sous-traitants qualifiés pour le développement de logiciels. Cela signifie qu’elle gère certaines parties du logiciel qui sont développées par des tiers. L’assurance qualité des logiciels garantit un produit logiciel de qualité avec certaines règles et directives standard pendant le processus de développement.

#3. Définies

La documentation des lignes directrices et des procédures se situe à ce niveau. Il s’agit d’un ensemble bien défini de processus d’ingénierie logicielle et de gestion. Il s’agit notamment de

  • Les examens par les pairs : Dans cette méthode, les défauts doivent être éliminés à l’aide d’une variété de processus de révision tels que les inspections, les vérifications par les pairs, les visites, etc.
  • La coordination intergroupe : Cette méthode consiste en des interactions entre plusieurs équipes de développement afin de garantir une satisfaction adéquate et efficace des besoins.
  • Définition du processus d’organisation : La méthode se concentre sur le développement et la maintenance des processus de développement de logiciels.
  • Concentration sur le processus d’organisation : Il s’agit de pratiques et d’activités qui doivent être suivies pour améliorer les capacités de l’organisation en matière de processus.
  • Programmes de formation : Les programmes de formation se concentrent sur l’amélioration des connaissances et des compétences des membres de l’équipe et garantissent une amélioration de l’efficacité du travail.

#4. Gestion

managedcmmlevel

À ce niveau, des objectifs quantitatifs sont fixés pour la qualité des produits et des processus logiciels d’une organisation. Les mesures effectuées permettent à l’organisation de prévoir le processus et la qualité du produit dans les limites définies quantitativement.

Ce niveau comprend les stratégies et les plans établis pour développer et comprendre l’analyse quantitative et la qualité du produit. Il se concentre également sur la gestion des performances du projet.

#5. Optimisation

Il s’agit de la dernière étape de la maturité du processus dans le CMM qui se concentre uniquement sur l’amélioration continue des processus de développement dans l’organisation par le biais d’un retour d’information quantitatif. Pour ce faire, on utilise des techniques, des évaluations et des outils pour les processus logiciels afin d’éviter la répétition de défauts connus.

Ce niveau comprend

  • La gestion des changements de processus : Ce processus de gestion se concentre sur l’amélioration continue des processus de développement de logiciels. Cela permet d’améliorer la qualité, la durée du cycle et la productivité du produit logiciel.
  • La gestion des changements technologiques : Elle consiste à utiliser des technologies et des techniques d’identification pour améliorer la qualité du produit et minimiser le temps de développement.
  • Prévention des défauts : La prévention des défauts peut se faire en identifiant la cause des défauts et en évitant que ces défauts ne se reproduisent dans les projets suivants. Cela permet d’améliorer les processus définis dans le cadre du projet.

Intégration du modèle de maturité des capacités

cmmi

L’intégration du modèle de maturité des capacités (CMMI) est un modèle de processus simple que les organisations peuvent utiliser pour améliorer les processus de développement, stimuler les comportements efficaces et améliorer la productivité dans le flux de travail lors du développement d’un produit, d’un service ou d’un projet. Il en résulte une réduction des risques tout au long du processus.

Le CMMI a été développé et introduit par l’Université Carnegie Mellon. L’objectif premier de ce développement est d’accroître l’efficacité et la facilité d’utilisation des modèles de maturité qui peuvent mesurer la capacité d’une organisation à s’améliorer en permanence dans des domaines particuliers. Cela n’est possible qu’en intégrant plusieurs modèles dans un cadre unique.

La première version a été publiée en 2002, et la suivante en 2006. En 2010, la version 1.3 est apparue, et la dernière version, 2.0, a été lancée en 2018, avec divers changements visant à la rendre plus accessible, plus efficace, etc. pour les entreprises.

Le CMMI a été racheté par l’ISACA (anciennement connue sous le nom d’Information Systems Audit and Control Association), qui possède des certifications telles que le cadre COBIT. Le CMMI est un modèle de processus et de comportement qui aide les organisations tout au long du processus de développement de produits ou de services.

cmmi-developemnt

L’objectif du CMMI est donc assez clair. Il est utilisé pour améliorer la qualité du service ou du produit en suivant le modèle qui répond aux attentes des clients et augmente la valeur d’une organisation sur le marché. Il évalue également la réputation de votre entreprise et la valeur des parties prenantes dans l’industrie.

Le CMMI couvre actuellement les domaines d’intérêt suivants :

  • CMMI pour le développement: Il s’agit du développement de produits et de services.
  • CMMI pourles services: Il concerne l’établissement, la fourniture et la gestion des services.
  • CMMI pour l’acquisition: Il s’agit de l’acquisition de produits et de services.

Représentation du CMMI

La représentation du CMMI permet à une organisation de poursuivre un ensemble d’objectifs d’amélioration. Il existe deux représentations :

Représentation par étapes

  • Elle utilise un ensemble défini de domaines de processus de développement pour décrire le chemin d’amélioration.
  • Elle fournit une série d’améliorations, où chaque partie de la série sert de structure à l’amélioration suivante.
  • Elle définit une voie d’amélioration à l’aide de niveaux de maturité. Le niveau de maturité indique la maturité des différents processus de l’organisation.
  • Il permet de comparer différentes organisations pour différents niveaux de maturité.

Représentation continue

  • Elle permet de sélectionner des domaines de processus particuliers.
  • Elle utilise les niveaux de capacité pour mesurer l’amélioration de chaque processus.
  • En outre, elle permet de comparer les organisations entre elles sur la base de chaque domaine de processus.
  • La représentation continue permet également aux organisations de choisir parmi différents processus en vue d’une meilleure amélioration.
  • Dans cette représentation, les organisations peuvent mieux atteindre leurs objectifs et réduire les risques en choisissant l’ordre d’amélioration des différents processus.

Les étapes du CMMI

Le CMMI comporte cinq stades de maturité avec une représentation par étapes :

#1. Initial : À ce niveau, les processus de développement sont mal contrôlés ou mal gérés. Les résultats des processus de développement sont également imprévisibles. En outre, des approches chaotiques et ad hoc sont utilisées. Vous ne trouverez pas de domaines de processus clés (KPA) définis. La qualité n’est pas très bonne et le produit ou les services présentent le risque le plus élevé.

#2. Géré : À ce stade de maturité, les exigences sont gérées correctement et les processus de développement sont contrôlés et planifiés. Ici, le projet est correctement géré et mis en œuvre conformément aux plans documentés. Toutefois, le risque existe toujours, mais il est inférieur au niveau initial.

cmmilevels

#3. Défini : Au niveau de maturité défini, les processus de développement sont bien décrits et caractérisés à l’aide de procédures, de normes, d’outils et de méthodes appropriés. La qualité que vous trouverez est de niveau moyen et le risque est également moyen.

#4. Gestion quantitative : Dans ce modèle, les objectifs quantitatifs des processus de qualité et de performance sont fixés. Ils sont basés sur les besoins de l’organisation, les exigences des clients, etc. Les mesures de performance des processus sont analysées quantitativement. Vous trouverez ici des processus de meilleure qualité à moindre risque.

#5. Optimisation : Il s’agit de la dernière étape du modèle de maturité qui implique une amélioration continue des performances et des processus. À ce niveau, l’amélioration est à la fois innovante et progressive. Les processus et les performances sont de meilleure qualité et le risque est le plus faible.

Niveaux de capacité du CMMI

Un niveau de capacité indique les pratiques pertinentes pour un domaine de processus particulier afin d’améliorer les processus d’une organisation liés à ce domaine. Il existe six niveaux de capacité pour les modèles CMMI :

  • Niveau de capacité 0 (Incomplet) : Il comprend les processus incomplets, partiels et non exécutés. À ce niveau, il n’y a pas d’objectifs génériques.
  • Niveau de capacité 1 (exécuté) : La performance du processus n’est pas stable à ce niveau. Les objectifs de coût, de délai et de qualité ne sont pas atteints. Le processus de niveau 1 doit mettre en œuvre des pratiques spécifiques.
  • Niveau de capacité 2 (géré) : À ce niveau, le processus est surveillé, contrôlé et planifié. Ici, les objectifs sont à la fois des modèles et d’autres objectifs tels que la qualité, les délais et les coûts. L’organisation doit gérer activement les processus à l’aide de mesures.
  • Niveau de capacité 3 (défini) : Il s’agit d’un niveau défini où le processus est bien géré et répond à un ensemble de lignes directrices et de normes organisationnelles. Il est axé sur la normalisation des processus.
  • Niveau de capacité 4 (gestion quantitative) : Le processus est contrôlé à l’aide de techniques quantitatives et statistiques. À ce niveau, la performance du processus est appréhendée en termes de métriques et de statistiques.
  • Niveau de capacité 5 (Optimisation) : Ce niveau se concentre sur l’amélioration continue des performances du processus. Les performances sont améliorées de manière innovante et progressive.

CMM vs. CMMI : la différence

cmmvscmmi

Le CMMI est un modèle actualisé ou plus récent du CMM. Le SEI a développé le CMMI afin de normaliser et d’intégrer le CMM, qui comporte plusieurs modèles pour chaque fonction qu’il couvre. Ces modèles ne sont pas synchronisés ; leur intégration rend le processus flexible et efficace.

En ce qui concerne les domaines clés du processus, les pratiques, les niveaux de maturité et les objectifs, la structure du CMMI est similaire à celle du CMM. Cependant, le CMMI propose deux représentations différentes des processus.

Découvrons quelques différences supplémentaires entre le CMM et le CMMI :

CMMCMMI
CMM est l’abréviation de Capability Maturity Model (modèle de maturité des capacités), développé en 1984.CMMI signifie Capability Maturity Model Integration (modèle d’intégration de la maturité des capacités), développé en 2006.
Il s’agit d’un modèle comportemental développé pour mesurer les processus de développement de logiciels dans une organisation.Il s’agit de la version actualisée du modèle CMM, qui est davantage axée sur les tâches et plus efficace.
L’objectif principal est d’évaluer les niveaux de maturité dans le processus de développement de logiciels. L’objectif principal est de combiner différents modèles de logiciels en un seul logiciel et de surmonter certains inconvénients du CMM.
Le modèle CMM comporte cinq étapes : Initiale, répétée, définie, gérée et optimiséeLe CMMI comporte cinq étapes : Initial, géré, défini, géré quantitativement et optimisé.
Le CMM est moins efficace.Le CMMI est plus efficace.
Il est trop axé sur les processus.Il est orienté vers les objectifs.

Conclusion

Le modèle de maturité des capacités (CMM) est un système de résolution des problèmes pour les processus de développement de logiciels dans l’industrie. Il peut éviter aux entreprises d’avoir à gérer des problèmes de processus.

D’autre part, le CMMI a une méthodologie plus avancée que le CMM. Il s’agit de répondre aux attentes des clients, de valoriser la création, de commercialiser la croissance, d’améliorer la qualité des produits et des services et de renforcer la réputation.

Vous pouvez également explorer le cadre de la gestion du cycle de vie des applications qui aide à développer et à livrer le logiciel dans les délais, dans le respect du budget et avec une qualité optimale.