Ich bin ein großer Fan von agiler Entwicklung und habe XP vor ein paar Jahren bei einem sehr erfolgreichen Projekt eingesetzt. Ich mochte alles daran, den iterativen Entwicklungsansatz, das Schreiben von Code für einen Test, die Paarprogrammierung und die Möglichkeit, einen Kunden vor Ort zu haben, der die Dinge ausführt. Es war ein hochproduktives Arbeitsumfeld, und ich hatte nie das Gefühl, unter Druck zu stehen.
Die letzten Orte, an denen ich gearbeitet habe, verwenden Scrum. Ich weiß, dass es heutzutage das Aushängeschild für agile Entwicklung ist, aber ich bin nicht zu 100% davon überzeugt, dass es agil ist. Im Folgenden sind die beiden Hauptgründe aufgeführt, warum es sich für mich einfach nicht agil anfühlt.
Projektmanager lieben es
Projektmanager, die von Natur aus von Zeitplänen besessen sind, scheinen Scrum zu lieben. Meiner Erfahrung nach verwenden sie das Sprint-Backlog, um den Zeitbedarf zu verfolgen und aufzuzeichnen, wie viel Zeit für eine bestimmte Aufgabe aufgewendet wurde. Anstelle eines Whiteboards verwenden sie alle ein Excel-Blatt, das jeder Entwickler religiös ausfüllen muss.
Meiner Meinung nach ist dies viel zu viel Dokumentation / Zeiterfassung für einen agilen Prozess. Warum sollte ich Zeit damit verschwenden, abzuschätzen, wie lange eine Aufgabe dauern wird, wenn ich nur mit der Aufgabe selbst weitermachen kann? Oder warum sollte ich Zeit damit verschwenden, zu dokumentieren, wie lange eine Aufgabe gedauert hat, bis ich mit der nächsten Aufgabe weitermachen kann?
Stand-up-Meetings
Die Stand-up-Meetings, an denen ich zuvor gearbeitet habe, waren ein Albtraum. Jeden Tag mussten wir erklären, was wir gestern getan hatten und was wir an diesem Tag tun würden. Wenn wir unsere "Zeitschätzung" für eine Aufgabe überarbeiten würden, würde der Projektmanager einen Gestank hervorrufen und das Sprint-Backlog als Mittel zur Anzeige von Inkompetenz heranziehen, die Sie haben, wenn Sie sich nicht an die Zeitlinie halten.
Jetzt verstehe ich die Notwendigkeit der Kommunikation, aber sicherlich sollte der Ton der täglichen Besprechungen unbeschwert sein und sich auf den Wissensaustausch konzentrieren. Ich denke nicht, dass es zu einer Scharade im Stil deiner Hausaufgaben werden sollte. Der entscheidende Punkt von Agile ist sicherlich auch, dass sich die Zeitleisten ändern und nicht in Stein gemeißelt werden sollten.
Fazit
Die Idee von Agile ist es, die Software zu verbessern, indem den Entwicklern das Leben leichter gemacht wird. Daher sollte meiner Meinung nach jeder agile Prozess, der von einem Team verwendet wird, vom Entwickler geleitet werden. Ich glaube nicht, dass es etwas mit agiler Entwicklung zu tun hat, wenn ein Projektmanager einen Prozess verwendet, den er als "agil" bezeichnet hat, um ein Projekt zu verfolgen.
Gedanken jemand?