Warum klassisches Projektmanagement in der Softwareentwicklung nicht ausreichte
Beim klassischen Projektmanagement steht das Projektergebnis von Anfang an fest. Es gilt, einen Plan zu erstellen, wie Mitarbeiter und Ressourcen optimal eingesetzt werden können, um dieses Ziel zu erreichen. Dabei verlaufen Projekte oft nach dem sogenannten Wasserfallmodell: Der Projektablauf ist in sequentielle Phasen gegliedert und sämtliche Teilergebnisse bauen aufeinander auf. Sprich: Wenn ein Milestone nicht rechtzeitig abgeschlossen wird, verzögern sich alle darauffolgenden Milestones.
Traditionelles Projektmanagement ist also hervorragend geeignet, um feststehende Ziele auf Wegen zu erreichen, die sich gut im Voraus planen lassen. Klingt das nach den IT-Projekten, die Sie kennen? Vermutlich nicht. Gerade bei IT-Projekten kommt es immer wieder zu Abweichungen. Neue Features kommen hinzu, alte fallen weg. Herausforderungen, die zunächst einfach erschienen, entpuppen sich als hungriges Monster, das Dutzende oder gar Hunderte Manntage (oder Frautage) verschlingt. Wie oft mussten Ihre Teams schon Lösungen entwickeln, damit sie die Lösung entwickeln konnten, die dem Kunden verkauft wurden? Wie oft mussten Kunden im Verlauf eines Projektes die Anforderungen ändern, weil sie jetzt etwas anderes brauchen als zu Projektbeginn?
Kurz: Marktwirtschaft ist erbarmungslos. Schnelle Prozesse, komplexe Abhängigkeiten und die zunehmende Informationsflut machen es unmöglich, weit genug in die Zukunft zu schauen und alle Eventualitäten von Anfang an mitzudenken. Je weiter das Projektende in der Zukunft liegt, desto unsicherer fallen die Prognosen aus. IT-Projekte sind in erfahrungsgemäß langfristige Projekte mit nur schwer schätzbarem Aufwand. Und oft kommt es während der Umsetzung zu großen Änderungen in der Implementierung und in dem Produkt – entweder, weil sich die Anforderungen des Auftraggebers ändern oder weil es Schwierigkeiten mit der Programmierung gibt.
Für das klassische Projektmanagement ist diese Situation äußerst ungünstig. Jede Änderung am Projektplan ist mit Aufwand und (oft indirekten) Kosten verbunden. Es kommt zu zeitlichen Verzögerungen, da Pläne aktualisiert werden oder Ressourcenkonflikte gelöst werden müssen. Außerdem wird häufig das Budget überspannt, es kommt zu Chaos und am Ende stehen unter dem Strich gebrochene Versprechen sowie unzufriedene Auftraggeber.
Genau hier setzt Agile an. Agile Teams arbeiten nicht auf ein fest umrissenes Ziel hin, sondern erarbeiten über längere Zeiträume ein Produkt in enger Zusammenarbeit mit dem Kunden. Dabei werden kurzfristige und langfristige Ziele immer wieder iterativ miteinander abgeglichen. Agiles Projektmanagement hat keine Probleme mit Änderungen. Im Gegenteil – es begrüßt diese vielmehr!