- CMMI
-
Das Capability Maturity Model Integration (kurz CMMI) 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 ist es eine offizielle Überprüfung eines Reifegrades (siehe Appraisal) eine in der Industrie de facto anerkannte Auszeichnung. CMMI wird deshalb auch häufig auch als Reifegradmodell bezeichnet, obwohl die Reifegrade nur ein Aspekt unter vielen von CMMI sind.
Alle CMMI-Modelle 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 Acquisition" (CMMI-ACQ) unterstützt die Verbesserung von Organisationen, die Software, Systeme oder Hardware einkaufen, aber nicht selbst entwickeln.
- Das "CMMI for Services" (CMMI-SVC) unterstützt die Verbesserung von Organisationen, die Dienstleistungen erbringen.
Inhaltsverzeichnis
Geschichtliche Entwicklung
- 1986 begann auf Initiative des US-Verteidigungsministeriums das Software Engineering Institute (SEI) an der Carnegie Mellon University/Pittsburgh, welches dem US-Verteidigungsministerium untersteht, mit der Entwicklung eines Systems zur Bewertung der Reife von Softwareprozessen.
- 1991 wurde das Modell als Capability Maturity Model 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 Capability Maturity Model Integrated – als Pilotversion 1.0 herausgegeben.
- 2002 wurde CMMI unter dem neuen Namen Capability Maturity Model Integration (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.
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 (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 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 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 (Process Area) 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“, „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 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 (Appraisal).
Die Prozessgebiete werden in Kategorien eingeteilt. Beim CMMI for Development sind dies:
- Projektmanagement (Project Management)
- Entwicklung (Engineering)
- Unterstützung (Support)
- Prozessmanagement (Process Management).
Während die ersten beiden Kategorien die Prozessgebiete enthalten, die typischerweise in Projekten umgesetzt werden, ist Prozessmanagement bzw. Prozessverbesserung vor allem eine organisationsweite Aufgabe. Die Prozessgebiete in der Kategorie Unterstützung können sowohl eine Projektaufgabe als auch eine Organisationaufgabe sein.
Beim CMMI for Acquisition sind die Kategorien
- Projektmanagement (Project Management)
- Beschaffung (Acquisition)
- Unterstützung (Support)
- Prozessmanagement (Process Management).
Prozessgebiete (Process Areas), Kategorien (Categories) und Reifegrade (Maturity Levels) beim CMMI for Development 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) Leistung organisationsweiter 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 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 (Generic Practices) 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 so genannte „Fähigkeitsgrade“ (capability levels). Ein Fähigkeitsgrad bezeichnet den Grad der Institutionalisierung eines einzelnen Prozessgebiets. Die Fähigkeitsgrade sind:
- 0 - Incomplete
- Die Arbeit wird so durchgeführt, dass die fachlichen Ziele (in CMMI "Specific Goals" genannt, z. B. bei der Projektplanung ein Projektplan) nicht erreicht werden.
- 1 - Performed
- Die Arbeit wird so durchgeführt, dass die fachlichen Ziele erreicht werden.
- 2 - Managed
- Die Arbeit wird geführt.
- 3 - Defined
- Die Arbeit wird mit Hilfe eines angepassten Standardprozesses durchgeführt und die Arbeitsweise verbessert.
- 4 - Quantitatively Managed
- Die Arbeit wird mit Hilfe einer statistischen Prozesskontrolle geführt.
- 5 - Optimizing
- Die Arbeit und die Arbeitsweise werden mit Hilfe einer statistischen Prozesskontrolle verbessert.
Die generischen Praktiken und die Fähigkeitsgrade gehören zum Kern von CMMI und sind in allen CMMI-Modellen identisch.
Reifegrade
Neben den Fähigkeitsgraden eines einzelnen Prozessgebiets definiert CMMI „Reifegrade“ (maturity levels). 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 - Initial
- Keine Anforderungen. Diesen Reifegrad hat jede Organisation automatisch.
- 2 - Managed
- Die Projekte werden geführt. Ein ähnliches Projekt kann erfolgreich wiederholt werden.
- 3 - Defined
- Die Projekte werden nach einem angepassten Standardprozess durchgeführt, und es gibt eine organisationsweite kontinuierliche Prozessverbesserung.
- 4 - Quantitatively Managed
- Es wird eine statistische Prozesskontrolle durchgeführt.
- 5 - Optimizing
- 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).
Die Bewertung des Reifegrades bzw. des Fähigkeitsgrads einer Organisation geschieht durch eine SCAMPI-Untersuchung (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 CMMI Appraisals (Stand 01/2009)[1] Level Firmen 1 (Initial) 80 2 (Managed) 726 3 (Defined) 1306 4 (Quantitatively Managed) 51 5 (Optimizing) 184 CMMI und CMM
CMMI hat das Software-Capability Maturity Model (kurz SW-CMM oder verkürzt nur CMM) ersetzt. CMM wurde vom SEI abgekündigt und wird nicht mehr unterstützt. CMMI 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).
Abgrenzung zu anderen Normen
Im Unterschied zur DIN EN ISO 9001 gehen die CMMI-Modelle spezifisch auf die Praktiken in einem bestimmten Anwendungsgebiet ein. 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 (engl. "process assessment model").
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
- Jürgen Schmied, Paul-Roux Wentzel, Michael Gerdom, Uwe Hehn: Mit CMMI Prozesse verbessern!. dpunkt.verlag, 2008, ISBN 978-3-89864-538-6.
- Mary B. Chrissis, Mike Konrad, Sandy Shrum: CMMI. Guidelines for Process Integration and Product Improvement. 2. Auflage. Addison-Wesley, Boston 2006, ISBN 0-321-27967-0.
- Hubert Hofmann, Yedlin, Debbie; Mishler, John; Kushner, Susan: CMMI for Outsourcing: Guidelines for Software, Systems, and IT Acquisition. Addison-Wesley Professional 2007, ISBN 0-321-47717-0
- Malte Foegen, Mareike Solbach, Claudia Raak: Der Weg zur professionellen IT. Springer, Berlin 2007, ISBN 3-540-72471-0.
- Ralf Kneuper: CMMI. Verbesserung von Softwareprozessen mit Capability Maturity Model Integration. 2. Auflage. dpunkt.verlag, Heidelberg 2006, ISBN 3-89864-373-5.
- Ernest Wallmüller: SPI - Software Process Improvement mit CMMI und ISO 15504. Hanser, München 2006, ISBN 3-446-40492-9.
Einzelnachweise
- ↑ Published Appraisal Results. Abgerufen am 22. Januar 2009.
Weblinks
- CMMI Main page, verwaltet vom SEI
- Alle CMMI-Modelle als PDF- oder Word-Datei, bereitgestellt vom SEI
- IDEAL - Vorgehensmodell zur Prozessverbesserung mittels CMMI, verwaltet vom SEI
- German CMMI Lead Appraiser and Instructor Board (CLIB)
- CMMI for Development v1.2 Browser (der Inhalt der PDF Datei als Browser)
- Erklärung der CMMI in 2 Videos (Länge: 5 oder 30 Minuten)
Wikimedia Foundation.