Agile Webentwicklung

Bild
Scrum

Wichtig in der Agilen Webentwicklung sind tägliche Meetings der Entwicklungsabteilung. Im englischen nennt man diese "Stand Up Meetings", dort bekommt jeder Entwickler nacheinander einmal das Wort und steht während er spricht auf, daher der Name. Jeder Entwickler berichtet was er gestern gemacht hat und was er heute plant zu tun.

Durch diese Methode erhält das Team sehr schnell einen Überblick darüber ob die Planung des Vortages einwandfrei in die Tat umgesetzt werden konnte, oder ob es Hindernisse gibt. Da letzteres sehr wahrscheinlich eintreten wird, gibt es nach dem Stand Up Meeting meistens im kleinerem Personenkreis weitere etwa 15 Minuten dauernde Kick Off Meetings, die dazu dienen die Hindernisse auszumerzen.

Information ist der Grundpfeiler der agilen Entwicklung. Durch schnelles Feedback vom Kunden, schnelles Feedback von der Entwicklungsabteilung, schnelles Feedback vom Continous Integration Server erschafft man sich nicht nur ein hochwertiges Produkt, sondern man sorgt auch für eine gute Motivation. So sind auch die Mitarbeiter letztendlich hoch motiviert, denn sie bekommen mit, dass die Arbeit, die sie zum Produkt beitragen hochwertig ist. Denn wäre dem nicht so, würde der Continous Integration Server berichten, dass die Builds fehlschlagen, der Kunde würde sagen "Nein, das ist nicht das was ich wollte". Durch Agile merkt man sehr schnell, wenn etwas nicht stimmen sollte.

Um ein Produkt so schnell wie möglich und dabei auch noch so hochwertig wie möglich zu produzieren, ist es von großer Wichtigkeit, das die Entwickler ungestört ihrer Arbeit nachgehen können und nicht ständig durch äußere Einflüsse gestört werden. Dazu gibt es einen neuen Mitarbeitertyp, in Englisch "the disturbed" genannt. Wenn ich meine Kollegen manchmal ärgern möchte, dann übersetze ich diese Rolle gerne wörtlich in "den gestörten". Der Name ist aber tatsächlich Programm, denn anstatt das jeder Entwickler ständig durch Kundentelefonate, Meetings oder Anfragen von Kollegen aus anderen Abteilungen aus seiner Arbeit gerissen wird, ist es viel sinnvoller diese Aufgabe für eine Zeit lang, einem einzigem Mitarbeiter aufzubürden, anstelle dies über das gesamte Team zu verteilen. Die undankbare Rolle des "gestörten" wird dann mit jedem Release, also in der Regel alle 14 Tage, jemand anderen treffen.

Agiles Projektmanagement

Auch das agile Projektmanagement unterscheidet sich vom herkömmlichen Entwicklungsprozess. Hat man in letzterem für gewöhnlich unheimlich große Dokumente und Kalkulationen, pickt man sich bei Agile zwischen 5 und 10 Punkte heraus, die für das aktuelle Release wichtig sind und hält diese Punkte laufend auf dem neuesten Stand. Für diese Art des Projektmanagements eignet sich am besten ein Wiki. Mitarbeiter haben hier über die Kommentarfunktion die Möglichkeit ihre Stellungnahmen, Ideen und Bedenken zu äußern. Auf diese Weise erhält das Management ständig einen Überblick über die aktuelle Lage. Es werden stets nur die Informationen vorgehalten, die für die aktuelle Version relevant sind.

Ein Wiki ist allgemein die beste Lösung für agilen Informationsfluss. Auch der Kunde kann hier eingebunden werden. Für meine eigenen Projekte richte ich stets ein Wiki ein, auf das auch der Kunde Zugriff hat. In seinem Dashboard, einer Art Startseite, erfährt er alle wichtigen Daten auf einen Blick. Diese Informationen umfassen die Zeit in Tagen bis zur Fertigstellung des nächsten Releases. Die Roadmap welche Funktionen im nächsten Release geliefert werden. Welche bekannten Fehler momentan noch in der Software stecken, welche Vorgänge zur Zeit bearbeitet werden und welche noch fertig gestellt werden müssen, um das Release abzuschließen. Diese Informationen werden zum Großteil aus der Projektverwaltungssoftware gezogen. In jedem Fall sind die Informationen tagesaktuell.

Normalerweise ist die Entwicklung der Software für den Kunden eine Art Black Box, bis die Software wirklich fertig ist kann er sich nur auf die Aussagen des Dienstleisters verlassen. Bei Agile ist er Teil des Entwicklungsprozesses selbst und kann den Fortschritt und die Richtung die das Projekt nimmt jederzeit mit steuern. Auf diese Weise hat man als Dienstleister nicht nur einen guten Ruf, da man letztendlich hochwertige Software erstellt, die den Erwartungen des Kunden auch tatsächlich entsprechen. Man hat vor allem aber einen zufriedenen Kunden.

Lesen Sie auf Seite 3 über Continous Integration »