Beispiel für Produktivitäts - Tuning: Konfigurations- und Release-Management

Ein weitereres Beispiel dafür, wie es in Softwareprojekten leicht zu erheblichen Mehraufwänden kommen kann, ohne dass es auffällt, ist das Konfigurations- und Release-Management.

Wenn größere Software-Applikationen erstellt werden, ist es üblich, dass die verschiedenen Mitarbeiter/Teams nur an einzelnen Teilen der Software arbeiten, während sie von den anderen Teilen dieser Software jeweils nur eine ältere Version benutzen, die von anderen Mitarbeitern/Teams als lauffähig freigegeben wurden. Denn wenn jeder jeweils die letzte Version der gesamten Software nutzen würde, würde jeder über die Fehler der anderen stolpern und keiner käme mehr voran.

Daher muss jeder von Zeit zu Zeit eine Version seiner Software (ein Release) erstellen, die von anderen genutzt werden kann und damit andere darauf einfach zugreifen können, wird diese Version jeweils gelabelt. Jeder kann sich dann entscheiden, welche Version welcher anderen Teile er als Grundlage für seine Entwicklung nutzen will.

Bei diesem Prozess des Labelns und der Release-Erstellung gibt es zwei wichtige Stellschrauben. Erstens kann definiert werden, wie groß die einzelnen gelabelten Module sind (und wie viele es demnach davon gibt) und zweitens kann festgelegt werden, in welchen zeitlichen Abständen jeweils Releases erstellt und gelabelt werden sollen.

Obwohl sich dies zunächst nach technischen Details anhört, mit denen sich ein Projektleiter oder gar Auftraggeber nicht beschäftigen sollte, haben diese beiden Stellschrauben doch großen Einfluss darauf, wie schnell das Projekt als Ganzes voranschreitet. Denn erstens ist mit jeder Release-Erstellung Aufwand für einen beträchtlichen Teil der Mitarbeiter des Projektes verbunden (der typischerweise zwischen 1 Stunde bis 3 Tagen pro Mitarbeiter liegt und von den Details des Projektes abhängt), so dass eine zu häufige Release-Erstellung und zu kleine Module zu erheblichen Mehraufwänden führt. Zweitens führt aber eine zu seltene Erstellung von Releases dazu, dass Mitarbeiter oder Teams zeitweise nicht mehr weiter arbeiten können, weil sie erst auf das nächste Release warten müssen. Dies führt leicht zu Workarounds, zu Prereleases und allen Arten von Problemen.

Irgendwo gibt es eine optimale Einstellung, die jedoch von den spezifischen Eigenheiten des Projektes abhängt. Für ein konkretes Projekt kann dieses Optimum beispielsweise bei 2 Tagen pro Monat und Mitarbeiter liegen. Bei einer nicht optimalen Einstellung kann dies aber auch auf 6 Tage pro Monat und Mitarbeiter steigen. Obwohl dies der Dreifache Aufwand wie bei der optimalen Einstellung, fällt dies oft nicht auf, da ja kein direkter Vergleich mit der 2 Tage-Einstellung möglich ist. Vielleicht wird der eine oder andere Unmut äußern ob der vielen Zeit, die in die Release-Erstellung reingeht, aber dieser dringt oft nicht bis zum Projektleiter oder gar Auftraggeber vor. Trotzdem führt diese nicht optimale Einstellung bei einer Laufzeit von einem Jahr für das Projekt zu 12*4 = 48 Tagen Mehraufwand, also mehr als 2 Monaten, also 16% des Gesamtaufwandes!

Wer ist für die fehlerhafte Einstellung und den sich daraus ergebenden Zeitverlust verantwortlich ?

Wenn Sie kein Produktivitäts-Tuning in Ihrem Projekt einsetzen, ist in Ihrem Projekt vermutlich niemand dafür verantwortlich! Projektleiter und Auftraggeber werden sich oft nicht mit diesen technischen Details der Modulgrößen und Release-Zyklen auseinandersetzen, sondern verlassen sich hierbei beispielsweise auf die Spezialisten in Punkto Release- und Konfigurations-Management. Diese werden sich aber oft darauf beschränken, den Prozess der Releaseerstellung möglichst reibungslos zu organisieren. Schließlich sind die technischen und organisatorischen Schwierigkeiten dabei bereits groß genug. Schon die Tools, die dazu eingesetzt werden, sind recht komplex. Daher wird es diesen Spezialisten oft egal sein, ob der Aufwand um den Faktor 2 oder 3 höher oder geringer ist. Sie müssen es ja nicht bezahlen. Im Gegenteil, sie verdienen ja sogar daran. Erschwerend kommt noch hinzu, dass eine Veränderung der Einstellung dieser beiden Stellschrauben mit allen im Projekt abgesprochen werden muss und daher natürlich i.a. auch auf erhebliche Widerstände trifft. So kommt es, dass die Einstellung dieser beiden Stellschrauben oft aufgrund irgendwelcher Zufälle getroffen wird und dann nicht mehr verändert wird.

Wieviel kann man sparen ?

Falls in einer Produktivitätsanalyse vom technischen Projektleiter oder einem dedizierten Produktivitäts-Manager die korrekte Einstellung dieser beiden Stellschrauben bestimmt wird, können in diesem Beispiel im Extremfall 48 Tage pro Mitarbeiter gespart werden, bei 20 Mitarbeitern also 960 Personentage. Der Aufwand für die korrekte Ermittlung dieser Stellschrauben liegt oft bei nur 5-10 Tagen für den Produktivitäts-Manager. Ein Wechsel der Einstellung dieser Stellschrauben kostet vielleicht noch einmal 2 Tage pro Mitarbeiter, also weitere 40 Personentage, insgesamt also bei 50 Personentagen. Als Gesamtersparnis ergeben sich in diesem Beispiel ca. 900 Personentage. Selbst wenn dies im konkreten Projekt geringer ist, so lohnt sich nichtsdestotrotz die anfängliche Investition von 5-10 Tagen, um die optimale Einstellung zu finden.

Zurück zur Übersicht

 
     © 2012 IT Consulting Sandhorst  Alle Rechte vorbehalten      Impressum      Disclaimer