[SL] Release-Zyklen verkürzen - das Investitionsrelease

Gestern haben wir erklärt, dass der Weg zu kürzeren Release-Zyklen über die Verringerung der Fixkosten für ein Release führt. Zur Erinnerung: Fixkosten sind Aufwand, der konstant bleibt, egal wieviele (oder wenige) Features wir in einem Release haben. Es geht also um Schritte wie Regressionstests, Security Review, die formelle Abnahme, Deployment.

Im Beispiel wollen wir von 4-wöchigen Releases (zu je 100 Personentagen) auf 2-wöchige Releases kommen, bei derzeitigen Fixkosten von 20 Personentagen (PT) pro Release, also einem Overhead von 20%.

Wenn wir einfach nur doppelt so oft ausliefern, verdoppelt sich leider auch der Overhead. Das lässt sich wahrscheinlich eher schlecht verkaufen innerhalb Ihrer Organisation. Statt dessen stellen wir uns die Aufgabe, die Fixkosten von 20 PT auf 10 PT zu halbieren, womit wir wieder bei akzeptablen 20% Overhead wären. Das ist nicht zum Nulltarif zu haben – irgendwoher müssen wir die Kapazität für die nötigen Veränderungen im Lieferprozess nehmen.

Als Lösung haben wir das Investitionsrelease entwickelt. Das Investitionsrelease ist ein Deal, den Sie den anderen Beteiligten anbieten: “OK, wir schalten ab sofort um auf den neuen Rhythmus. Seid Ihr im Gegenzug bereit, für einige Zeit weniger Features (Tickets, usw.) zu akzeptieren?” Ein Teil der Entwicklungs-Kapazität wird also umgewidmet, von der Produktion von Features zur Verringerung der Fixkosten.

In unserem Beispiel können wir die 50 PT aufteilen:

20 PT für Features und Bugfixes aus dem Produktivbetrieb. The show must go on. Es ist übrigens ratsam, die Kapazität für die Behebung von Bugs aus dem Produktivbetrieb nicht zu verringern. Im alten vier-Wochen-Zyklus konnten wir in zwei Wochen 40 PT für Features und Bugfixes verbrauchen, jetzt sind es nur noch 20 PT. Die Produktion von neuen Features wird also um mehr als 50% zurückgehen müssen.

10 PT für Verringerung des Release-Overheads. Diese Kapazität sollte möglichst früh im Releasezyklus eingesetzt werden, um zum Ende hin möglichst schon von Verbesserungen zu profitieren.

20 PT für Fixkosten (alt). Wir setzen hier den Aufwand bewusst vorsichtig an – falls wir in diesem Release noch keine wirksame Verbesserung erreichen können, bleibt es bei 20 PT. In der Praxis gibt es aber sehr oft Maßnahmen, die für wenig Aufwand schnell die Fixkosten des Releases verringern können.

Wenn Sie großes Glück haben, reicht ein Investitionsrelease aus, um die Fixkosten zu halbieren. Wenn nicht, dann hängen Sie ein oder mehrere weitere Investitionsreleases dran. Je nach politischer Großwetterlage können Sie die frei werdende Kapazität zur weiteren Verringerung der Fixkosten investieren, oder langsam die Rate an neuen Features wieder hochfahren. Es ist sinnvoll, den jeweiligen Zeitaufwand zu erfassen (Features, Bugfixes, Investition, Release-Overhead), um weitere Investitionen rechtfertigen zu können.

Bleibt noch zu klären, welche Investitionen wir zur Verringerung des Release-Overheads machen können. Dazu muss man manchmal die Perspektive der Software-Entwickler etwas zurechtrücken: Sie sind nicht nur für die Produktion von Features oder das Beheben von Bugs verantwortlich, sondern sollten ihre Fähigkeiten auch zur Unterstützung des gesamten Lieferprozesses einsetzen.

Alles, was irgendwo Zeitverluste verringern kann, ist ein Kandidat für eine Investition:

Im letzten Punkt kann man z.B. Bestellungen mit bestimmten Rabatten für die Tester mit einem Klick verfügbar machen. Allzu oft ist es ja so, dass ein Tester sich durch etliche Schritte klicken muss, bevor er das eigentlich zu testende Feature erreicht. Für solche Zeitverluste sind Entwickler manchmal etwas betriebsblind; es ist also sehr hilfreich, wenn Entwickler und Tester in demselben Team sind.

Die Investitionen kann man einfach priorisieren, indem man erfasst:

Dann wählt man die Investitionen, die mit möglichst geringem Entwicklungsaufwand möglichst viel Zeitersparnis erreichen.

Die Vorteile des Investitionsreleases sind:

Es hindert Sie natürlich niemand daran, die Investitionsreleases noch etwas fortzusetzen, bis der Overhead unter die ursprünglich akzeptierten 20% gefallen ist. Damit hätten Sie dann einen mehrfachen Nutzen: nicht nur größere Agilität, bessere Qualität und verringerte Verzögerungskosten durch schnellere Zyklen, sondern auch höhere nominelle Produktivität durch verringerte Fixkosten für Releases.

Und wir begrüßen es natürlich ganz besonders, wenn Sie auch nach einigen Investitionsreleases einen Teil Ihrer Kapazität weiterhin in die kontinuierliche Verbesserung Ihres Software-Lieferprozesses investieren.

Matthias Berth

Alle Emails