Benutzer:Ksweber/Industrielle Softwareentwicklung
Unter industrieller Softwareentwicklung versteht man den Ansatz diese Wertschöpfungskette genauso effizient zu gestalten, wie dies mit Produktionsprozessen in anderen Branchen im Rahmen der Industrialisierung passiert ist.
Erfolgsfaktoren bei dem Übergang vom Handwerk zur industriellen Fertigung waren zwei Dinge:
- Spezialisierung (Arbeitsteilung)
- Automatisierung
In der Informatik hat man sich zwar bereits mit wiederverwendbaren Komponenten, Codegeneratoren und mit Modell zu Modell-Transformationen daran gemacht Automatisierungspotentiale zu heben, aber immer noch wird in vielen Projekten das Rad durch Informatiker neu erfunden. Da Raderfinder Generalisten sein müssen, kam es bisher nicht dazu die Effizienzsteigerungen durch Spezialisierung der beteiligten Personen zu realisieren.
Modellgetriebene Softwareentwicklung ist der vielversprechendste Ansatz bisher, beide Aspekte anzusprechen. Zum einen werden hier neben domänenspezifischen Sprachen und technischen Framework-Komponenten auch Codegeneratoren vorgesehen, die von einem Team von Generalisten erstellt werden. Zum anderen können im Anschluss deutlich weniger breit ausgebildete Mitarbeiter (Spezialisten) die Umsetzung von fachlichen Anforderungen an Software übernehmen.
Die Voraussetzungen, um nach dieser Aufgabenteilung ein Fließband (SPL) aufzuziehen sind:
- Es stehen mehrere Software-Aufträge an, die sich technologisch nicht unterscheiden, sondern nur in den fachlichen Anforderungen.
- Man hält eine einmal gewählte technologische Plattform, trotz kurzen 'Innovationszyclen' in der Informatik, für eine gewisse Zeit bei.
- Die zukünftigen Spezialisten sind bereit auf Egoismen zu verzichten und sich mit einer weniger abwechslungsreichen, weniger qualifizierten Arbeit zufriedenzugeben, die weniger Entlohnung bedeutet.
Entwicklung von Computerspielen
[Bearbeiten | Quelltext bearbeiten]Dort hat sie schon heimlich stattgefunden, die industrielle Revolution in der Software-Entwicklung: Es gibt SW-Entwickler, die die Game-Engine entwickeln und sehr viele Grafiker und Level-Designer, die gar nicht programmieren müssen (können) und entsprechend weniger verdienen.