3.1 Factory-Varianten

Software Factories sind wieder in. Diesmal allerdings ohne gemeinsames Verständnis, was das denn sein soll. „Software Factory“ ist zur bloßen Phrase, zum reinen Buzzword verkommen. Es weckt Assoziationen wie „beherrschbar“, „vorherseh- und planbar“, „kostengünstig“, „steuerbar“, „überraschungs- und risikoarm“, „austauschbare Arbeitskräfte“, „standardisiert“, „automatisierbar“. Das kommt an, mehr oder weniger geheime Managerphantasien werden befriedigt: Mal Fabrikherr sein und den Takt hochdrehen bis die ersten Blaumänner umfallen wie die Kegel, dann 10% „Low-Performer“ rausnehmen und wieder hochdrehen, immer das Maximale rausholen. Auch an der Börse macht es sich gut: Software produzieren wie Autos, das versteht jeder. Bei genauerem Hinsehen lassen sich drei Varianten von Software Factories ausmachen.

Firmenorientierte Variante

Zahlreiche Firmen nennen sich gleich selbst „Software Factory“. Manche lassen sich dann noch als solche zertifizieren, mit ISO9001:2000 kann ja nichts mehr schief gehen. Andere stellen kundenspezifische Fabriken bereit:

„We, …, can setup a dedicated ‚Mini Software Factory‘ for you. The Software Factory can be as small as 6 people (One Programmer Analyst and 5 Programmers) to 25 people, with the skill set required by you. This helps companies ‚Test Waters‘ of working offshore, with a small, dedicated Development team, with minimum investment.“ (ACS)

Werkzeugorientierte Variante

Die werkzeugorientierte Variante wurde von Microsoft auf den Buzzword-Markt geworfen. Das aktuelle Entwicklungstoolset, Visual Studio, wird als „Software Factory“ vermarktet, genauer genommen als Werkzeug, solche zu erstellen: „General purpose IDEs become domain specific software factories“. Microsofts Software Factory ist nichts anderes als eine Ausprägung der modell-getriebenen Softwareentwicklung, die von der OMG (Object Management Group) als MDA (Model Driven Architecture) propagiert und standardisiert wird. Microsoft hat seine Variante auch theoretisch angereichert. Warum Microsoft nicht auf die UML setzt, begründen Greenfield und Short in ihrem durchaus lesenswerten Buch „Software Factories“. Sie ordnen ihre Software Factory in ein Gesamtkonzept ein: Eine höhere Abstraktionsstufe in der Programmierung ließe sich nicht mehr durch neue allgemeine Programmiersprachen erreichen; dazu bedürfe es spezialisierter Sprachen, ergänzt durch Patterns, Frameworks, Generatoren, Prozesse und Methoden. Davon versprechen sie sich Produktivitätssteigerungen durch Diversifikationsvorteile („Economy of Scope“): mehrere ähnliche, aber verschiedene Dinge sollen mit Hilfe spezialisierter Factories auf die gleiche Art und Weise produziert werden. Beim werkzeugorientierten Ansatz geht es in erster Linie um Automatisierung.

„Software Factories bestehen aus geschäftsspezifischen Werkzeugen, Prozessen und Inhalten und versprechen, die wiederholbaren und voraussagbaren Prozesse bei der Softwareentwicklung zu automatisieren.“ (Objektspektrum 1/2005)

In der Praxis reduziert sich die modellgetriebene Entwicklung auf die Erstellung und den Einsatz von Generatoren. Das kann eine feine Sache sein. Ob das dann als „Factory“ verkauft wird, ist da fast schon egal – für uns Entwickler/innen, nicht für die Microsofts, Borlands und IBMs, die ihr Zeugs verkaufen wollen.

Prozessorientierte Variante

Bei der prozessorientierten Variante spielen Tools eine untergeordnete Rolle. Die Software Factory soll in dieser Variante Produktivitätssteigerungen durch Größenvorteile, durch Massenproduktion, bringen („Economy of Scale“). Erzielt werden sollen sie durch eine Neuorganisation der Arbeit. Diese soll besser plan- und steuerbar sein. Aufgaben sollen in Niedriglohnregionen verlagert werden, der Weltarbeitsmarkt soll genutzt werden. Das Vorbild ist mal wieder die Autoindustrie. ‚Software Factory‘ steht in dieser Variante für Industrialisierung der Softwareentwicklung.

weiter

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: