Heim

Capability Maturity Model Integration

Das Capability Maturity Model Integration (kurz CMMI) ist ein Reifegradmodell zur Beurteilung und Verbesserung der Qualität („Reife“) von Produkt-Entwicklungsprozessen in Organisationen. Dabei werden die Stärken und Schwächen einer Produktentwicklung objektiv analysiert. So können Verbesserungsmaßnahmen bestimmt und in eine sinnvolle Reihenfolge gebracht werden. Primär ist CMMI ein Mittel, die Produktentwicklung zu verbessern. Sekundär ist eine offizielle Überprüfung eines Reifegrades (siehe Appraisal) eine in der Industrie de-facto anerkannte Auszeichnung.

CMMI ist die neue Version des Software Capability Maturity Model (kurz SW-CMM oder verkürzt nur CMM). Es ersetzt nicht nur verschiedene Qualitätsmodelle für unterschiedliche Entwicklungsdisziplinen (z. B. für Software- oder Systementwicklung), sondern integriert diese in einem neuen, modularen Modell. Dieses modulare Konzept ermöglicht zum Einen die Integration weiterer Entwicklungsdisziplinen (z. B. Hardwareentwicklung), zum Anderen auch die Anwendung des Qualitätsmodells in übergreifenden Disziplinen (z. B. Entwicklung von Chips mit Software).

Inhaltsverzeichnis

Geschichtliche Entwicklung

Einordnung des Modells

Das Capability Maturity Model Integration ist ein Prozessmodell. Im Gegensatz zu einer konkreten Prozessbeschreibung definiert CMMI Anforderungen an eine gute Produktentwicklung (das „Was“), aber keine konkreten Schritte (das „Wie“). Das primäre Ziel von CMMI ist es, eine kontinuierliche Prozessverbesserung zu unterstützen, indem Anforderungen bzw. Kriterien von einer professionellen Produktentwicklungsorganisation definiert werden. Die Definition des Entwicklungsprozesses obliegt der Organisation und ist eine wichtige Teilaufgabe der Prozessverbesserung. Da CMMI keinen konkreten Entwicklungsprozess 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 (Stakeholder) zum Projektplan eingeholt werden muss, auf sehr unterschiedliche Art und Weise konkret in einer Organisation umgesetzt werden. Es gibt daher nicht „die eine“ richtige Umsetzung von CMMI.

Eine besondere Eigenschaft von CMMI ist, dass es nicht nur die Entwicklungsprojekte an sich verwaltet, sondern auch die projektbezogenen Aufgaben der Organisation, wie z. B. Bereitstellung von Ressourcen oder Durchführung von Trainingsmaßnahmen, durchführt. Ein weiteres besonderes Merkmal ist, dass CMMI sehr viel Wert auf den gelebten Prozess legt und so im Gegensatz zu häufig als „Schrankware“ bezeichneten Prozessen steht, die dokumentiert, aber nicht gelebt werden.

Aufbau des Modells

CMMI definiert eine Reihe von Prozessgebieten (z. B. Projektplanung, Anforderungsentwicklung, organisationsweite Prozessdefinition). Ein Prozessgebiet (Process Area) spezifiziert die Anforderungen an eine professionelle Produktentwicklung in einem bestimmten Gebiet durch ein Bündel verwandter Praktiken, die, sofern gemeinsam ausgeführt, eine Reihe von Zielen erfüllen, die für eine deutliche Verbesserung auf diesem Gebiet wichtig sind. 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“, „Projektlebenzyklus 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, dann die damit in Verbindung stehenden Prozessgebiete aufgezählt. 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 einem Appraisal.

Die Prozessgebiete sind in vier Kategorien eingeteilt: Projektmanagement (Project Management), Entwicklung (Engineering), Unterstützung (Support) und Prozessmanagement (Process Management). Während die ersten beiden Kategorien die Prozessgebiete enthalten, die typischerweise in Projekten umgesetzt werden, ist Prozessmanagement vor allem eine organisationsweite Aufgabe. Die Prozessgebiete in der Kategorie Unterstützung können sowohl eine Projektaufgabe als auch eine Organisationaufgabe sein.

Prozessgebiete (Process Areas), Kategorien (Categories) und Reifegrade (Maturity Levels)
Prozessgebiet (engl.) Prozessgebiet (dt.) Kategorie Reifegrad
Causal Analysis and Resolution (CAR) Ursachenanalyse und Problemlösung Support 5
Configuration Management (CM) Konfigurationsmanagement Support 2
Decision Analysis and Resolution (DAR) Entscheidungsanalyse und -findung Support 3
Integrated Project Management +IPPD (IPM+IPPD) Integriertes Projektmanagement Project Management 3
Measurement and Analysis (MA) Messung und Analyse Support 2
Organizational Innovation and Deployment (OID) Organisationsweite Innovation und Verbreitung Process Management 5
Organizational Process Definition +IPPD (OPD+IPPD) Organisationsweite Prozessdefinition Process Management 3
Organizational Process Focus (OPF) Organisationsweiter Prozessfokus Process Management 3
Organizational Process Performance (OPP) Performanz der organisationsweiten Prozesse Process Management 4
Organizational Training (OT) Organisationsweites Training Process Management 3
Product Integration (PI) Produktintegration Engineering 3
Project Monitoring and Control (PMC) Projektverfolgung und -steuerung Project Management 2
Project Planning (PP) Projektplanung Project Management 2
Process and Product Quality Assurance (PPQA) Qualitätssicherung von Prozessen und Produkten Support 2
Quantitative Project Management (QPM) Quantitatives Projektmanagement Project Management 4
Requirements Development (RD) Anforderungsentwicklung Engineering 3
Requirements Management (REQM) Anforderungsmanagement Engineering 2
Risk Management (RSKM) Risikomanagement Project Management 3
Supplier Agreement Management (SAM) Management von Lieferantenvereinbarungen Project Management 2
Technical Solution (TS) Technische Umsetzung Engineering 3
Validation (VAL) Validation Engineering 3
Verification (VER) Verifikation Engineering 3

Neben den Praktiken, die spezifisch für ein Prozessgebiet sind, spricht CMMI auch explizit die Thematik der Prozessinstitutionalisierung an. Mit „Prozessinstitutionalisierung“ ist gemeint, dass die Prozesse in der Organisation selbstverständlich und als Teil der täglichen Arbeit gelebt werden. Insbesondere in Zeiten von Stress haben institutionalisierte Prozesse Bestand. Neben den Praktiken, die spezifisch für die einzelnen Prozessgebiete sind, definiert CMMI Praktiken, welche die Institutionalisierung umsetzen. Diese Praktiken zur Institutionalisierung werden als generische Praktiken (Generic Practices) bezeichnet, da sie für alle Prozessgebiete gleich sind. Die Umsetzung vieler generischer Praktiken ist eine Aufgabe der Organisation.

Fähigkeitsgrade und Reifegrade

CMMI geht die Verbesserung innerhalb eines Prozessgebiets durch so genannte „Fähigkeitsgrade“ an (capability levels). Ein Fähigkeitsgrad bezeichnet den Grad der Institutionalisierung eines einzelnen Prozessgebiets. Die Fähigkeitsgrade sind:

0 - Incomplete 
Ausgangszustand. Keine Anforderungen.
1 - Performed 
Die spezifischen Ziele des Prozessgebiets werden erreicht.
2 - Managed 
Der Prozess wird verwaltet.
3 - Defined 
Der Prozess wird auf Basis eines angepassten Standardprozesses verwaltet und verbessert.
4 - Quantitatively Managed 
Der Prozess steht unter statistischer Prozesskontrolle.
5 - Optimizing 
Der Prozess wird mit den Daten aus der statistischen Prozesskontrolle verbessert.

