Produzieren wie in der Fabrik

16.02.2006
Von Uwe Vehlies
IBM treibt industrialisierte Softwareentwicklung mit ihrer "Software Factory" auf die Spitze.

Die IT-Abteilungen brauchen innovative und flexible Methoden, mit denen sie Anwendungssoftware entwickeln, pflegen und auf ihre Geschäftsanforderungen zuschneiden können. Traditionelle Verfahren der Softwareentwicklung kalkulieren mit relativ langen Entwicklungszeiten und hohem Ressourcenverbrauch. Dabei werden Termine häufig nicht gehalten, und/oder die Kosten ufern aus. Die Folge: Die IT verbleibt in einem reaktiven Modus und schafft keinen zusätzlichen Wert für das Unternehmensgeschäft.

Hier lesen Sie ...

  • wie IBM entsprechend einer Software Factory im Timebox-Verfahren entwickelt;

  • warum Anforderungen ständig verändert und neu priorisiert werden;

  • warum die Projektteams konzentriert an einer Lokation arbeiten müssen.

Während beim traditionellen Verfahren alles den fixen Anforderungen untergeordnet wird, geht es beim Software-Factory-Ansatz darum, die Anforderungen selbst zu flexibilisieren.
Während beim traditionellen Verfahren alles den fixen Anforderungen untergeordnet wird, geht es beim Software-Factory-Ansatz darum, die Anforderungen selbst zu flexibilisieren.

Der Software-Factory-Ansatz soll deshalb den Gedanken der Industrialisierung auf die Softwareentwicklung und -pflege übertragen. Projekte zum Entwickeln und Betreuen von Anwendungssoftware werden wie Fließbandarbeit betrachtet. So können sie unter einem konstanten, planbaren Budgetrahmen abgewickelt werden. Gleichzeitig lassen sich die Entwicklungszyklen reduzieren und eine hohe Qualität erreichen.

Der wesentliche Unterschied zu den traditionellen Verfahren besteht darin, dass Zeit und Ressourcen konstant gehalten und die Entwicklungsanforderungen variabel erfüllt werden - jeweils gestaffelt nach Größe und Priorität. Dies geschieht termingerecht mit Hilfe fest zusammengesetzter Teams. Realisiert wird diese Vorgehensweise mittels des so genannten Timebox-Verfahrens, das eine iterative Softwareentwicklung erlaubt.

Fest stehen Zeit und Ressourcen

Eine Timebox wird definiert durch eine vorgegebene Zeit und Anzahl von Ressourcen, die zur Verfügung steht. Zur Umsetzung der Projekte werden die Anforderungen (Entwicklungsaufgaben) zunächst so weit in kleinere Teilanforderungen zerlegt, bis diese innerhalb einer Timebox realisiert werden können. Die Zuordnung zu den Timeboxen erfolgt über eine Priorisierung der Teilanforderungen.