Capability Maturity Model Integration

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 sind offizielle Überprüfungen 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.)KategorieReifegrad
Causal Analysis and Resolution (CAR)Ursachenanalyse und ProblemlösungSupport5
Configuration Management (CM)KonfigurationsmanagementSupport2
Decision Analysis and Resolution (DAR)Entscheidungsanalyse und -findungSupport3
Integrated Project Management +IPPD (IPM+IPPD)Integriertes ProjektmanagementProject Management3
Measurement and Analysis (MA)Messung und AnalyseSupport2
Organizational Innovation and Deployment (OID)Organisationsweite Innovation und VerbreitungProcess Management5
Organizational Process Definition +IPPD (OPD+IPPD)Organisationsweite ProzessdefinitionProcess Management3
Organizational Process Focus (OPF)Organisationsweiter ProzessfokusProcess Management3
Organizational Process Performance (OPP)Leistung organisationsweiter ProzesseProcess Management4
Organizational Training (OT)Organisationsweites TrainingProcess Management3
Product Integration (PI)ProduktintegrationEngineering3
Project Monitoring and Control (PMC)Projektverfolgung und -steuerungProject Management2
Project Planning (PP)ProjektplanungProject Management2
Process and Product Quality Assurance (PPQA)Qualitätssicherung von Prozessen und ProduktenSupport2
Quantitative Project Management (QPM)Quantitatives ProjektmanagementProject Management4
Requirements Development (RD)AnforderungsentwicklungEngineering3
Requirements Management (REQM)AnforderungsmanagementEngineering2
Risk Management (RSKM)RisikomanagementProject Management3
Supplier Agreement Management (SAM)Management von LieferantenvereinbarungenProject Management2
Technical Solution (TS)Technische UmsetzungEngineering3
Validation (VAL)ValidationEngineering3
Verification (VER)VerifikationEngineering3

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 zu zu 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]
LevelFirmen
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

  • Mary B. Chrissis, Mike Konrad, Sandy Shrum: CMMI. Richtlinien für Prozess-Integration und Produkt-Verbesserung. 1. Auflage. Addison-Wesley Verlag, München 2009, ISBN 978-3-8273-2784-0. 
  • Jürgen Schmied, Paul-Roux Wentzel, Michael Gerdom, Uwe Hehn: Mit CMMI Prozesse verbessern!. dpunkt.verlag, 2008, ISBN 978-3-89864-538-6. 
  • 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

  1. Published Appraisal Results. Abgerufen am 22. Januar 2009.

CMMI Main page, verwaltet vom SEI
  • Alle CMMI-Modelle als PDF- oder Word-Datei, bereitgestellt vom SEI
  • Offizielle deutsche Übersetzung vom CMMI for Development, 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)
  • © Dieser - Artikel zu Capability_Maturity_Model_Integration stammt von Wikipedia und ist lizensiert unter GFDL. Hier können Sie den Original-Artikel zu Capability_Maturity_Model_Integration , die Versionsgeschichte und die Liste der Autoren einsehen. © Dieser Artikel zu stammt von Wikipedia und ist lizensiert
    unter GFDL. Hier können Sie den Original-Artikel zu , die Versionsgeschichte
    und die Liste der Autoren einsehen.