Gorodenkoff - stock.adobe.com
Agiles Projekt-Controlling bei der Softwareentwicklung
Wer ist innerhalb eines Entwicklungsprojektes wofür verantwortlich? In der Praxis ist das häufig ungeklärt. Ein agiles Projekt-Controlling hilft bei Strukturierung.
Jedes Entwicklungsprojekt ist anders: mal mehr, mal weniger komplex, verschiedene Unternehmensprozesse betreffend, mal Neuentwicklung oder nur Feature-Update. Von der Art und dem Umfang hängt natürlich ab, in welchem Zeitrahmen und mit welchem Budget geplant werden muss.
Aber nicht nur das: Daraus ergibt sich auch, wie groß das Entwicklungsteam ist und wie sich die Zusammenarbeit gestaltet. Welche Entwicklungsmethode kommt zum Einsatz, zum Beispiel eher klassisch nach Wasserfall- oder Spiralmodell oder agile und iterativ? Gibt es Unterteams mit Teil-Verantwortlichkeiten und wie ist die teamübergreifende Zusammenarbeit organisiert? Und nicht zuletzt: Lässt sich das Projekt mit Entwicklern aus dem eigenen Unternehmen umsetzen oder müssen externe Developer hinzugezogen werden und welches Know-how bezüglich Programmiersprachen, APIs und Anwendungsintegration wird benötigt?
Projekt-Controlling häufig zu unstrukturiert
Diese (und zahlreiche weitere) Rahmenbedingungen haben Einfluss auf die Verteilung der Verantwortlichkeiten in einem Entwicklungsprojekt. So kann es also sein, dass bei kleineren Projekten der Entwickler selbst für das Projekt-Controlling – sprich für die Einhaltung von Budget- und Zeitrahmen – verantwortlich ist.
Bei größeren Teams kann das der Teammanager sein oder ein für das Projekt abgestellter Controller ohne Entwicklungsaufgaben. In jedem Fall spielen die Vorstellungen des jeweiligen Auftraggebers, also der Fachabteilung, ebenso eine Rolle wie die der budgetverantwortlichen Managementebene. Eine recht komplizierte Gemengelage entsteht.
So wird es in der täglichen Projektpraxis häufig unübersichtlich. Die Entwickler arbeiten ihre Programmier-Tasks ab. Tests, Bugs und Inkompatibilitäten sorgen typischerweise dafür, dass Workarounds erarbeitet und Anforderungen neu definiert werden müssen und sich Zeitpläne verschieben. Der Überblick über das Gesamtprojekt und erst recht über die Kosten geht dabei oft verloren. Fehler in frühen Projektphasen potenzieren sich im weiteren Verlauf und können, wenn sie nicht rechtzeitig als solche erkannt werden, zu großen Problemen führen.
Nicht nur die komplexen Team-Zusammensetzungen sind schuld an einem mangelhaften Überblick: Projekt-Controlling wird häufig auch nicht als das verstanden, was es ist. In vielen Unternehmen liegt der Fokus auf dem Vergleich zwischen anvisierten Zeit- und Ressourcenverbrauch und dem bisher Geleisteten.
Periodisch, etwa im wöchentlichen oder monatlichen Rhythmus, wird geprüft, wie viel Zeit und Budget noch übrig ist. Dabei wird mit den Stakeholdern diskutiert, wo Abstriche gemacht werden müssen, um das Gesamtziel noch einigermaßen zu erreichen.
Das ist zu wenig. So werden Probleme erst erkannt und eskaliert, wenn es zu spät ist, wenn weder Budget noch Zeit übrig sind. Diese Art des Controlling ist zudem zu weit vom eigentlichen Projektgeschehen entfernt: Denn in jedem Entwicklungsprojekt gibt es Tasks, die vorher nicht erkennbar und deshalb nicht einkalkuliert waren, Tests ergeben zusätzliche Nacharbeiten oder einzelne Anforderungen ändern sich.
Sinnvoll ist Projekt-Controlling demnach dann, wenn bis auf jede Unteraufgabe genau eingeschätzt wird, was der Stand der Dinge für die Planung bedeutet und welche Risiken sich ergeben. Dabei muss es ausdrücklich erwünscht sein, Probleme zu benennen und wenn nötig bereits getroffene Entscheidungen rückgängig zu machen.
Agile Entwicklung durch Projekt-Controlling ergänzen
Die Bedeutung von Softwarelösungen und die Anforderungen an sie – von Multifunktionalität über extreme Integrierbarkeit bis hin zur schnellen Verfügbarkeit und intuitiven Bedienbarkeit – veranlassen Entwicklungsteams mit agilen Entwicklungsmethoden zu arbeiten. Der Grundgedanke dabei ist es, in kleineren und überprüfbaren Schritten iterativ schnell zu Zwischenergebnissen zu kommen. Sackgassen werden so frühzeitig erkannt, der Prozess kann mit wenig Aufwand angepasst werden. Das ist im Prinzip dieselbe Idee, die hinter einem effektiven Projekt-Controlling steckt.
„Wer agile Methoden nutzt, kann diese durch agiles Projekt-Controlling ergänzen.“
Christopher Möhle, Turbine Kreuzberg
Wer agile Methoden nutzt, kann diese durch agiles Projekt-Controlling ergänzen. Etwa indem das Controlling in die Arbeitsmethode integriert wird. Ein Beispiel: Teams, die sich mit Hilfe von Scrum organisieren, sitzen zumeist in täglichen, kurzen Scrum Meetings zusammen: Kurze Status-Updates, Problemanalysen und Change Management werden besprochen, teamübergreifende Abhängigkeiten geklärt.
Das Controlling kann hier nahtlos einfließen: Der Scrum Master nimmt die dafür notwendigen Informationen auf und es wird gemeinsam besprochen, welche Folgen jeder Schritt und jede Änderung im Hinblick auf Gesamtbudget und Zeitplan hat.
Checkliste für agile Projekt-Controlling
Sinnvolles, effektives Projekt-Controlling sollte eng an die täglichen Routinen des Entwicklungsprojektes angedockt werden. Die wichtigsten fünf Grundsätze im Überblick:
-
Einen Verantwortlichen für das Projekt-Controlling benennen: Je nach Art und Größe des Projektes sollte ein Stakeholder als Verantwortlicher benannt werden, der sowohl einschätzen kann, wie Softwareentwicklung funktioniert als auch die Anforderungen der übergeordneten Auftraggeberebene kennt. Feste Eskalationsroutinen mit klaren KPIs sind hilfreich.
-
Das Projekt-Controlling in die Entwicklungsmethode einpassen: Controlling gehört mitten in den Entwicklungsprozess: Ganz egal nach welcher Methode entwickelt wird, Projekt-Controlling muss sich wie selbstverständlich einfügen. Es ist als Task genauso wichtig, wie die Programmierung oder das Testing.
-
Täglich detaillierte Status-Updates durchführen: In solchen Status-Updates sollte es immer auch darum gehen, wie die aktuellen Aktionen und Änderungen den Aufwand (und damit das Budget) für den jeweiligen Task beeinflussen. Dabei ist es ausdrücklich erwünscht, positiv zu enttäuschen. Das heißt: Mögliche Risiken müssen klar benannt werden, damit sich Anforderungen und To-Do‘s rechtzeitig anpassen lassen.
-
Offene, teamübergreifende Kommunikation: Da viele Stakeholder, oft aus unterschiedlichen Unternehmensbereichen, beteiligt sind, muss offen und transparent kommuniziert werden. Sowohl der Erwartungen als auch der realistischen Möglichkeiten sollten klar benannt werden.
-
Tools nutzen, mit denen alle gut umgehen können: Agilität und Flexibilität lebt von der Beteiligung aller. Welche Projektmanagementmethode verwendet oder über welche Tools wie oft kommuniziert wird, ist eine Teamentscheidung. Wann übergeordnete Managementebenen informiert werden müssen, sollte vorab klar definiert werden.
Über den Autor:
Christopher Möhle ist CEO bei Turbine Kreuzberg. Er begleitet Unternehmen bei der Entwicklung von digitalen Produkt- und Serviceplattformen sowie individuellen Web-Applikationen. Seine Schwerpunkte liegen in den Bereichen Technologie und Umsetzungsstrategie. Möhle leitet den Plattform-Bereich am Agenturstandort Berlin.
Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.