CMMi, sigle de Capability Maturity Model + Integration, est un modèle de référence, un ensemble structuré de bonnes pratiques, destiné à appréhender, évaluer et améliorer les activités des entreprises d'ingénierie.
CMMi a été développé par le Software Engineering Institute de l'université Carnegie Mellon, initialement pour appréhender et mesurer la qualité des services rendus par les fournisseurs de logiciels informatiques du Département de la Défense US (DoD). Il est maintenant largement employé par les entreprises d'ingénierie informatique, les Directeurs des systèmes informatiques et les industriels pour évaluer et améliorer leurs propres développements de produits.
Le modèle CMMI définit une échelle de mesure de la maturité à 5 niveaux, ainsi que les indicateurs nécessaires pour évaluer les activités menées par une équipe par rapport à cette échelle - l'équipe peut être un groupe de travail, un ou plusieurs projets, une société voire une institution d'État.
CMMI est un cadre générique de processus qui se décline en 3 modèles (appelés constellations) :
La particularité de ces 3 modèles de processus est qu'ils ont une partie commune (le noyau ou "core" en anglais) qui représente environ 60% des pratiques. D'un modèle à l'autre, les différences portent essentiellement sur la catégorie « Ingénierie » dont les pratiques varient selon l'activité concernée.
Le modèle CMMI est majoritairement utilisé dans des sociétés d'informatique, toutefois les principes de CMMI s'appliquent à n'importe quelle activité d'ingénierie : architecture, mécanique, électronique, ...
Dans les années 1980, le Département de la Défense des États-Unis (DoD) a demandé l'élaboration d'un référentiel de critères lui permettant d'évaluer ses fournisseurs de logiciels. Après une lente maturation, le SEI (Software Engineering Institute) financé par le DoD a présenté en 1991 le Capability Maturity Model (CMM). Ce modèle de référence ne concerne que les bonnes pratiques du génie logiciel. Après un fort engouement pour ce modèle, d'autres modèles similaires ont vu le jour, tels que :
Tant et si bien qu’il fallut rebaptiser le CMM « initial » en SW-CMM (pour Software).
En 2001, le SEI a proposé une nouvelle version de son modèle, le CMMI (Capability Maturity Model Integration) qui englobe les bonnes pratiques des autres modèles, sauf la gestion des ressources humaines qui n'est pas encore considérée (version 1.1). La version actuelle du modèle a été réactualisée en 2006 (version 1.2). Cette dernière version du CMMI tend à simplifier le modèle et améliore la prise en compte des composants de type matériel.
Le CMMI-DEV est un modèle de processus (référentiel de bonnes pratiques) pour la réalisation de tout type de produit (ou système). C'est cependant dans le développement et la maintenance de logiciel qu'il est le plus utilisé. Sa portée utile s'étendant de l'apparition d'un besoin jusqu'à la livraison du produit correspondant, il y a d'autres modèles utiles pour d'autres domaines du logiciel, par exemple pour les infrastructures et opérations ITIL.