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
|