cnt

Am Anfang war das Chaos

Unreife Software-Organisationen haben die Chance mit dem Prozessreifegradmodell CMMI auf auf eine höhere Entwicklungsstufe zu gelangen. Durch ein Assessment der Prozesse kann eine klare und neutrale Nullmessung der Ist-Situation geschaffen werden, die als Ausgangspunkt für ein Verbesserungsprogramm dient.

Artikel erschienen in Swiss IT Magazine 2005/08

     

Die Qualität der Softwareentwicklung (SE) wurde durch eine entsprechende Prüfinstanz gegen Ende eines Projektes festgestellt – die so genannte Qualitätskontrolle. Verbesserungen erreichte man durch strengere Testanforderungen. Aber das unstrukturierte Vorgehen verhinderte den sinnvollen Einsatz neuer Methoden und Werkzeuge, um die Produktivität und letztendlich auch die Qualität zu steigern. Erfolgreiche Projekte waren Einzelerscheinungen und auf eingeschworene Teams beschränkt. Anfang der 80er erkannte man die Bedeutung von Prozessen für die Qualität eines Produktes. Qualität wurde nun nicht mehr am Ende eines SE-Projektes in das Produkt «hineingetestet», sondern sollte bereits sehr früh in der Softwareentwicklung berücksichtigt werden. Fehler sollten gar nicht erst entstehen. Dafür wurden projektbegleitende, qualitätssichernde Maßnahmen definiert, um die Fehlerrate während der kompletten Projektlaufzeit niedrig zu halten. Eine zunehmende Prozessorientierung führte zu mehr Konstanz in der Produktion qualitativ hochwertiger Produkte, nicht zuletzt durch das Lernen aus Fehlern, die in vergangenen Projekten gemacht wurden.
Der letzte Schritt war jener der Ausrichtung des Unternehmens nach Prozessen und Qualität. Damit war der Fokus der Prozessverbesserung klar: bessere Prozesse waren die Grundlage für bessere Produkte und zufriedenere Kunden.





Process Areas by Maturity Level

Reifegrademodelle

Um die Richtung einer Prozessverbesserung besser entscheiden zu können, muss ein Unternehmen seine Schwächen kennen, die über die Bestimmung des jeweiligen Reifegrades eruiert werden können. Das Reifegradmodell CMMI (= «Capability Maturity Model Integrated for Systems Engineering, Software Engineering, Integrated Product and Process Development, and Supplier Sourcing») bietet das Rahmenwerk für die Evaluierung von SE-Prozessen und ist auf eine kontinuierliche Verbesserung der SE in all seinen Facetten ausgerichtet.
Man unterscheidet fünf Reifegrade (siehe Abb. 1), die evolutionär aufeinander aufbauen. Jeder dieser Level ist ein Baustein für die kontinuierliche Verbesserung, bildet jeweils eine wichtige Komponente des SE-Prozesses und steigert die allgemeine Prozessreife und Kompetenz der Software-Organisation.





Stufe 1: Initial (Performed). Die SE verläuft unstrukturiert, kaum organisiert und instabil. Es gibt nur wenige definierte Prozesse, der Projekterfolg ist von einigen speziellen Schlüsselfaktoren (z.B. bestimmten Mitarbeitern) abhängig und nicht oder nur schwer vorhersehbar. Dieser «Reifegrad» bildet den Ausgangszustand und stellt keine Anforderungen an bestimmte Kriterien, die erfüllt sein müssen.






Stufe 2: Geführt (Managed). Der SE-Prozess wird durch grundlegende Projektmanagement-Praktiken gesteuert und kontrolliert. Strikte Vereinbarungen hinsichtlich Kosten, Terminen und Funktionalität erlauben wiederholte Projekterfolge bei ähnlich gearteten Anforderungen. Der Fokus der Verbesserung ist das Projekt mit Anforderungen an das Anforderungsmanagement, die Projektplanung, das Projektcontrolling, das Management von Unterauftragnehmern, Messung und Analyse, Produkt- und Prozess-Qualitätssicherung und das Konfigurationsmanagement.





Stufe 3: Definiert (Defined). In der dritten Stufe orientiert sich jedes SE-Projekt an einem standardisierten Entwicklungsprozess, um seinen Erfolg nicht von Einzelpersonen abhängig zu machen. Das Tailoring (Zuschneidern) der Vorgaben des Standardprozesses an die jeweilige Projektsituation ist erfolgsentscheidend. Termine und Kosten sind kontrollierbare Grössen. Voraussetzungen für diesen Reifegrad sind der Fokus auf die organisationsweite Prozessdefinition und Prozessverbesserung, etablierte Trainingsprogramme für Mitarbeiter, die systematische Entwicklung der Anforderungen, die Entwicklung einer technischen Lösung, Produktintegration, Verifikation und Validation sowie Risikomanagement und methodische Entscheidungsfindung.





