Agil in der Arbeit, agil für den Kunden

Die Entwicklung von Online Shops und Corporate Websites ist Handwerk, Kunstform und ein Feld des stetigen Wandels zugleich. Die Kunden der Webagentur Keynet profitieren von einem reichen Erfahrungsschatz in der Entwicklung von Websites und E-Commerce-Lösungen seit 2003. Ein perfektes Ergebnis erfordert allerdings nicht nur kreatives Webdesign und Know How in der Entwicklung, sondern auch eine ständige Weiterentwicklung von Arbeitsweise und Arbeitsorganisation.

Agile Webentwicklung ist eine Form der Organisation von Webentwicklungsprojekten, welche sich durch ihre Flexibilität und Wendigkeit besonders auszeichnet.

Was heißt agil?

Die Zielsetzung agiler Webentwicklung ist, Softwareprojekte schlanker, mit weniger Verwaltungsaufwand zu verwirklichen. Zudem soll agile Webentwicklung die Reaktion und Anpassung auf Änderungen in den Teilzielen oder Kundenwünschen erheblich erleichtern.

Dies wird möglich gemacht durch Methoden, welche sich von jenen des klassischen Projektmanagements unterscheiden. Das klassische Projektmanagement geht von klaren Definitionen für Ziele und Teilziele (Milestones) aus. Es versucht darauf aufbauend möglichst treffsichere Zeit- und Kostenpläne zu erstellen. Erfahrungsgemäß sind allerdings zahlreiche Softwareprojekte zu komplex, um von Beginn an in einem detaillierten Plan erfasst werden zu können.

Agiles Projektmanagement geht von fixen Endterminen und einer fixen Kostenstruktur aus, adaptiert und modifiziert die Ziele jedoch im Zuge des Prozesses und in ständiger Rücksprache mit dem Kunden. Der Kunde wird als „Mitglied des Projektteams“ betrachtet. Das Augenmerk liegt auf Anforderungen und Ideen, die während der Entwicklung auftauchen, anstatt sturem Vorgehen nach Plan. Dies schlägt sich in einer schlankeren Verwaltung, weniger Dokumentationsaufwand und einem passgenauerem Produkt nieder.

Agile Webentwicklung ist fast zu so etwas wie einer „Philosophie der Software- und Webentwicklung“ geworden. So existiert bereits seit 2001 ein „Manifest für Agile Softwareentwicklung“.

Methoden der agilen Webentwicklung

Die Methoden der agilen Webentwicklung sind unabhängig von Technologien wie Programmiersprachen und können als spezielle Projektmanagement-Methoden betrachtet werden.

Der Begriff der Iteration spielt im Rahmen der agilen Entwicklung eine große Rolle. Iteration ist als Wiederholung der Phasen Planung, Entwicklung, Bewertung, Adaption zu sehen. An die Stelle einer groß angelegten Gesamtplanung tritt die stetige Wiederholung dieses Prozesses. Dies gewährleistet „agile“, also flexiblere und wendigere, Reaktionen auf ungeplante Herausforderungen oder veränderte Anforderungen im Laufe der Entwicklung.

Scrum

Scrum kennt keine von Beginn an detailliert ausgearbeiteten Teilziele. Im Langzeitplan, dem Product Backlog, befinden sich lediglich grob definierte Ziele, welche im Zuge der Entwicklung immer wieder verändert werden können.

Scrum kennt allerdings fest definierte Rollen. Der Product Owner ist für die zugrunde liegende Vision des Endproduktes zuständig. Er definiert die groben Prioritäten und legt fest, wie das Produkt zu sein hat, um wirtschaftlich zu sein. Der Product Owner repräsentiert somit die Auftraggeberseite im Team. Der Scrum-Master wiederum ist für eine reibungslose Teamarbeit zuständig. Er ist kein Teamleiter, unterstützt jedoch das Team in der Beseitigung von Hindernissen, stellt sicher, dass jedes Teamitglied die Scrum-Regeln einhält und den Prozess versteht. Das Scrum Team entwickelt die einzelnen Funktionen. Product Owner und Scrum Master sind keine Mitglieder des Entwicklerteams.

Scrum arbeitet in Phasen, den Sprints. Die empfohlene Dauer für einen Sprint ist zwei Wochen. Je nach Projekt und Projektzielen können Sprints aber auch bis zu zwei Monate dauern. Am Beginn jedes Sprints werden vom Team Aufgaben aus dem Backlock definiert, welche im Sprintzeitraum realistisch durchgeführt werden können. Die Detailplanung (Sprint Backlog) erfolgt also immer nur für einen Sprint.

Es folgt die Entwicklung. Während dieses Prozesses arbeitet das Team selbstorganisiert und autark. Am Ende eines Sprints müssen sich alle Beteiligten darüber einig sein, dass ein brauchbares Ergebnis vorliegt. Im Zuge des Sprint-Reviews wird dem Kunden das Ergebnis präsentiert. Die Sprint-Retrospektive dient dazu, Erfahrungen aus dem letzten Sprint in Verbesserungen für den nächsten Zyklus münden zu lassen.

Kanban

Die wörtliche Übersetzung des japanischen Begriffs Kanban lautet „Signalkarte“ Dies lässt bereits erahnen, dass Kanban, dessen Ursprünge im lean management zu suchen sind, die Visualisierung des Projektes in den Mittelpunkt rückt. Das Kanban Board in Form eines Whiteboards, einer Tafel oder eines Flipchart-Bogens nimmt die zu lösenden Schritte in Spalten auf. Die Teilaufgaben pro Schritt werden dann in Form von Post-it´s oder Karteikarten der jeweiligen Spalte zugeordnet. Teilaufgaben pro Spalte werden limitiert. Das Team einigt sich beispielsweise darauf, pro Arbeitsschritt maximal vier Teilaufgaben zuzulassen. Dies hat den Vorteil, Probleme und zeitliche „Flaschenhälse“ sichtbar zu machen. Ein Umgehen und auf die lange Bank schieben wird nahezu unmöglich gemacht. Kanban geht davon aus, dass es von Vorteil ist, Schritte abzuschließen, anstatt zahlreiche Prozesse parallel laufen zu haben.

Zusätzliche, wesentliche Merkmale von Kanban sind klare Vereinbarungen darüber, wann ein Schritt abgeschlossen ist und eine ständige Beobachtung des visualisierten Arbeitsflusses, mit dem Ziel der Verbesserung der Arbeitsorganisation.

Das Prinzip der agilen Webentwicklung ist längst seinen Kinderschuhen entwachsen. Die Herausforderung besteht darin, die passende Methode zu Ihrem Projekt zu wählen und durch Erfahrung in der Umsetzung zum Optimum zu gelangen.