Verwirrende Modell-Vielfalt

von Markus Bereszewski (markus.bereszewski@informationweek.de), Matthias Kneissl

26.03.2009

Verwirrende Modell-Vielfalt Prozessmodelle, mit deren Hilfe IT-Organisationen ihre Leistungen und Entwicklungsprozesse ­opti­mieren, gibt es viele. Eine Kombination der Frameworks ist angesagt, doch nicht alle machen Sinn.

Agile Entwicklung ist keine Basisdemokratie

Modelle wie Total Quality Management (TQM) oder Lean Six Sigma lassen sich in die Kategorie der Qualitätsmanagementmodelle einordnen. Diese beschreiben Maßnahmen, mit deren Hilfe Unternehmen eine konstant hohe Qualität ihrer Produkte oder Dienstleistungen erzielen. Gleichzeitig definieren diese Modelle, wie die Maßnahmen innerhalb einer Organisation einzubetten sind. Über diese formalen Prozessframeworks und Vorgehensmodelle hinaus gibt es Vorgehensweisen für die Software-Entwicklung. Die Notwendigkeit, auf Veränderungen am Markt schnell reagieren zu können, macht agile Entwicklungsmethoden wie Scrum oder Feature Driven Development für Unternehmen besonders interessant. Hier ist der Kunde bereits in frühen Phasen der Software-Entwicklung eng in den Entwicklungsprozess integriert. Programmfunktionen werden iterativ und nach Nutzen priorisiert umgesetzt. Der Vorteil liegt insbesondere darin, dass zu jedem Zeitpunkt eine lauffähige Version der Software vorliegt und eine Umpriorisierung von Features kaum Zeit- und Geldverlust bedeutet. Für eine Einführung der agilen Methodik gilt jedoch, dass agile Entwicklung nichts mit Basisdemokratie zu tun hat – Entwicklungsrichtlinien sind notwendig und müssen auch verpflichtend für alle Mitarbeiter gelten.

Ideale Ergänzung: CMMI und ITIL

Die Entwicklungsmethodik alleine reicht jedoch nicht aus – sie muss ergänzt werden durch eine Definition von verschiedenen Reifegraden und die Verbesserungen müssen messbar sein. Das bekannteste Reifegradmodell ist CMMI (Capability Maturity Model Integration): In Abhängigkeit des Reifegrades werden für verschiedene Prozessgebiete spezifische und generische Ziele definiert, die es innerhalb der Organisation umzusetzen gilt. Es wird beschrieben, welche Prozesse zu optimieren sind, jedoch keine Vorgaben gemacht, wie diese Anforderungen im Detail umzusetzen sind. Die CMMI-Anforderungen sind in vier Prozessgebiete aufgeteilt: Prozessmanagement, Projektmanagement, Ingenieursdisziplinen und Unterstützung (Support). Darüber hinaus definiert CMMI fünf Reifegrade: Jeder Reifegrad ist ein Entwicklungsplateau in der Prozessverbesserung der Organisation. Beispielsweise kann ein Reifegrad von der Stufe drei nur dann erreicht werden, wenn alle einzelnen Projekte diesen Reifegrad erlangen. In der Software-Entwicklung lassen sich zwar einzelne Wartungsprojekte auch über CMMI abbilden, hier ist jedoch für den Aufbau und die Abbildung der einzelnen Prozesse ITIL deutlich besser geeignet. Aufgrund ihrer gegensätzlichen Struktur ergänzen sich CMMI und ITIL ideal, da sie unterschiedliche Teile des IT-Lebenszyklus abdecken.

Kombination mit Vorgehensmodellen

Wie eine Organisation ihre Prozesse im Detail optimieren soll, wird von CMMI nicht definiert. Dies erfolgt über ein Vorgehensmodell: Das V-Modell XT sowie der Rational Unified Process ermöglichen „Tailoring“ und dadurch die Anpassung an die Organisation. Aufgrund des Aufbaus von RUP ist es für eine Entwicklungsabteilung wesentlich einfacher, die einzelnen Praktiken mit einer agilen Methodik umzusetzen. Die Überschneidung der V-Modell XT-Aktivitäten mit gängigen agilen Methoden wie etwa Scrum sind eher gering, sodass in diesem Fall eine Kombination kaum sinnvoll erscheint. Während sich ITIL in den vergangenen Jahren in den Bereichen Wartung und Dienstleistung durchgesetzt hat, wird bei vielen Unternehmen in der Anwendungsentwicklung noch experimentiert. Besonders bei neuen Projekten ist häufig festzustellen, dass diese ohne ein umgebendes Prozessframework aufgesetzt werden. Verspätete Liefertermine und ein überzogenes Budget sind die Folgen. Hier empfiehlt es sich, CMMI einzuführen und somit zu einer höheren Prozessreife zu gelangen. Eine Voraussetzung dafür ist ein professionelles Projektmanagement. Solange dies nicht gegeben ist, macht es noch keinen Sinn, sich um Entwicklungsprozesse zu kümmern. Gerade jetzt ist es aufgrund des Kostendrucks und der Anforderungen der Fachabteilungen an die IT wichtig, eine agile Entwicklungs­methodik zu etablieren. Diese ist mit CMMI sehr gut kombinierbar. Die Entscheidung für ein Vorgehensmodell ist nur ein Schritt auf dem Weg zu einer erfolgreichen, serviceorientierten Organisation. Die Trends zeigen, dass ein Modell alleine meist nicht mehr ausreicht. In der Praxis sind verschiedene Frameworks zu kombinieren, um maximalen Nutzen zu erzielen und möglichst alle wesentlichen Teilgebiete abdecken zu können. Ein übergreifender Erfolgsfaktor ist die Disziplin innerhalb der Organisation: Das Management hat die Aufgabe, dafür zu sorgen, dass die Mitarbeiter die neuen Prozesse akzeptieren und aktiv umsetzen.

Matthias Kneissl ist Product Manager für ChangePilot bei Realtech