Zum Inhalt springen

Capability Maturity Model Integration

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Januar 2005 um 14:42 Uhr durch Malte Foegen (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Capability Maturity Model Integration® (kurz CMMI®) ist ein Prozessmodell zur Beurteilung und Verbesserung der Qualität ("Reife") von Produkt-Entwicklungsprozessen in Organisationen. Ein solches Prozessmodell kann verwendet werden, um die Stärken und Schwächen einer Produktentwicklung objektiv zu analysieren, um Verbesserungsmaßnahmen zu bestimmen und diese in eine sinnvolle Reihenfolge zu bringen. 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®). Es ersetzt nicht nur verschiedene Qualitäts-Modelle für unterschiedliche Entwicklungs-Disziplinen (z.B. für Software-Entwicklung oder System-Entwicklung), sondern integriert diese in einem neuen, modularen Modell. Dieses modulare Konzept ermöglicht zum einen die Integration weiterer Entwicklungs-Disziplinen (z.B. Hardware-Entwickung), und zum anderen auch die Anwendung des Qualitätsmodells in übergreifenden Disziplinen (z.B. Entwicklung von Chips mit Software).

Geschichtliche Entwicklung

  • 1986 begann auf Initiative des 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 DoD zurückgezogen, statt dessen wurde 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
  • Ende 2003 ist CMM ausgelaufen.

Einordnung des Modells

CMMI ist ein Prozessmodell: im Gegensatz zu einer konkreten Vorgehensweise (auch Entwicklungsprozess genannt) definiert CMMI Anforderungen an eine gute Produkt-Entwicklung (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 an eine professionelle Produkt-Entwicklungs-Organisation 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 zum Projektplan eingeholt werden muss, auf sehr unterschiedliche Arten und Weisen konkret in einer Organisation umgesetzt werden. Es gibt daher nicht "die eine" richtige Umsetzung von CMMI .

Ein besondere Eigenschaft von CMMI ist, dass dieses nicht nur die Entwicklungsprojekte an sich adressiert, sondern auch die projektbezogenen Aufgaben der Organisation (z.B. Bereitstellung von Ressourcen, Durchführung von Traingsmaßnahmen). Ein weiteres besonderes Merkmal ist, dass CMMI sehr viel Wert auf den gelebten Prozess legt.

Aufbau des Modells

CMMI definiert eine Reihe von Prozessgebieten (z.B. Projektplanung, Anforderungsdefinition, Prozessdefinition). Ein Prozessgebiet spezifiziert die Anforderungen an eine professionelle Produkt-Entwicklung in einem bestimmten Gebiet durch ein Bündel verwandter Praktiken, die, sofern sie gemeinsam ausgeführt werden, 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 "Zustimmung zum Plan erreichen". Die Praktiken zum Ziel "Schätzungen aufstellen" sind "Umfang des Projekts bestimmen", "Attribute der Arbeitsergebnisse und Aufgaben bestimmen", "Lebenzyklus 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 dann werden damit in Verbindung stehende Prozessgebiete aufgezählt. Jede Praktik wird durch Erklärungstext, durch typische Arbeitsergebnisse und durch typische Arbeitsschritte weiter erläutert. Diese Hinweise sollen bei der Umsetzung helfen, sind daber kein Prüfgrundlage in einem Appraisal.

Die Prozessgebiete sind in vier Kategorien eingeteilt: Projektmanagement, Entwicklung, Unterstützung und Prozessmanagement. Während die ersten beiden Kategorien die Prozessgebiete enthalten, die typischerweise in Projekten umgesezt werden, ist Prozessmanagement vor allem eine organisationsweite Aufgabe. Die Prozessgebiete in der Kategorie Unterstützung können sowohl eine Projektaufgabe als auch eine Organisationsaufgabe sein.

Neben den Praktiken, die spezifisch für ein Prozessgebiet sind, adressiert CMMI auch explizit die Institutionalisierung der Prozesse. Mit "Institutionalisierung" 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 bezeichnet (da sie für alle Prozessgebiete gleich sind). Die Umsetzung vieler generischen Praktiken ist eine Aufgabe der Organisation.

Fähigkeitsgrade und Reifegrade

CMMI adressiert die Verbesserung innerhalb eines Prozessgebiets durch sogenannte Fähigkeitsgrade (capability levels). Ein Fähigkeitsgrad bezeichnet den Grad der Institutionalisierung, eines einzelnen Prozessgebiets. Die Fähigkeitsgrade sind:

  • 0: Incomplete
  • 1: Performed: die spezifischen Ziele des Prozessgebiets werden erreicht
  • 2: Managed: der Prozess wird gemanagt
  • 3: Defined: der Prozess wird auf Basis eines angepassten Standard-Prozesses gemanagt 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 einzelnes Prozessgebiets definiert CMMI Reifegrade (maturity levels). Ein Reifegrad umfasst eine Menge von Prozessgebieten, die zu einem bestimmten Fähigkeitsgrad (capability level) umgesetzt sein müssen. Jeder Reifegrad ist ein Entwicklungsplateau in der Prozessverbesserung der Organisation. Die Reifegrade sind:

  • 1: Initial: diesen Reifegrad hat jede Organisation automatisch
  • 2: Managed: die Projekte werden gemanagt durchgeführt und ein ähnliches Projekt kann erfolgreich wiederholt werden
  • 3: Defined: die Projekte werden nach einem angepassten Standard-Prozess durchgeführt, und es gibt eine kontinuierliche Prozessverbesserung
  • 4: Quantitatively Managed: es wird eine statistische Prozesskontrolle durchgeführt
  • 5: Optimizing: die Prozesse werden mit den Daten aus der statistischen Prozesskontrolle verbessert

Abgrenzung zu anderen Normen

Im Unterschied zur DIN EN ISO 9001 ist das CMMI speziell für den Produkt-Entwicklungsprozess 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, und die Anforderungen von CMMI lassen sich auf die Anforderungen von der DIN EN ISO 9001 abbilden (diese Tabelle ist auf den SEI-Webseiten verfügbar).

CMMI setzt die Anforderungen der Norm ISO 15504 an ein Prozessmodell um. Das Appraisal-Verfahren SCAMPI setzt die Anforderungen der Norm ISO 15504 an ein Bewertungsverfahren um.

Neben dem Prozessmodell CMMI gibt es auch die Norm ISO 12207, die ein Prozessmodell für Softwareentwicklung ist, und die Norm ISO 15288, die ein Prozessmodell für Systementwicklung ist. 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), und es gibt auch keine Integration der beiden Normen. Inhaltlich fordern ISO 12207 und ISO 15288 im wesentlichen das Gleiche wie CMMI. Zu der Norm ISO 12207 gibt es das Bewertungsverfahren Spice, das als Teil 5 der Norm ISO 15505 noch veröffentlicht werden soll.

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

Literatur

  • Mary B. Chrissis, Mike Konrad, Sandy Shrum: CMMI, Addison-Wesley, 2003