Mehr Erfolg in IT-Projekten

29.11.2005
Von Elmar Borgmeier

Agile Verfahren

Ein Gegenentwurf zum klassischen QM sind die agilen Verfahren. Hier liegen die Schwerpunkte auf der Kommunikation beziehungsweise dem Faktor Mensch statt auf Prozessen, auf der Software selbst anstatt auf umfassender Dokumentation, auf aktivem Änderungs-Management statt auf hoher Planbarkeit. Es gilt zu unterscheiden zwischen agiler Softwareentwicklung und agilem Projekt-Management: Agile Softwareentwicklung bezieht sich auf die Gestaltung der eigentlichen Entwicklung. Es gibt unterschiedliche Ausprägungen, die bekannteste ist das Extreme Programming (XP).

Von agilem Projekt-Management spricht man im Zusammenhang mit der Gestaltung des gesamten Projektablaufs. Hier geht es also um die Anpassung von Prozessmustern an die konkreten Erfordernisse des IT-Projekts. Agiles Projekt-Ma- nagement gibt es auch in IT-Projekten ohne einheitliches Entwicklungsteam, also etwa bei der Einführung von Standardsoftware.

Aspekte von Qualität

Qualität besitzt verschiedene Dimensionen, die jeweils mit eigenständigen Maßnahmenbündeln adressiert werden. Deshalb unterscheidet der Ansatz Aspect Q folgende Aspekte:

  • Kundenbezogene Qualität: stellt die Sicht des Auftraggebers dar - Qualitätskriterien sind hier Faktoren wie Kosten, Termine oder Investitionssicherheit.

  • Anwenderbezogene Qualität: Das sind vor allem funktionale Eigenschaften von Software, deren Spezifikation und Test sowie der Umgang mit Klärungen und Änderungen während des Projekts. Auch der Umgang mit nicht ausgesprochenen Erwartungen und die Benutzerfreundlichkeit der Software gehören dazu.

  • Technologiebezogene Qualität: Dies meint die Qualitätsmerkmale des ausführbaren Programms, die zu stark mit der Technik verknüpft sind, als dass sie von den Anwendern allein vorgegeben werden könnten. Hier geht es vor allem um Performance, Stabilität und Sicherheit.

  • Innere Qualität: Qualitätsmerkmale, die zunächst nur im Sourcecode selbst erkennbar sind und deshalb auch dort geprüft werden. Dazu gehören Klarheit des Designs, saubere Codestrukturen, Verständlichkeit und Wartbarkeit.

  • Nachhaltigkeit: Der Nutzungszeitraum von Software beginnt erst mit dem Abschluss des Entwicklungsprojekts. Deshalb ist es wichtig, von Anfang an den Betrieb der Anwendung und ihre Betreuung im Blick zu haben. Weil Entwickler und Betreiber Software hier unterschiedlich sehen, geht es dabei vor allem um Konfigurierbarkeit, Monitoring, einheitliches Change- und Release-Management, Offenheit der Schnittstellen und Fehlertoleranz.

Leider finden sich in der internationalen Literatur zur agilen Softwareentwicklung wenig spezifische Aussagen zum Umgang mit Qualität. Viele Autoren setzen eher darauf, dass Qualität von selbst entsteht, wenn erfahrene "Softwerker" gut zusammenarbeiten. Nur wenige Beiträge handeln davon, wie sich QM in die Arbeit der Projektteams integrieren lassen könnte.

Subjektive Deutung

Auch wenn die agilen Verfahren in ihrem Ansatz eine Qualitätsorientierung vorsehen, so fehlt ihnen ein explizites QM. Damit besteht die Gefahr, dass sich der subjektive Qualitätsbegriff der Beteiligten durchsetzt und zum Beispiel ein Softwareentwickler nicht genügend Rücksicht auf die Anforderungen der Anwender nimmt. Auch gibt es bei Qualität nicht nur die Entscheidung für mehr oder weniger, sondern auch für die eine oder andere Art von Qualität. Zum Beispiel ist eine besonders benutzerfreundliche Web-Oberfläche sehr wartungsintensiv. Hinzu kommt: Eine nur innerhalb eines Projekts wirksame Qualitätsorientierung trägt wenig zum Fortschritt der Gesamtorganisation bei. Zu Recht steht daher das Management agilen Verfahren häufig skeptisch gegenüber, auch wenn die konkreten Projekterfolge sehr wohl für die agilen Methoden sprechen.

QM-Steuerung

Aus diesem Grund wurden in jüngster Zeit Ansätze zum agilen Qualitäts-Management entwickelt - also einem expliziten Verfahren zur Steuerung von Qualitätsmaßnahmen, das sich mit den drei Prinzipien der agilen Verfahren verträgt:

  • Agiles QM fügt sich flexibel und angemessen in ein konkretes Projektvorgehen ein.

  • Agiles QM ist ergebnisorientiert und daher technologiezentriert. Es umfasst konkrete technische Maßnahmen zur Sicherung der Software-Qualitätsmerkmale.

  • Agiles QM zeigt Qualität als besondere Leistung und motiviert die Kompetenzträger zur Übernahme von Qualitätsaufgaben.