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

Reifegradmodell

Was sind die Stufen des Capability Maturity Model (CMM)?

  1. Initiale
  2. Wiederholbar/verwaltet
  3. definiert
  4. Quantitativ verwaltet
  5. Optimieren

Stufen des Capability Maturity Model (CMM).

Was passiert auf den verschiedenen CMM-Ebenen?

Stufen Aktivitäten Vorteile:
Level 1 Initial
  • Auf Ebene 1 ist der Prozess normalerweise chaotisch und ad hoc
  • Eine Fähigkeit wird anhand der Personen und nicht anhand der Organisation charakterisiert
  • Fortschritt wird nicht gemessen
  • Die entwickelten Produkte liegen oft im Zeitplan und über dem Budget
  • Große Unterschiede bei Zeitplan, Kosten, Funktionalität und Qualitätszielen
Keiner. Ein Projekt ist totales Chaos
Level 2 verwaltet
  • Anforderungsmanagement
  • Schätzen Sie Projektparameter wie Kosten, Zeitplan und Funktionalität
  • Messen Sie den tatsächlichen Fortschritt
  • Entwickeln Sie Pläne und Prozesse
  • Es werden Standards für Softwareprojekte definiert
  • Produkte identifizieren und kontrollieren, Probleme melden, Änderungen usw.
  • Die Prozesse können je nach Projekt unterschiedlich sein
  • Prozesse werden verständlicher
  • Manager und Teammitglieder verbringen weniger Zeit damit, zu erklären, wie Dinge erledigt werden, und mehr Zeit damit, sie auszuführen
  • Projekte werden besser geschätzt, besser geplant und flexibler
  • Qualität wird in Projekte integriert
  • Die Kosten können anfangs hoch sein, sinken aber mit der Zeit
  • Fordern Sie weitere Unterlagen und Unterlagen an
Level-3 definiert
  • Kundenanforderungen klären
  • Designanforderungen lösen, Implementierungsprozess entwickeln
  • Stellt sicher, dass das Produkt den Anforderungen und dem Verwendungszweck entspricht
  • Analysieren Sie Entscheidungen systematisch
  • Beheben und kontrollieren Sie potenzielle Probleme
  • Prozessverbesserung wird zum Standard
  • Die Lösung schreitet vom „Codieren“ zum „Engineering“ voran.
  • Während der gesamten Projektarbeit entstehen Quality Gates, an denen das gesamte Team beteiligt ist
  • Risiken werden gemindert und das Team wird nicht überrascht
Quantitativ verwaltetes Level 4
  • Verwaltet die Prozesse und Teilprozesse des Projekts statistisch
  • Verstehen Sie die Prozessleistung und verwalten Sie das Projekt der Organisation quantitativ
  • Optimiert die Prozessleistung im gesamten Unternehmen
  • Fördert quantitatives Projektmanagement in einer Organisation.
Optimierung der Stufe 5
  • Fehlerursachen frühzeitig erkennen und beseitigen
  • Identifizieren und implementieren Sie neue Tools und Prozessverbesserungen, um Anforderungen und Geschäftsziele zu erfüllen
  • Fördert organisatorische Innovation und Implementierung
  • Gibt Impulse für die kausale Analyse und Lösung

Das folgende Diagramm gibt eine bildliche Darstellung dessen, was auf verschiedenen CMM-Ebenen geschieht

Verschiedene CMM-Stufen

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:

  1. Verpflichtung zur Leistung
  2. Leistungsfähigkeit
  3. Aktivitäten durchführen
  4. Messung und Analyse
  5. Ü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