Scrum, Kanban oder Lean

Warum agile Softwareentwicklung wirklich hilft

15.02.2018
Von 


Matthias Rauber hat sich mit seinem Unternehmen resc-IT GmbH auf die Rettung von IT-Projekten spezialisiert. Er verfügt über mehr als 20 Jahre Erfahrung als Projektmanager in traditionellen (Wasserfall) und agilen Projekten.

Fokussierung auf das Wesentliche statt Goldene Henkel

Eine Möglichkeit herauszufinden, ob eine fachliche Funktion oder ein ganzes System nützlich sein könnte, ist die Beschreibung und die Kalkulation des Business Case. Bei einzelnen Anforderungen im Sinne eines Eintrags im Backlog genügt oftmals die Kategorisierung in T-Shirt-Größen (S, M, L, XL) und die Erkenntnis des Product Owners, auf welche Funktionen er/sie gegebenenfalls verzichten muss, weil Zeit und/oder Budget ausgereizt sind.

Bei umfangreicheren Themenstellungen hilft den Stakeholdern die Gegenüberstellung der konkreten Kosten bei Realisierung der Anforderung oder Aufrechterhaltung des Status quo. Bei Letzterem sind unbedingt die Prozesskosten zum Beispiel für Personal bei manuellen Tätigkeiten zu berücksichtigt.

Performance früh im Fokus behalten

Eine nicht nur in agilen Projekten gerne vernachlässigte nicht-funktionale Anforderung betrifft die Performance des zukünftigen Systems. Es ist keine gute Idee, erst kurz vor dem geplanten Livegang Last- und Performancetests durchzuführen.

Unter Umständen sind beachtliche Aufwände für Korrekturen erforderlich, weil Basisbereiche, zum Beispiel Datenbankzugriffe/Datenmodelle, angepasst werden müssen und dies Auswirkungen auf weite Teile des Systems hat. Daher ist eine frühzeitige Betrachtung von Last- und Performanceaspekten inklusive prototypischer Realisierungen angeraten.

Migrationsarbeiten berücksichtigen

Die Mehrheit der heutigen Software-Projekte löst Legacy-Systeme durch moderne Implementierungen ab. Die meist über Jahre oder Jahrzehnte entstandenen Daten werden in den seltensten Fällen nicht mehr benötigt, sondern sind in die neue Welt zu migrieren. Auch hier ist es sinnvoll, frühzeitig mit den Arbeiten zu beginnen.

Diese sind nicht nur technisch durch die Datenbank getrieben; vielfach beeinflusst die Migration die fachliche Realisierung und umgekehrt. Um in agilen Projekten der Volatilität der entstehenden Systeme Rechnung zu tragen, können ETL-Werkzeuge (Extract, Transform, Load) hilfreich sein. Dabei werden Transformationslogiken grafisch modelliert, welche im Bedarfsfall relativ einfach anpassbar sind.

Personal dediziert einsetzen

Der Mensch ist nachweislich nicht für Multitasking-Tätigkeiten geeignet. Zwar mögen Frauen diesbezüglich über evolutionsbedingte Vorteile gegenüber Männern verfügen. Sicher ist, dass beide Geschlechter schnellere und bessere Ergebnisse erzielen, wenn sie sich auf eine Aufgabe konzentrieren können.

Viele Firmen neigen jedoch dazu, ihre Mitarbeiter aufgrund von Ressourcenengpässen und Kopfmonopolen gleichzeitig in mehreren Projekten zu platzieren - mit entsprechend negativen Konsequenzen. Bei dediziert eingesetztem Personal dankt es jeder Einzelne mit größerer Zufriedenheit und höherer Motivation, wovon nicht nur das Projekt, sondern das ganze Unternehmen profitiert.

Fazit

Um die eingangs gestellte Frage zu beantworten: Ja, der Hype um agile Vorgehensmodelle ist absolut begründet und eine Umstellung ist rentabel, wenn man nicht allein auf die Methode vertraut, sondern weiterhin die Grundsätze professioneller Softwareentwicklung berücksichtigt.

Unternehmen, die mit dem Gedanken zur Umstellung ihrer Projektprozesse spielen, sollten sich bewusst sein, dass die Einführung von Scrum und Co. für viele Menschen einen ausgeprägten kulturellen Wandel zur Folge hat, der nicht von heute auf morgen vollzogen werden kann (siehe auch: Radikales Umdenken nötig).

Entgegen der klassischen Methoden bedeutet agiles Arbeiten mehr Eigenverantwortung, Selbstorganisation, ständige Reflexion und vor allem Transparenz bezüglich der Tätigkeiten jedes einzelnen und das zu jeder Zeit. Wer dies in seinen Projekten berücksichtigt und die Menschen aktiv an den Change-Prozessen beteiligt, wird mit zufriedeneren Mitarbeitern und besseren Projektergebnissen belohnt. (hal)