Neben den Fähigkeitsgraden eines einzelnen Prozessgebiets definiert CMMI „Reifegrade“ (maturity levels). Ein Reifegrad umfasst eine Menge von Prozessgebieten, die zu einem bestimmten Fähigkeitsgrad umgesetzt sein müssen. Jeder Reifegrad ist ein Entwicklungsplateau in der Prozessverbesserung der Organisation. Aufgrund des historischen Fundaments CMM, sind die Definitionen sehr ähnlich (siehe Capability Maturity Model#Aufbau des Modells). Die Reifegrade sind:

1 - Initial 
Keine Anforderungen. Diesen Reifegrad hat jede Organisation automatisch.
2 - Managed 
Die Projekte werden unter der Leitung durchgeführt. Ein ähnliches Projekt kann erfolgreich wiederholt werden.
3 - Defined 
Die Projekte werden nach einem angepassten Standardprozess mit einer kontinuierlichen Prozessverbesserung durchgeführt.
4 - Quantitatively Managed 
Es wird eine statistische Prozesskontrolle durchgeführt.
5 - Optimizing 
Die Prozesse werden mit den Daten aus der statistischen Prozesskontrolle verbessert.

Die Bewertung des Reifegrades bzw. der Fähigkeitsgrade einer Organisation geschieht durch eine SCAMPI-Abschätzung (SCAMPI-Appraisal), das nur durch vom SEI autorisierte Personen geleitet werden kann. Die Liste aller vom SEI autorisierten Lead Appraiser, also diejenigen Personen, die ein solches SCAMPI leiten dürfen, findet sich auf den Seiten des Software Engineering Institutes (siehe Weblinks unten). Die deutschsprachigen autorisierten Lead Appraiser haben sich im German CMMI Lead Appraiser and Instructor Board (CLIB) zusammengeschlossen.

Veröffentlichte Ergebnisse von Appraisals (Stand 01/2004)[1]
Level Firmen
1 (Initial) 30
2 (Managed) 334
3 (Defined) 401
4 (Quantitatively Managed) 48
5 (Optimizing) 209

Abgrenzung zu anderen Normen

Im Unterschied zur DIN EN ISO 9001 ist das CMMI speziell für den Produktentwicklungsprozess entwickelt. Während die DIN EN ISO 9001 die gesamte Organisation und damit mehr die Breite abdeckt, geht CMMI bei der Produktentwicklung mehr in die Tiefe und gibt konkrete Prozessgebiete und Praktiken vor. CMMI und die DIN EN ISO 9001 haben jedoch denselben Grundgedanken. Die Anforderungen von CMMI lassen sich auf die Anforderungen der DIN EN ISO 9001 abbilden (diese Tabelle ist auf den SEI-Webseiten verfügbar).

CMMI setzt die Anforderungen der Norm ISO/IEC 15504 (SPICE) an ein Prozessmodell und das Appraisal-Verfahren SCAMPI die Anforderungen der Norm ISO/IEC 15504 an ein Bewertungsverfahren teilweise um.

Neben dem Prozessmodell CMMI gibt es auch die Prozessmodellnormen ISO/IEC 12207 für Software- und ISO 15288 für die Systementwicklung. Im Gegensatz zu CMMI gehen diese beiden Normen aber nicht über die Definition der Titel der Praktiken von CMMI hinaus (keine umfangreichen Erklärungen wie in CMMI). Es gibt auch keine Integration der beiden Normen. Inhaltlich fordern ISO/IEC 12207 und ISO 15288 im Wesentlichen das Gleiche wie CMMI. Zu der Norm ISO 12207 gibt es ein in ISO/IEC 15504 (SPICE) Teil 5 exemplarisch definiertes, CMMI-unabhängiges Bewertungsverfahren (Prozessassessmentmodell).

CMMI thematisiert vor allem die Entwicklung von Produkten – oder Wartungsprojekte zu existierenden Produkten. Ein Prozessmodell für den Betrieb von Anwendungen stellt ITIL dar.

Siehe auch

Literatur

Einzelnachweise

  1. Published Appraisal Results. (Stand: 22. März 2007).