Capability Maturity Model (CMM) und seine Stufen in der Softwareentwicklung
Was ist CMM?
Das Capability Maturity Model wird als Benchmark zur Messung der Reife des Softwareprozesses einer Organisation verwendet.
CMM wurde Ende der 80er Jahre am Software Engineering Institute entwickelt. Es wurde als Ergebnis einer von der US Air Force finanzierten Studie entwickelt, um die Arbeit von Subunternehmern zu bewerten. Later Basierend auf dem CMM-SW-Modell, das 1991 zur Bewertung der Reife der Softwareentwicklung entwickelt wurde, sind mehrere andere Modelle in CMM-I integriert
Was sind die Stufen des Capability Maturity Model (CMM)?
- Initiale
- Wiederholbar/verwaltet
- definiert
- Quantitativ verwaltet
- Optimieren
Was passiert auf den verschiedenen CMM-Ebenen?
Stufen | Aktivitäten | Vorteile: |
---|---|---|
Level 1 Initial |
|
Keiner. Ein Projekt ist totales Chaos |
Level 2 verwaltet |
|
|
Level-3 definiert |
|
|
Quantitativ verwaltetes Level 4 |
|
|
Optimierung der Stufe 5 |
|
|
Das folgende Diagramm gibt eine bildliche Darstellung dessen, 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 kaum länger als erwartet.
- Die CMM-Implementierung erfolgt nicht über Nacht
- Es handelt sich einfach nicht nur um „Papierkram“.
- Typische Zeitpunkte für die Implementierung 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 in Schlüsselprozessbereich oder KPA, mit Ausnahme von Level-1. Jeder KPA definiert eine Gruppe verwandter Aktivitäten, die, wenn sie gemeinsam ausgeführt werden, eine Reihe von Zielen erreichen, die als entscheidend für die Verbesserung der Softwarefähigkeit angesehen werden.
Für verschiedene KMG-Stufen gibt es eine Reihe von KPAs, zum Beispiel für das KMG-Modell 2 sind es KPAs
- REQM – Anforderungsmanagement
- PP-Projektplanung
- PMC – Projektüberwachung und -steuerung
- SAM – Lieferantenvereinbarungsmanagement
- PPQA-Prozess und Qualitätssicherung
- CM-Konfigurationsmanagement
Ebenso gibt es für andere CMM-Modelle spezifische KPAs. Um zu wissen, ob die Implementierung eines KPA effektiv, dauerhaft und wiederholbar ist, wird sie auf folgender Grundlage abgebildet:
- Verpflichtung zur Leistung
- Leistungsfähigkeit
- Aktivitäten durchführen
- Messung und Analyse
- Überprüfung der Umsetzung
Einschränkungen von CMM-Modellen
- CMM bestimmt, was ein Prozess ansprechen soll, und nicht, wie er implementiert werden soll
- Es erklärt nicht alle Möglichkeiten zur Verbesserung von Softwareprozessen
- Es konzentriert sich auf Softwarefragen, berücksichtigt jedoch nicht die strategische Geschäftsplanung, die Einführung von Technologien, die Einrichtung von Produktlinien und die Verwaltung von Personalressourcen
- Es sagt nicht aus, in welcher Art von Geschäft eine Organisation tätig sein sollte
- CMM wird bei dem Projekt, das sich derzeit in einer Krise befindet, nicht nützlich sein
Warum CMM verwenden?
Heute fungiert CMM als „Gütesiegel“ in der Softwarebranche. Es trägt auf verschiedene Weise dazu bei, die Softwarequalität zu verbessern.
- Es führt zu wiederholbaren Standardprozessen und verkürzt so die Lernzeit für die Erledigung von Aufgaben
- Das Praktizieren von CMM bedeutet das Praktizieren von Standardprotokollen für die Entwicklung, was bedeutet, dass es dem Team nicht nur hilft, Zeit zu sparen, sondern auch einen klaren Überblick darüber gibt, was zu tun ist und was zu erwarten ist
- Die Qualitätsaktivitäten passen gut zum Projekt und sind nicht als separate Veranstaltung zu betrachten
- Es fungiert als Pendler zwischen dem Projekt und dem Team
- Die Bemühungen von CMM zielen stets auf die Verbesserung des Prozesses ab
Zusammenfassung
CMM wurde erstmals Ende der 80er Jahre bei der US Air Force eingeführt, um die Arbeit von Subunternehmern zu bewerten. Later Mit einer verbesserten Version wurde es implementiert, um die Qualität des Softwareentwicklungssystems zu überwachen.
Die gesamte CMM-Ebene ist in fünf Ebenen unterteilt.
- Level 1 (Anfänglich): Wo Anforderungen an das System normalerweise unsicher, missverstanden und unkontrolliert sind. Der Prozess ist normalerweise chaotisch und ad hoc.
- Level 2 (Verwaltet): Schätzen Sie Projektkosten, Zeitplan und Funktionalität. Softwarestandards werden definiert
- Level 3 (Definiert): Stellt sicher, dass das Produkt den Anforderungen und dem Verwendungszweck entspricht
- Level 4 (Quantitativ verwaltet): Verwaltet die Prozesse und Teilprozesse des Projekts statistisch
- Level 5 (Reife): Identifizieren und implementieren Sie neue Tools und Prozessverbesserungen, um Anforderungen und Geschäftsziele zu erfüllen