Das Management von Softwareprojekten hat sich in den letzten Jahren stark verändert. Etablierte und standardisierte Methoden werden abgelöst und durch modernere Verfahren ersetzt. Frühere Vorgehensweisen wie das „Wasserfall-Modell“ waren linear strukturiert und mussten der Reihe nach abgearbeitet werden.
Typische Phasen waren die Planung, Konzeption, Realisierung und der Roll-Out. Dieses starre Konzept wurde konsequent durchgezogen, wobei eine abgeschlossene Phase nicht mehr angefasst oder geändert wurde. Der Vorteil dieser Arbeitsweise liegt in der hohen Planungssicherheit. Das fängt bei der Kalkulation der Arbeitsaufwände an und endet bei den exakten Arbeitsanweisungen für Projektmanager und Software-Entwickler.
Jede Phase wurde stringent abgearbeitet, kontrolliert und als erledigt gekennzeichnet. Viele Jahre lang wurden unzählige Software-Projekte nach dieser Methode abgewickelt.
Was war der Grund, dass diese scheinbar taugliche Methode langsam aber sicher jegliche Relevanz verlor?
Das Leben im Allgemeinen ist sehr dynamisch und die Softwareentwicklung im Speziellen ist eine sehr komplexe Angelegenheit. Viele Menschen in verschiedenen Rollen mit verschiedenen Interessen sind daran beteiligt und tragen mehr oder weniger zum Gelingen des Projekts bei. Komplexe Systeme bewegen sich innerhalb bekannter Naturgesetze, die die physikalischen Eigenschaften in unserem Arbeitsraum festlegen. Doch speziell im Kosmos der Softwareentwicklung hat sich eine weitere Lebensweisheit zementiert, die unser modernes Verständnis von Projektmanagement wie kein anderes prägt:
Murphys Law: „Alles, was schiefgehen kann, wird auch schiefgehen.“
Der amerikanischen Ingenieur Edward A. Murphy jr. beschreibt damit treffend die Auswirkungen menschlichen Versagens in komplexen Systemen wie in der Softwareentwicklung.
Die IT-Branche kämpft seit Jahren mit den Schwierigkeiten Ihre Projekte in time, in budget und in quality abzuwickeln. Wir haben bereits in einem anderen Artikel herausgestellt, dass unglaublich viele Software-Projekte scheitern. Die Anzahl ist beachtlich und wirft ein schlechtes Licht auf herkömmliche Projektmanagement-Methoden. Mit den alten Methoden können neue Herausforderungen nicht mehr adäquat gelöst werden. Wer an starre Systeme festhält, kann nur schwerlich mit dynamischen Entwicklungen mithalten. Aus diesem Grund haben sich neue agile Methoden einen festen Platz beim Organisieren von Projekten gesichert.
Beginnen wir mit dem Wort „agil“, welches eine ähnliche Bedeutung hat wie die Begriffe „wendig, beweglich und regsam“. Wenn sich also ein Problem oder eine Veränderung ankündigt, können wir nun agil darauf reagieren. Wenn das alte Wasserfall-Modell eher einem großen Frachtschiff entsprach, sind wir mit den agilen Methoden nun ein flinkes Schnellboot. Wir können einfacher das Tempo beschleunigen und schneller Hindernissen ausweichen. Dabei verbrauchen wir viel weniger Treibstoff, was unserer Arbeitsenergie und unserem Arbeitsaufwand entspricht. Für Sie bedeutet das geringere Kosten bei der Umsetzung Ihres Projekts.
Im praktischen Alltag bemerken wir den Wunsch nach immer schnelleren Entwicklungszyklen, wobei es den Kunden allerdings auch immer schwieriger fällt, genaue Spezifikationen auszudrücken. Die Innovationsgeschwindigkeit in der IT-Branche ist enorm hoch. Immer neue Technologien rücken in den Vordergrund und bieten sich als Lösungsoption an.
Diese schrittweise Annäherung an die endgültige Lösung ist mit vielen Vorteilen verbunden. Dadurch können wir unseren Auftraggebern in kurzen Zeitabständen immer neue Versionen unserer Prototypen anbieten. Bei diesem „rapid prototyping“ ist der Kunde ganz nah dran an der Entwicklung seiner Applikation. Das Testen unserer Entwicklung sowie das Überprüfen der Funktionalitäten garantieren, dass das Endergebnis den Kundenvorstellungen entspricht. Es gibt am Ende keine böseren Überraschungen mit Aussagen wie: „Das haben wir uns aber ganz anders vorgestellt“. Das bedeutet aber auch, dass es eine Mitwirkungsverpflichtung auf Kundenseite gibt.
Agiles Projektmanagement definiert die Zusammenarbeit zwischen Auftragnehmer und Kunde ganz anders als die klassischen Methoden. Die Projektbeteiligten werden stark in den Vordergrund gerückt. Sie bekommen mehr Handlungsspielraum und werden nicht mehr durch starre Arbeitsprozesse eingeengt.
Funktionierende Software, die den Kundenwünschen entspricht, ist wichtiger als eine allumfassende Dokumentation, die am Ende doch keiner liest. Der Fokus liegt damit eindeutig auf das Projektergebnis und die Dokumentation beschränkt sich auf das Notwendigste.
Da niemand weiß, wie sich der Projektverlauf genau entwickelt, muss der Flexibilität einen großen Stellenwert eingeräumt werden. Nur wenn wir schnell auf neue Gegebenheiten reagieren können, sichern wir den anvisierten Projektabschluss. Das heißt aber auch, ursprüngliche Vorgaben über Board zu werden, wenn es notwendig ist.
Damit agiles Projektmanagement gut funktioniert, muss eine schnelle Kommunikation sichergestellt sein. Die tägliche Abstimmung im Team ist ein notwendiger Austausch, der die dynamische Softwareentwicklung maßgeblich unterstützt. Wir benötigen keinen stundenlangen Meeting und endlose Diskussionen. Wenn das Ziel klar ist, nehmen wir den kürzesten Weg ohne Umwege.
Scrum definiert unser Vorgehensmodell bei der Softwareentwicklung und hilft uns, die Vorteile des agilen Projektmanagements konsequent auszunutzen. Es unterstützt uns mit einer anpassbaren Struktur, die flexibel bleibt und das Festlegen neuer Prioritäten ermöglicht.
Aus den Kundenanforderungen und unserer Roadmap leiten sich die konkreten Aufgaben ab, die in Scrum als „Backlog“ bezeichnet werden. Dabei handelt es sich um eine Liste von Aufgaben für das Entwicklerteam.
Das Abarbeiten dieser Ereignisse wird in Scrum „Sprints“ genannt. Unsere Entwickler orientieren sich dabei an genau festgelegte Zeiträume, die das zügige Fertigstellen forcieren.
Ritualisierte Meetings sind notwendig, damit das ganze Team darüber informiert wird, wie sich das Projekt entwickelt. Das tägliche „Stand-up-Meeting“ gibt einen Überblick über die Aufgaben des Tages, während bei einem „Iterations-Review“, die Zwischenergebnisse eines Teams vorgestellt werden. „Retrospektiven“ am Ende wichtiger Entwicklungsschritte beurteilen die Ergebnisse und führen zu konstruktiven Feedbacks.
Denn nach dem Projekt ist vor dem Projekt.
Möchten Sie mehr über unsere agilen Methoden erfahren?
Dann nehmen Sie doch einfach Kontakt zu uns auf. Wir beantworten gerne Ihre Fragen.