Capability Maturity Model (CMM) in der Softwareentwicklung
⚡ Intelligente Zusammenfassung
Das Capability Maturity Model (CMM) ist ein Benchmark zur Messung des Reifegrads der Softwareprozesse einer Organisation. Es wurde am Software Engineering Institute entwickelt und definiert fünf Stufen, die Teams von chaotischer, ad-hoc-Arbeit hin zu kontinuierlicher, optimierter Verbesserung führen.
Was ist CMM?
Reifegradmodell wird als Benchmark verwendet, um den Reifegrad der Softwareprozesse einer Organisation zu messen.
CMM wurde Ende der 80er Jahre am Software Engineering Institute entwickelt. Es entstand im Rahmen einer von der US Air Force finanzierten Studie zur Bewertung der Arbeit von Subunternehmern.tractoren. LaterAuf der Grundlage des 1991 entwickelten CMM-SW-Modells zur Beurteilung des Reifegrads der Softwareentwicklung wurden zahlreiche weitere Modelle in CMM-I integriert.
Was sind die Stufen des Capability Maturity Model (CMM)?
Das Modell definiert fünf aufeinander aufbauende Reifegrade:
- Initiale
- Wiederholbar/verwaltet
- definiert
- Quantitativ verwaltet
- Optimieren
Was passiert auf den verschiedenen CMM-Ebenen?
Die folgende Tabelle zeigt die Aktivitäten und Vorteile auf jeder Ebene.
| Stufen | Aktivitäten | Vorteile |
|---|---|---|
| Level 1 Initial |
|
Nichts. Ein Projekt ist totales Chaos. |
| Level 2 verwaltet |
|
|
| Level-3 definiert |
|
|
| Quantitativ verwaltetes Level 4 |
|
|
| Optimierung der Stufe 5 |
|
|
Das folgende Diagramm veranschaulicht bildlich, was auf verschiedenen CMM-Ebenen geschieht:
Wie lange dauert die Implementierung von CMM?
CMM ist für jedes Softwareentwicklungsunternehmen der wünschenswerteste Prozess zur Aufrechterhaltung der Produktqualität, seine Implementierung dauert jedoch etwas länger als erwartet.
- Die Implementierung eines CMM-Modells erfolgt nicht über Nacht.
- Es handelt sich nicht bloß um „Papierkram“.
- Typische Implementierungszeiten sind:
- 3-6 Monate -> zur Vorbereitung
- 6-12 Monate -> Für die Umsetzung
- 3 Monate -> zur Prüfungsvorbereitung
- 12 Monate -> für jedes neue Level
Interne Struktur von CMM
Jede Ebene in CMM ist definiert als Schlüsselprozessbereich oder KPA, mit Ausnahme von Ebene 1. Jede KPA definiert eine Gruppe von zusammenhängenden Aktivitäten, die, wenn sie gemeinsam ausgeführt werden, eine Reihe von Zielen erreichen, die als wesentlich für die Verbesserung der Softwareleistungsfähigkeit angesehen werden.
Für verschiedene CMM-Level gibt es jeweils eigene KPA-Sätze. Zum Beispiel lauten die KPAs für CMM Modell 2:
- REQM – Anforderungsmanagement
- PP – Projektplanung
- PMC – Projektüberwachung und -steuerung
- SAM – Lieferantenvertragsmanagement
- PPQA – Prozess- und Qualitätssicherung
- CM – Konfigurationsmanagement
Auch bei anderen CMM-Modellen gibt es spezifische Leistungsindikatoren (KPIs). Um festzustellen, ob die Implementierung eines KPIs effektiv, nachhaltig und wiederholbar ist, wird sie anhand folgender Kriterien bewertet:
- Verpflichtung zur Leistung
- Leistungsfähigkeit
- Durchgeführte Aktivitäten
- Messung und Analyse
- Überprüfung der Umsetzung
Einschränkungen von CMM-Modellen
Das Modell weist jedoch auch mehrere Einschränkungen auf:
- CMM legt fest, was ein Prozess beinhalten soll, anstatt wie er implementiert werden soll.
- Es erklärt nicht jede Möglichkeit der Verbesserung von Softwareprozessen.
- Der Fokus liegt auf Softwarefragen, strategische Geschäftsplanung, die Einführung neuer Technologien, der Aufbau einer Produktlinie und das Personalmanagement werden jedoch nicht berücksichtigt.
- Es sagt nichts darüber aus, in welcher Art von Geschäft eine Organisation tätig sein sollte.
- CMM ist in einem Projekt, das sich aktuell in einer Krise befindet, nicht hilfreich.
Warum CMM verwenden?
Heute fungiert CMM in der Softwarebranche als eine Art Gütesiegel. Es trägt auf vielfältige Weise zur Verbesserung der Softwarequalität bei.
- Es führt zu einem wiederholbaren Standardprozess und verkürzt dadurch die Lernzeit, wie man Dinge erledigt.
- Die Anwendung des CMM-Modells bedeutet die Anwendung eines standardisierten Entwicklungsprotokolls. Dies hilft dem Team nicht nur, Zeit zu sparen, sondern vermittelt auch einen klaren Überblick darüber, was zu tun ist und was zu erwarten ist.
- Die Qualitätsaktivitäten fügen sich gut in das Projekt ein und werden nicht als separates Ereignis betrachtet.
- Es fungiert als Kommunikationsschnittstelle zwischen dem Projekt und dem Team.
- Die Bemühungen von CMM zielen stets auf die Verbesserung des Prozesses ab.