Stufe 4: Geführt mit Zahlen (Quantitative Managed). Hier werden Messungen des Software-Prozesses und der Projekte durchgeführt, welche durch Metriken steuerbar werden. Die Ergebnisse werden für Entscheidungen über Prozessveränderungen herangezogen. Schlüssel für den Erfolg sind hier das Erkennen und die Analyse von Varianzen. Kernprozesse für diese Stufe sind die Messung und Steuerung der organisatorischen Prozess-Performanz sowie die Führung der Projekte über Metriken.





Stufe 5: Optimiert (Optimizing). In diesem höchsten Reifegrad resultiert kontinuierliches Feedback aus der Prozessdurchführung aber auch aus dem Einsatz neuer Methoden und Technologien in einer ständigen Verbesserung der Prozessleistung. Wesentliche Elemente auf diesem Level sind Fehlervermeidung durch die Behebung von Wurzelursachen der Prozess-Varianzen, ein etabliertes Innovationsmanagement und eine ständige Verbesserung der Prozesse hinsichtlich Steigerung der Produktqualität, erhöhter Produktivität und reduzierter Durchlaufzeit.
Hauptnutzen im Vergleich zu vergleichbaren Qualitätsmanagement-Modellen wie ISO 9001 oder ISO 15504 (SPICE) ist die relativ detaillierte und konkrete Unterstützung der Entwicklungsprozesse und der schrittweisen Verbesserung über mehrere Stufen. Dies hat auch dazu geführt, dass CMMI weltweit von Unternehmen, die Software oder Systeme entwickeln, als das Werkzeug zur Verbesserung der Prozesse eingesetzt und umgekehrt von deren Kunden als ein geschätztes Qualitätssiegel betrachtet wird. Die Beurteilung dieser Arbeitsprozesse anhand des CMMI und deren Einordnung im Stufenmodell des CMMI geschieht im Rahmen sogenannter Assessments oder Appraisals.

Die Alternative SPICE

ISO 15504 ist die «europäische und internationale Antwort» auf das Modell CMMI. Mit der Integration der Erfahrungen aus dem SW-CMM und verschiedener anderer Bewertungsmodelle wollte man ein einheitliches Vorgehen bei Assessments durch Standardisierung erreichen. Ein weiterer Verbesserungspunkt war, die Bewertung von Schlüsselprozessen zu ermöglichen anstatt die gesamte Organisation zu bewerten. Diesbezüglich wurde der Begriff «Kontinuierliche Repräsentation von Bewertungsergebnissen» geprägt. Von 1993 bis 1998 fand die erste Phase der Entwicklung im Rahmen des Projekts SPICE («Software Process Improvement and Capability dEtermination» statt mit dem Ziel, eine internationale Norm zur Prozessbewertung und -verbesserung zu erreichen. Parallel zur Entwicklung der Norm wurden umfangreiche Erprobungen durchgeführt. Die Norm trägt die Nummer ISO/IEC TR 15504 und liegt in Form von neun Technical Reports (einer Vorstufe zur endgültigen Norm, siehe Abb. 2) vor.
ISO/IEC TR 15504 umfasst drei Elemente: Prozessbeurteilung (process assessment), Prozessverbesserung (process improvement) und Ermittlung des Prozesspotenzials (process capability determination). Die Prozesse werden in fünf Kategorien (Customer-Supplier, Engineering, Support, Management und Organisation) eingeteilt. Zur Bestimmung der Prozessreife werden sechs Stufen mit neun gemeinsamen Attributen (generische Praktiken) verwendet. Die Reife jedes Prozesses einer Organisation wird einzeln bestimmt und zu einem Profil verdichtet.
Die Norm ISO/IEC TR 15504 bildet den Rahmen für eine einheitliche Bewertung der Leistungsfähigkeit einer Organisationseinheit, deren Aufgabe die Entwicklung oder der Erwerb, die Lieferung, Einführung und Betreuung von Software-Systemen sind. ISO/IEC TR 15504 beschreibt auch, wie Bewertungen durchzuführen sind, wie die Ergebnisse im Einzelnen darzustellen sind und wie daraus Maßnahmen abgeleitet werden können. Insgesamt besteht der Standard aus neun Teilen, doch nur drei haben normativen Charakter. Die restlichen sechs bieten Hinweise für die Auslegung, Anpassung und Erweiterung der Norm an die spezifischen Gegebenheiten.
Die schwierigen vergangenen Jahre in der IT-Branche haben zu einem Umdenken in der Softwareentwicklung geführt. Steigerung der Effizienz und der Qualität durch reifere Prozesse wurde das Motto zahlreicher Unternehmen, die diese Maxime auch an ihre Lieferanten und Betreiber weitergeben. Durch diese Entwicklung wurde ein Phänomen der heutigen Zeit erst möglich: die effiziente Auslagerung von ganzen Prozessphasen in Billiglohnländer (das sog. Offshoring oder Nearshoring), die mit teilweise hohen industriellen Reifegraden um Kundschaft buhlen.




ISO 15504 Elemente der Norm



Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Welche Farbe hatte Rotkäppchens Kappe?
GOLD SPONSOREN
SPONSOREN & PARTNER