Die Idee zu einer Software beginnt oft mit relativ unspezifizierten Anforderungen, eine Ausgangsbasis die konkrete Planungen zu Zeit, Kosten und Ressourcen schwierig macht. Obwohl wahrscheinlich kein Hobbykoch den Kauf seiner neuen Ikeaküche ohne einen exakten Plan sämtlicher Schubladenknöpfe initiieren wird beginnt die Entwicklung von neuer Software meist ohne jeglichen Plan und schlängelt sich weiter mit ausreichendem Plan dahin.
Ein nicht vorhandener guter Plan mag im Zeitalter der agilen Entwicklungsmodelle nicht mehr so tragisch wie unter dem großen V-Modell sein, trotzdem muss jedes Softwareprojekt bei allen agilen Analyseschleifen zu einem Zeitpunkt X die Anforderungen Y erfüllen. Die Frage nach „mehr Ressourcen“ scheint da vorprogrammiert nur eine Frage des Wann’s zu sein und musste jüngst wieder von uns beantwortet werden.
Das die Montierung von Reifen fünf und sechs an einem Auto nicht zu einer Geschwindigkeitssteigerung von 50% führen wird scheint klar, ebenso der mangelnde Platz für die zusätzlichen Reifen oder Unsinn einer unorthodoxe Positionierung auf dem Dach – aber an was soll man bei einem „Neuen“ im Entwicklerteam denken? Folgend sollen zwei Punkte mit unseren Erfahrungen reflektiert werden.
Einarbeitungsaufwand
Mit steigender Projektkomplexität muss mit einem gewissen Einarbeitungsaufwand für einen neuen Entwickler gerechnet werden, aber wie hoch ist dieser?
- 40h gingen auf Einrichtung von Entwicklungsumgebung – Einführung in die örtlichen Gegebenheiten zu Dokumentation, Patching, Entwicklungsprozess, Aufgabenbearbeitung – Erklärung von Terminologie und dem funktionellen Inhalt der Software. Den Zeitaufwand halte ich für nicht minimier bar, da gute Ergebnisse nur mit fundiertem Basiswissen möglich sind.
- 36h gehen zu lasten der Einarbeitung in die vorhandene Programmierwelt oder anders gesagt, ein routinierter Entwickler hätte in den ersten vier Arbeitswochen die gleichen Ergebnisse mit 36h Programmierstunden weniger geleistet.
- 80h gehen in die Betreuung der ersten Entwicklungsarbeiten. In unserem Fall war es unablässig, dass in den ersten vier Einarbeitsungswochen für alle Aufgaben ein zweiter Entwickler mit Rat, Tat und Zeit zur Seite stand.
Nach dieser Rechnung gilt es nach einer Einarbeitungsphase 160h Arbeitsstunden einzuholen, diese würden sich meiner Meinung nach ca. 2-3 Monaten zeitlich einspielen.
Koordinierung der Entwicklungsarbeit
Ist die Phase der Einarbeitung abgeschlossen gilt es die zusätzliche Entwicklungskapazität möglichst zielorientiert zu koordinieren. Relativ pragmatisch lässt sich aus der Verteilung unserer Arbeitsstunden ermitteln, dass gut 25% Vorbereitungszeit zu der Entwicklungsarbeit dazu kommen- sprich für 20h Entwicklungsstunden sind organisatorische 5h zu leisten. Auf vier Entwickler kommt nach dieser Annahme zusätzlich eine volle Arbeitsstelle für die organisatorischen Aufgaben, dies muss bedacht und passend verteilt werden.
Fazit
Mehrwert und Handelbarkeit von einem „Neuen“ im Entwicklungsteams sind im Vorfeld schwer abzuwiegen. Die angeführten Eckwerte halte ich in dieser Form aber für sehr interessant und warte auf die Möglichkeit diese weiter zu belegen und auszubauen. So oder so, einen fünften Reifen werde ich mir zumindest in den Kofferraum legen und schauen was mein Dach hergibt.