Projekte agile anzugehen heißt, Schritt für Schritt zu planen und umzusetzen, ein Ansatz der im Software- und Web-Development in den letzten Jahren zum Standard wurde. Planungsphase und Beginn des Projektes sind also nicht mehr voneinander getrennt, wie es beispielsweise im sog. Wasserfallmodell der Fall war. Im Agenturumfeld bekommt diese Arbeitsweise eine besondere Brisanz, da Stakeholder und Development in unterschiedlichen Unternehmen sitzen.
Eine Grundfrage ist, warum sollte eine Agentur beauftragt und ein nicht komplett durchgeplantes Projekt begonnen werden, dessen Ausgang somit Ungewissheiten beinhaltet?
Bedenken von Unternehmen, die eine Agentur beauftragen, die agile arbeitet und Kosten nur für geleistete Stunden und nicht für ein fertiges Produkt definiert werden, sind natürlich nachvollziehbar.
Anders als wenn ein Unternehmen die Software-Entwicklung inhouse abwickelt, liegen bei der Dienstleistungsbeziehung zwischen Kunde und Agentur Stakeholder und Entwicklung in unterschiedlichen Unternehmen, so wie es in vielen Agentur-Konstellationen der Fall ist. Hier gibt es viel Potential für enttäuschte Erwartungen. Der Stakeholder möchte einerseits Klarheit darüber, was er erwarten kann, also wann das Projekt in welcher Qualität zu welchen Kosten fertig gestellt wird. Die umsetzende Agentur hingegen, muss versuchen den Unwegsamkeiten moderner komplexer Webprojekte Herr zu werden und Kosten und Ressourceneinsatz zu kalkulieren.
Der Rückfall auf das sog. Wasserfall-Modell, also, dass die Projektumsetzung erst nach Abschluss einer detaillierten Planungsphase beginnt, ist allerdings auch keine zufriedenstellende Lösung. Der agile Prozess ist eine Notwendigkeit für Projekte unserer Zeit: Die Gründe liegen in der Komplexität und der Dynamik moderner Webprojekte und dessen Bedingungen.
Zunächst zur Dynamik
Märkte, Nutzer und beteiligte Drittanbieter sind schnelllebiger als je zuvor. Wir müssen während unserer Projekte mit allem rechnen, seien es das Ausscheiden eines wichtigen Paymentanbieters inmitten des Projekts, unerwartete technische Probleme bei der Einbindung einer externen Datenquelle oder die Usability eines initialen Ansatzes lässt sich schlecht mit den technischen Umständen übereinbringen. Hier muss kurzfristig reagiert werden können. Mit solchen Unwegsamkeiten und unplanbaren Gegebenheiten müssen wir uns in der Umsetzung modernen Web-Projekte alltäglich auseinandersetzen.
Aber gerade hier muss man flexible bleiben. Man wird oft an den Punkt kommen, indem initiale Anforderung im Verlauf des Projektes obsolet und deutlich geändert werden müssen. Hier muss auch das Verhältnis zwischen Agentur und Auftraggeber entsprechend flexibel sein, um problemlos und schnell reagieren zu können.
Auch können Unternehmen dank der agilen Arbeitsweise so schnell wie möglich ein eventuell optimierbares aber verwendbares Produkt auf dem Markt bringen. Eine Möglichkeit und oft eine Notwendigkeit auf schnelle Veränderungen auf dem Markt reagieren zu können, bzw. zuvorzukommen und den entscheiden Schritt schneller zu sein.
Komplexität Moderner Webprojekte
E-Commerce und andere Online Projekte haben einen vorläufigen Höhepunkt an Komplexität erreicht, da Nutzererwartungen an Verfügbarkeit und Funktionalität stetig gestiegen sind. Lässt sich eine einfache darstellende Website leicht umsetzen und deren Aufwände recht genau einschätzen, steigt die Schwierigkeit der Einschätzbarkeit mit der Komplexität exponentiell mit jedem zusätzlichen Stakeholder, jeder zusätzlichen Datenquelle oder Anwendungsvielfalt.
Diese Komplexität von modernen Webprojekten ist einer der entscheidensten Gründe, warum Projekte agile angegangen werden. Eine vollständige Planung und Durchdringung einzelner Detailschritte in einer vorangestellten Planungsphase, wäre derart aufwändig, dass erstens zu viel Zeit vergeht, bevor auch nur eine Zeil Code geschrieben wird, und zweitens ist Planungszeit Zeit zum Teil zusätzlich anfällt, also auf die Kosten des Projektes addiert werden müssen.
Transparenz, Überprüfung und Anpassung
Um diese Unsicherheit entgegenzuwirken, ist es umso wichtiger Transparenz, Überprüfung (Inspection) und Anpassung (Adaptation), die drei Säulen auf denen Scrum aufbaut, nicht nur intensiv innerhalb des Projekt-Teams zu leben, sondern auch gemeinsam mit dem Kunden stetig daran zu arbeiten, die agilen Abläufe zu optimieren.
Dabei spielt ein gemeinsam geteiltes Verständnis von Prozessabläufen und deren transparente Offenlegung und insbesondere die Definition of Done – also eine gemeinsam geteilten Vorstellung, wann etwas als Fertig angesehen wird – eine große Rolle. Es macht hier Sinn, die Definition of Done nicht nur für das und von dem Entwickler Team festlegen zu lassen, in der auch eher technische Aspekte enthalten sind, sondern auch gemeinsam mit dem Kunden bzw. Stakeholder gemeinsam geteilte Definitionen zu erarbeiten. Ein Schritt der viele Missverständnisse und falsche Erwartungen auffängt und langfristig zu einer besseren und letztendlich auch produktiveren Zusammenarbeit führen kann.
Eine ständige Verfügbarkeit von Entwicklungsständen und deren Dokumentation, sollte ebenso eine wichtige Rolle spielen und konsequent nachgehalten werden.
Auch die Klarheit in der Kommunikation und Anforderungsbeschreibung sollten mit einer gewissen Regelmäßigkeit zum Thema gemacht, analysiert und optimiert werden. Beispielsweise anhand der “Definition of Ready”, also die Voraussetzungen unter denen eine Anforderung als vollständig und Fertig für die Umsetzung angesehen wird.
Die sehr konsequente Pflege der genannten drei Säulen ist die Basis einer Vertrauensvollen Zusammenarbeit zwischen Stakeholder und Agentur und somit die wichtigste Grundlage für das gelingen von Web-Projekten unter den Umständen der heutigen Zeit.
Taking the overwiev, this post is first class