Le CMMI ( Capability Maturity Model Integration ) est un programme de formation et d'évaluation visant à améliorer les processus. Administré par le CMMI Institute , une filiale de l'ISACA , il a été développé à l'université Carnegie Mellon (CMU). Il est requis par de nombreux contrats du gouvernement américain, notamment dans le domaine du développement de logiciels . La CMU affirme que le CMMI peut être utilisé pour guider l'amélioration des processus dans un projet, une division ou une organisation entière.
Le CMMI définit les cinq niveaux de maturité suivants (1 à 5) pour les processus : Initial, Géré, Défini, Géré quantitativement et Optimisé. La version 3.0 du CMMI a été publiée en 2023 ; la version 2.0 a été publiée en 2018 ; la version 1.3 a été publiée en 2010 et constitue le modèle de référence pour le reste des informations contenues dans cet article. Le CMMI est enregistré auprès de l'Office américain des brevets et des marques par la CMU.
Aperçu

A l'origine, le CMMI s'adresse à trois domaines d'intérêt :
- Développement de produits et services – CMMI pour le développement (CMMI-DEV),
- Établissement et gestion de services – CMMI pour les services (CMMI-SVC) et
- Acquisition de produits et services – CMMI pour l’acquisition (CMMI-ACQ).
Dans la version 2.0, ces trois zones (qui avaient auparavant chacune un modèle distinct) ont été fusionnées en un seul modèle.
Le CMMI a été développé par un groupe de l'industrie, du gouvernement et du Software Engineering Institute (SEI) de la CMU. Les modèles CMMI fournissent des conseils pour développer ou améliorer les processus qui répondent aux objectifs commerciaux d'une organisation. Un modèle CMMI peut également être utilisé comme cadre pour évaluer la maturité des processus de l'organisation. En janvier 2013, l'ensemble de la suite de produits CMMI a été transféré du SEI au CMMI Institute, une organisation nouvellement créée à Carnegie Mellon.
Histoire
Le CMMI a été développé par le projet CMMI, qui visait à améliorer la facilité d'utilisation des modèles de maturité en intégrant de nombreux modèles différents dans un seul cadre. Le projet était composé de membres de l'industrie, du gouvernement et du Carnegie Mellon Software Engineering Institute (SEI). Les principaux sponsors étaient le Bureau du Secrétaire à la Défense ( OSD ) et la National Defense Industrial Association .
CMMI est le successeur du modèle de maturité des capacités (CMM) ou Software CMM. Le CMM a été développé de 1987 à 1997. En 2002, la version 1.1 a été publiée, la version 1.2 a suivi en août 2006 et la version 1.3 en novembre 2010. Les principaux changements apportés à CMMI V1.3 sont la prise en charge du développement logiciel agile , les améliorations apportées aux pratiques de haute maturité et l'alignement de la représentation (par étapes et continue).
Selon le Software Engineering Institute (SEI, 2008), le CMMI permet « d'intégrer des fonctions organisationnelles traditionnellement séparées, de définir des objectifs et des priorités d'amélioration des processus, de fournir des conseils pour les processus de qualité et de fournir un point de référence pour l'évaluation des processus actuels. »
Mary Beth Chrissis, Mike Konrad et Sandy Shrum Rawdon ont été les auteurs de la publication papier de CMMI for Development Version 1.2 et 1.3. La publication Addison-Wesley de la version 1.3 a été dédiée à la mémoire de Watts Humphry. Eileen C. Forrester, Brandon L. Buteau et Sandy Shrum ont été les auteurs de la publication papier de CMMI for Services Version 1.3. Rawdon « Rusty » Young a été l'architecte en chef du développement de CMMI version 2.0. Il était auparavant le propriétaire du produit CMMI et le responsable qualité SCAMPI pour le Software Engineering Institute.
En mars 2016, l'Institut CMMI a été acquis par l'ISACA .
En avril 2023, le CMMI V3.0 est sorti.
Thèmes
Représentation
Dans la version 1.3, le CMMI existait sous deux formes : continue et par étapes. La représentation continue est conçue pour permettre à l'utilisateur de se concentrer sur les processus spécifiques considérés comme importants pour les objectifs commerciaux immédiats de l'organisation, ou ceux auxquels l'organisation attribue un degré de risque élevé. La représentation par étapes est conçue pour fournir une séquence standard d'améliorations et peut servir de base pour comparer la maturité de différents projets et organisations. La représentation par étapes permet également une migration facile du SW-CMM vers le CMMI.
Dans la version 2.0, la séparation de représentation ci-dessus a été annulée et il n'y a désormais qu'un seul modèle cohérent.
Cadre du modèle (v1.3)
Selon les domaines d'intérêt (acquisition, services, développement) utilisés, les domaines de processus qu'il contient varieront. Les domaines de processus sont les domaines qui seront couverts par les processus de l'organisation. Le tableau ci-dessous répertorie les dix-sept domaines de processus principaux du CMMI qui sont présents pour tous les domaines d'intérêt du CMMI dans la version 1.3.
Niveaux de maturité des services
Les domaines de processus ci-dessous et leurs niveaux de maturité sont répertoriés pour le modèle CMMI pour les services :
Niveau de maturité 2 – Géré
- CM – Gestion de la configuration
- MA – Mesure et analyse
- PPQA – Assurance processus et qualité
- REQM – Gestion des exigences
- SAM – Gestion des accords avec les fournisseurs
- SD – Prestation de services
- WMC – Suivi et contrôle des travaux
- WP – Planification du travail
Niveau de maturité 3 – Définition
- CAM – Gestion de la capacité et de la disponibilité
- DAR – Analyse et résolution de décisions
- IRP – Résolution et prévention des incidents
- IWM – Gestion Intégrée du Travail
- OPD – Définition du processus organisationnel
- OPF – Focus sur les processus organisationnels...
- OT – Formation organisationnelle
- RSKM – Gestion des risques
- SCON – Continuité de service
- SSD – Développement de systèmes de services
- SST – Transition du système de services
- STSM – Gestion stratégique des services
Niveau de maturité 4 – Gestion quantitative
- OPP – Performance des processus organisationnels
- QWM – Gestion quantitative du travail
Niveau de maturité 5 – Optimisation
- CAR – Analyse causale et résolution.
- OPM – Gestion de la performance organisationnelle.
Modèles (v1.3)
Les meilleures pratiques CMMI sont publiées dans des documents appelés modèles, chacun d'entre eux abordant un domaine d'intérêt différent. La version 1.3 fournit des modèles pour trois domaines d'intérêt : le développement, l'acquisition et les services.
- CMMI for Development (CMMI-DEV), v1.3 a été publié en novembre 2010. Il aborde les processus de développement de produits et de services.
- CMMI for Acquisition (CMMI-ACQ), v1.3 a été publié en novembre 2010. Il aborde les processus de gestion de la chaîne d'approvisionnement, d'acquisition et d'externalisation au sein du gouvernement et de l'industrie.
- La version 1.3 du CMMI for Services (CMMI-SVC) a été publiée en novembre 2010. Elle fournit des conseils pour la fourniture de services au sein d'une organisation et à des clients externes.
Modèle (v2.0)
Dans la version 2.0, DEV, ACQ et SVC ont été fusionnés en un seul modèle où chaque domaine de processus a potentiellement une référence spécifique à un ou plusieurs de ces trois aspects. Pour s'adapter à l'industrie, le modèle fait également explicitement référence aux aspects agiles dans certains domaines de processus.
Certaines différences clés entre les modèles v1.3 et v2.0 sont indiquées ci-dessous :
- Les « domaines de processus » ont été remplacés par les « domaines de pratique (PA) ». Ces derniers sont organisés par niveaux et non par « objectifs spécifiques ».
- Chaque PA est composé d'une section « noyau » [c'est-à-dire une description générique et sans terminologie] et d'une section « spécifique au contexte » [c'est-à-dire une description du point de vue d'Agile/Scrum, du développement, des services, etc.].
- Étant donné que toutes les pratiques doivent désormais être respectées, la section « Attendu » a été supprimée.
- Les « pratiques génériques » ont été placées dans un nouveau domaine appelé « Gouvernance et infrastructure de mise en œuvre », tandis que les « pratiques spécifiques » ont été omises.
- L'accent est mis sur la mise en œuvre des AP et sur leur pratique continue jusqu'à ce qu'elles deviennent une « habitude ».
- Tous les niveaux de maturité se concentrent sur le mot clé « performance ».
- Deux et cinq PA facultatifs des domaines « Sécurité » et « Sûreté » ont été inclus.
- Les domaines de processus du PCMM ont été fusionnés.
Évaluation
Une organisation ne peut pas être certifiée CMMI ; elle est évaluée . Selon le type d'évaluation, l'organisation peut se voir attribuer un niveau de maturité (de 1 à 5) ou un profil de réalisation de niveau de capacité.
De nombreuses organisations estiment utile de mesurer leurs progrès en procédant à une évaluation. Les évaluations sont généralement réalisées pour une ou plusieurs des raisons suivantes :
- Déterminer dans quelle mesure les processus de l'organisation se comparent aux meilleures pratiques CMMI et identifier les domaines dans lesquels des améliorations peuvent être apportées
- Informer les clients et fournisseurs externes de la mesure dans laquelle les processus de l'organisation se comparent aux meilleures pratiques CMMI
- Pour répondre aux exigences contractuelles d'un ou plusieurs clients
Les évaluations des organisations utilisant un modèle CMMI doivent être conformes aux exigences définies dans le document Appraisal Requirements for CMMI (ARC). Il existe trois classes d'évaluations, A, B et C, qui se concentrent sur l'identification des opportunités d'amélioration et la comparaison des processus de l'organisation avec les meilleures pratiques CMMI. Parmi celles-ci, l'évaluation de classe A est la plus formelle et la seule qui puisse aboutir à une note de niveau. Les équipes d'évaluation utilisent un modèle CMMI et une méthode d'évaluation conforme à l'ARC pour guider leur évaluation de l'organisation et leur rapport de conclusions. Les résultats de l'évaluation peuvent ensuite être utilisés (par exemple, par un groupe de processus) pour planifier des améliorations pour l'organisation.
La méthode d'évaluation standard CMMI pour l'amélioration des processus (SCAMPI) est une méthode d'évaluation qui répond à toutes les exigences de l'ARC. Les résultats d'une évaluation SCAMPI peuvent être publiés (si l'organisation évaluée l'approuve) sur le site Web CMMI du SEI : Résultats d'évaluation SCAMPI publiés. SCAMPI prend également en charge la conduite des évaluations ISO/IEC 15504 , également connues sous le nom de SPICE (Software Process Improvement and Capability Determination), etc.
Cette approche encourage la formation des membres de l'EPG et des PAT au CMMI, la réalisation d'une évaluation informelle (SCAMPI C) et la priorisation des domaines de processus à améliorer. Des approches plus modernes, qui impliquent le déploiement de processus disponibles dans le commerce et conformes au CMMI, peuvent réduire considérablement le temps nécessaire pour se conformer. SEI a tenu à jour des statistiques sur le « temps de mise en conformité » pour les organisations adoptant l'ancien CMM logiciel ainsi que le CMMI. Ces statistiques indiquent que, depuis 1987, le temps médian de passage du niveau 1 au niveau 2 est de 23 mois, et du niveau 2 au niveau 3 de 20 mois supplémentaires. Depuis la publication du CMMI, le temps médian de passage du niveau 1 au niveau 2 est de 5 mois, avec un passage médian au niveau 3 de 21 mois supplémentaires. Ces statistiques sont mises à jour et publiées tous les six mois dans un profil de maturité.
La méthodologie des processus logiciels de l'équipe du Software Engineering Institute (SEI) et l'utilisation des modèles CMMI peuvent être utilisées pour augmenter le niveau de maturité. Un nouveau produit appelé Accelerated Improvement Method (AIM) combine l'utilisation du CMMI et du TSP.
Sécurité
Pour répondre aux préoccupations des utilisateurs en matière de sécurité, deux guides de sécurité non officiels sont disponibles. Considering the Case for Security Content in CMMI for Services comporte un domaine de processus, la gestion de la sécurité. Security by Design with CMMI for Development, Version 1.3 comporte les domaines de processus suivants :
- OPSD – Préparation organisationnelle pour un développement sécurisé
- SMP – Gestion sécurisée des projets
- SRTS – Exigences de sécurité et solution technique
- SVV – Vérification et validation de sécurité
Bien qu’ils n’affectent pas les niveaux de maturité ou de capacité, ces domaines de processus peuvent être signalés dans les résultats d’évaluation.
Applications
Le SEI a publié une étude selon laquelle 60 organisations ont mesuré des augmentations de performance dans les catégories coût, calendrier, productivité, qualité et satisfaction client. L’augmentation médiane de performance variait entre 14 % (satisfaction client) et 62 % (productivité). Cependant, le modèle CMMI traite principalement des processus à mettre en œuvre, et pas tellement de la manière dont ils peuvent être mis en œuvre. Ces résultats ne garantissent pas que l’application du CMMI augmentera les performances dans toutes les organisations. Une petite entreprise avec peu de ressources peut être moins susceptible de bénéficier du CMMI ; ce point de vue est confirmé par le profil de maturité des processus (page 10). Parmi les petites organisations (< 25 employés), 70,5 % sont évaluées au niveau 2 : Géré, tandis que 52,8 % des organisations de 1 001 à 2 000 employés sont évaluées au niveau le plus élevé (5 : Optimisation).
Turner et Jain (2002) soutiennent que même s'il est évident qu'il existe de grandes différences entre le CMMI et le développement logiciel agile , les deux approches ont beaucoup en commun. Ils pensent qu'aucune des deux méthodes n'est la « bonne » pour développer un logiciel, mais qu'il existe des phases dans un projet où l'une des deux est mieux adaptée. Ils suggèrent de combiner les différents fragments des méthodes dans une nouvelle méthode hybride. Sutherland et al. (2007) affirment qu'une combinaison de Scrum et de CMMI apporte plus d'adaptabilité et de prévisibilité que l'une ou l'autre seule. David J. Anderson (2005) donne des conseils sur la façon d'interpréter le CMMI de manière agile.
Les feuilles de route CMMI , qui constituent une approche axée sur les objectifs pour sélectionner et déployer les domaines de processus pertinents du modèle CMMI-DEV, peuvent fournir des conseils et une orientation pour une adoption efficace du CMMI. Il existe plusieurs feuilles de route CMMI pour la représentation continue, chacune avec un ensemble spécifique d'objectifs d'amélioration. Les exemples sont la feuille de route du projet CMMI , les feuilles de route des produits et de l'intégration des produits CMMI et les feuilles de route des processus et des mesures CMMI . Ces feuilles de route combinent les points forts des représentations par étapes et continues.
La combinaison de la technique de gestion de projet EVM ( Earned Value Management ) avec CMMI a été décrite. Pour conclure avec une utilisation similaire de CMMI, Extreme Programming ( XP ), une méthode d'ingénierie logicielle, a été évaluée avec CMM/CMMI (Nawrocki et al., 2002). Par exemple, l'approche de gestion des exigences XP, qui repose sur la communication orale, a été évaluée comme non conforme au CMMI.
Le CMMI peut être évalué selon deux approches différentes : par étapes et en continu. L'approche par étapes produit des résultats d'évaluation sous la forme de l'un des cinq niveaux de maturité. L'approche continue produit l'un des quatre niveaux de capacité. Les différences entre ces approches ne se font sentir que dans l'évaluation ; les meilleures pratiques sont équivalentes, ce qui se traduit par des résultats d'amélioration des processus équivalents.