Das (CMMI) der ISACA ist eine Familie von Referenzmodellen für unterschiedliche Anwendungsgebiete – derzeit für die Produktentwicklung, den Produkteinkauf und die Serviceerbringung. Ein CMMI-Modell ist eine systematische Aufbereitung bewährter Praktiken, um die Verbesserung einer Organisation zu unterstützen. Ein CMMI-Modell kann genutzt werden, um einen Überblick über bewährte Praktiken (z. B. bei der Projektplanung) zu bekommen, die Stärken und Schwächen einer Organisation objektiv zu analysieren oder Verbesserungsmaßnahmen zu bestimmen und in eine sinnvolle Reihenfolge zu bringen. Primär sind die CMMI-Modelle ein Mittel, um die Arbeit einer Organisation zu verbessern. Sekundär sind offizielle Überprüfungen eines Reifegrades (siehe ) eine in der Industrie de facto anerkannte Auszeichnung. CMMI wird deshalb häufig auch als Reifegradmodell bezeichnet, obwohl die Reifegrade nur ein Aspekt unter vielen von CMMI sind.
Alle CMMI-Modelle („Constellation“ genannt) haben die gleiche Struktur und einen gemeinsamen inhaltlichen Kern. Zurzeit gibt es drei veröffentlichte CMMI-Modelle: Das „CMMI for Development“ (CMMI-DEV) unterstützt die Verbesserung von Organisationen, die Software, Systeme oder Hardware entwickeln. Das „CMMI for Supplier Management“ (CMMI-SPM) unterstützt die Verbesserung von Organisationen, die Software, Systeme oder Hardware von Lieferanten beziehen, aber nicht selbst entwickeln (bis Version 1.3 Acquisition (CMMI-ACQ)). Das „CMMI for Services“ (CMMI-SVC) unterstützt die Verbesserung von Organisationen, die Dienstleistungen erbringen.
Geschichtliche Entwicklung
1979 veröffentlichte Philip B. Crosby das Quality Management Maturity Grid, welches als Vorläufermodell des CMMI gilt. 1986 begann auf Initiative des US-Verteidigungsministeriums das (SEI) an der /Pittsburgh, welches dem US-Verteidigungsministerium untersteht, mit der Entwicklung eines Systems zur Bewertung der Reife von Softwareprozessen. 1991 wurde das Modell als 1.0 herausgegeben. 1993 wurde CMM überarbeitet und in der Version 1.1 bereitgestellt. 1997 wurde CMM 2.0 kurz vor der Verabschiedung vom US-Verteidigungsministerium zurückgezogen und das CMMI-Projekt gestartet. 2000 wurde CMMI – damals noch unter dem Namen – als Pilotversion 1.0 herausgegeben. 2002 wurde CMMI unter dem neuen Namen (kurz CMMI) freigegeben. 2003 ist die Unterstützung des SEI für die alte Version CMM ausgelaufen, und seit 2005 liefen die Lizenzen der Assessmentleiter für CMM aus. D. h., es gibt keine offiziellen CMM-Assessments mehr. 2006 ist die neue Version 1.2 des CMMI veröffentlicht worden. Mit dieser sind einige grundlegende Veränderungen einhergegangen. So wurde u. a. die neue Version in CMMI-DEV (CMMI for Development) umbenannt. 2007 ist die Version 1.2 des CMMI for Acquisition erschienen. 2009 ist die Version 1.2 des CMMI for Services erschienen. 2010 wurde eine Version 1.3 aller CMMI-Modelle (CMMI-DEV, CMMI-ACQ, CMMI-SVC) herausgegeben. 2018 erschien die Version 2.0 von CMMI-DEV, CMMI-SVC und CMMI Supplier Management (SPM). Letzteres ist die neue Bezeichnung des bisherigen CMMI-ACQ.
Einordnung der CMMI-Modelle Die CMMI-Modelle sind Referenzmodelle, die bewährte Praktiken zusammenfassen. Im Gegensatz zu einem konkreten Vorgehensmodell definiert ein CMMI-Modell grundsätzliche Praktiken z. B. einer guten Produktentwicklung (das „Was“), aber keine konkreten Schritte (das „Wie“). Das primäre Ziel der CMMI-Modelle ist es, eine kontinuierliche Prozessverbesserung zu unterstützen, indem Praktiken bzw. Kriterien von einer professionellen Organisation definiert werden. Die konkrete und adäquate Ausgestaltung der Arbeit bzw. Arbeitsweise obliegt der Organisation und ist eine wichtige Teilaufgabe der Prozessverbesserung. Da CMMI keine konkrete Vorgehensweise definiert, kann CMMI auf sehr unterschiedliche Organisationen und Organisationsgrößen angewendet werden. So kann z. B. die Forderung von CMMI, dass bei der Projektplanung eine Zustimmung der Projektbeteiligten () zum Projektplan eingeholt werden muss, auf sehr unterschiedliche Art und Weise konkret in einer Organisation umgesetzt werden. Es gibt daher nicht „die eine“ richtige CMMI-Umsetzung.
Eine besondere Eigenschaft der CMMI-Modelle ist, dass sie nicht nur auf die fachlichen Praktiken eingehen, sondern auch auf die unterstützenden Aufgaben der Organisation, wie z. B. Ressourcen-Bereitstellung oder Durchführung von Trainingsmaßnahmen. Ein weiteres besonderes Merkmal ist, dass CMMI sehr viel Wert auf den gelebten Prozess legt und so im Gegensatz zu solchen – häufig als „Schrankware“ bezeichneten – Prozessen steht, die dokumentiert, aber nicht gelebt werden.
Aufbau eines CMMI-Modells Ein CMMI-Modell definiert eine Reihe von Prozessgebieten (z. B. Projektplanung, Anforderungsentwicklung, organisationsweite Prozessdefinition). Ein Prozessgebiet () spezifiziert Ziele und bewährte Praktiken einer professionellen Arbeit. Beispiel: Beim Prozessgebiet „Projektplanung“ sind die Ziele „Schätzungen aufstellen“, „Einen Projektplan entwickeln“ und „Verpflichtung auf den Plan herbeiführen“. Die Praktiken zum Ziel „Schätzungen aufstellen“ sind „Umfang des Projekts schätzen“, „Attribute der Arbeitsergebnisse und Aufgaben schätzen“, „Projektlebenszyklus definieren“ und „Schätzungen von Aufwand und Kosten aufstellen“. Für die Prozessgebiete, Ziele und Praktiken gibt CMMI jeweils zusätzliche erklärende Informationen. So wird z. B. jedes Prozessgebiet zunächst erläutert und andere in Verbindung stehende Prozessgebiete aufgezählt. Danach werden die Ziele und Praktiken aufgeführt. Jede Praktik wird durch einen Erklärungstext, durch typische Arbeitsergebnisse und durch typische Arbeitsschritte weiter erläutert. Diese Hinweise sollen bei der Umsetzung helfen, sind aber keine Prüfgrundlage in einer Einschätzung ().
Die Prozessgebiete werden in Kategorien eingeteilt. Bei allen drei CMMI-Modellen sind dies: Projektmanagement () bzw. im CMMI for Services Arbeitsmanagement () Unterstützung () Prozessmanagement ().
Die Prozessgebiete dieser Kategorien sind in den drei CMMI-Modellen grundsätzlich ähnlich, allerdings unterscheiden sich die Prozessgebiete teilweise. So spricht z. B. CMMI for Services von Arbeitsmanagement und CMMI for Development von Projektmanagement, da Dienstleistungen häufig durch Teams und Entwicklungen typischerweise durch Projekte umgesetzt werden.
Prozessmanagement bzw. Prozessverbesserung sind vor allem eine organisationsweite Aufgabe. Die Prozessgebiete in der Kategorie Unterstützung werden in manchen Organisationen projekt- oder teamspezifisch, in manchen Organisationen organisationsweit umgesetzt.
Jedes der drei CMMI-Modelle hat jeweils eine weitere Kategorie, in der die für das entsprechende Anwendungsgebiet spezifischen Prozessgebiete enthalten sind: Beim CMMI for Development: Entwicklung () Beim CMMI for Acquisition: Beschaffung () Beim CMMI for Services: Etablierung und Lieferung von Services ()
Diese Struktur bei den CMMI-Modellen von gemeinsamen Kategorien und spezifischen Kategorien ist einer der großen Vorteile von CMMI. Auf der einen Seite werden die spezifischen Themen adressiert (wie z. B. Services), andererseits lassen sich die CMMI-Modelle durch den gemeinsamen Kern und die gemeinsame Struktur nahtlos miteinander kombinieren. Letzteres ist insbesondere für Organisationen interessant, die z. B. sowohl Entwicklung als auch Services anbieten (z. B. IT-Entwicklung und IT-Services, oder Entwicklung von Autos und Wartung von Autos). Solche Organisationen finden in der CMMI-Familie ein aufeinander abgestimmtes Set von Modellen, so dass Verbesserungen übergreifend „gedacht“ werden können.
Prozessgebiete des CMMI for Development Version 1.3 Die folgende Tabelle führt die Prozessgebiete des CMMI for Development Version 1.3 auf – und die Zuordnung der Prozessgebiete zu den Kategorien, und Reifegraden. + Prozessgebiete (), Kategorien () und Reifegrade () beim CMMI for Development Version 1.3 Prozessgebiet (engl.) Prozessgebiet (dt.) Kategorie Reifegrad (CAR) Ursachenanalyse und Problemlösung Support 5 (CM/SCM) Konfigurationsmanagement Support 2 (DAR) Entscheidungsanalyse und -findung Support 3 (IPM) Integriertes Projektmanagement Project Management 3 (MA) Messung und Analyse Support 2 (OPM) Organisationsweites Prozessfähigkeitsmanagement Process Management 5 (OPD) Organisationsweite Prozessdefinition Process Management 3 (OPF) Organisationsweiter Prozessfokus Process Management 3 (OPP) Organisationsweite Prozessfähigkeit Process Management 4 (OT) Organisationsweites Training Process Management 3 (PI) Produktintegration Engineering 3 (PMC) Projektverfolgung und -steuerung Project Management 2 (PP) Projektplanung Project Management 2 (PPQA) Qualitätssicherung von Prozessen und Produkten Support 2 (QPM) Quantitatives Projektmanagement Project Management 4 (RD) Anforderungsentwicklung Engineering 3 (REQM) Anforderungsmanagement Project Management 2 (RSKM) Risikomanagement Project Management 3 (SAM) Management von Lieferantenvereinbarungen Project Management 2 (TS) Technische Umsetzung Engineering 3 (VAL) Validierung Engineering 3 (VER) Verifizierung Engineering 3
Institutionalisierung und Fähigkeitsgrade Neben den fachlichen Praktiken, die spezifisch für ein Prozessgebiet sind, spricht CMMI auch explizit die Thematik der Institutionalisierung an. Mit „Institutionalisierung“ ist gemeint, dass die Arbeitsweisen in der Organisation selbstverständlich und als Teil der täglichen Arbeit gelebt werden. Insbesondere in Zeiten von Stress haben institutionalisierte Arbeitsweisen Bestand. Neben den fachlichen Praktiken definiert CMMI Praktiken, welche die Institutionalisierung umsetzen. Diese Praktiken zur Institutionalisierung werden als generische Praktiken () bezeichnet, da sie für alle Prozessgebiete gleich sind. Die Umsetzung vieler generischer Praktiken ist eine Aufgabe der Organisation.
CMMI beschreibt den Grad der Reife eines einzelnen Prozessgebiets durch sogenannte „Fähigkeitsgrade“ (). Der Grad der Institutionalisierung ist ab Version 1.3 wie folgt definiert: 0 – Die Arbeit wird so durchgeführt, dass die fachlichen Ziele (in CMMI „“ genannt, z. B. bei der Projektplanung ein Projektplan) nicht erreicht werden. 1 – Die Arbeit wird so durchgeführt, dass die fachlichen Ziele erreicht werden. 2 – Die Arbeit wird gelenkt. 3 – Die Arbeit wird mit Hilfe eines angepassten Standardprozesses durchgeführt und die Arbeitsweise verbessert. Die generischen Praktiken und die Fähigkeitsgrade gehören zum Kern von CMMI und sind in allen CMMI-Modellen identisch.
Reifegrade mini|500px|Charakteristik der verschiedenen Reifegrade (engl. Original).Sally Godfrey (2008) . NASA presentation. Accessed 8 dec 2008.
Neben den Fähigkeitsgraden eines einzelnen Prozessgebiets definiert CMMI „Reifegrade“ (). Ein Reifegrad umfasst eine Menge von Prozessgebieten, die mit dem zum Reifegrad korrespondierenden Fähigkeitsgrad etabliert sein müssen. Jeder Reifegrad ist ein Entwicklungsplateau in der Prozessverbesserung der Organisation. CMMI bietet damit eine Hilfe für die Verbesserung, indem es die Prozessgebiete bezüglich der Verbesserung priorisiert. Die Reifegrade sind: 1 – Keine Anforderungen. Diesen Reifegrad hat jede Organisation automatisch. 2 – Die Projekte werden geführt. Ein ähnliches Projekt kann erfolgreich wiederholt werden. 3 – Die Projekte werden nach einem angepassten Standardprozess durchgeführt und es gibt eine organisationsweite kontinuierliche Prozessverbesserung. 4 – Es wird eine statistische Prozesskontrolle durchgeführt. 5 – Die Arbeit und Arbeitsweise werden mit Hilfe einer statistischen Prozesskontrolle verbessert. Die Reifegrade sind in allen CMMI-Modellen grundsätzlich identisch, aber die Zuordnung der Prozessgebiete zu den fünf Reifegraden ist spezifisch für jedes CMMI-Modell (da jedes CMMI-Modell unterschiedliche Prozessgebiete enthält).