Industrielle Revolution in der Softwareentwicklung

Vom Handwerker zum IT-Architekten

28.01.2011 von Peter Ilg
Die ingenieurmäßige Softwareentwicklung wird die Arbeitsteilung in der IT verstärken mit erheblichen Konsequenzen für die Qualifikation der IT-Fachleute.
Foto: Adroach/Fotolia.de

"Umbruch in der Softwareentwicklung", titulierte der IT-Branchenverband Bitkom unlängst eine Presseinformation. In der Industrie seien Standardisierung und Modularisierung seit langem etabliert, auch die Automatisierung würde seit Jahren vorangetrieben. Entsprechend effizient und ausgereift sei dort die Fertigung. "Nun wird auch in der IT ein industrialisiertes Vorgehen immer wichtiger. Die Ansprüche der Kunden an Schnelligkeit, Qualität und Preis sind gestiegen, ebenso der globale Wettbewerbsdruck", heißt es im Bitkom-Papier. Beide Trends würden europäische Softwarehersteller zwingen, effizienter und produktiver zu arbeiten.

Hohes Abstraktionsniveau

"Es ist Unsinn, von industrieller Softwareproduktion zu sprechen. Der Bitkom hat für eine richtige und wichtige Botschaft leider eine Metapher überstilisiert." Großserienfertigung gebe es in der Softwareentwicklung nicht, so Peter Liggesmeyer, wissenschaftlicher Direktor am Fraunhofer-Institut Experimentelles Software Engineering in Kaiserslautern und zugleich Inhaber des Lehrstuhls Software Engineering Dependability im Fachbereich Informatik der Technischen Universität Kaiserslautern. "Aber bei Software macht man sich zunehmend effiziente Mechanismen zu eigen, die ihren Ursprung in der Entwicklung von Industrieprodukten haben. Deshalb ist es besser von industrieller ingenieurmäßiger Softwareentwicklung zu sprechen", meint der Wissenschaftler.

Unter ingenieurmäßiger Softwareentwicklung versteht er die Anwendung von Techniken wie Standardisierung und Automatisierung in der Erstellung von Komponenten, Wiederverwendung von Standardkomponenten und reife Prozesse, die der Qualität dienen. Was die Skills der Softwareentwickler von morgen betrifft, geht er von einem höheren Abstraktionsniveau aus - und einer stärkeren Arbeitsteilung: Informatiker entwickeln die Modelle und Fachinformatiker codieren sie.

Bei T-Systems hat der Trend zur globalen Softwareentwicklung deutliche Spuren hinterlassen. "Innerhalb von zwei Jahren haben wir rund 1500 Stellen in der Softwareentwicklung abgebaut, weil diese Mitarbeiter aufgrund ihrer Qualifikation den neuen Weg nicht mitgehen konnten", sagt Ulrich Meister, Leiter des Bereichs Systems Integration. Rund 2000 Beschäftigte wurden in dreimonatigen Schulungen auf die neuen Anforderungen vorbereitet und etwa 1400 junge Informatiker, primär Hochschulabsolventen und Young Professionals, will T-Systems einstellen. "Wir wurden vom Markt zu diesen Schritten geradezu gezwungen, weil nur Standardisierung in der Softwareentwicklung zu günstigeren Preisen führt."

Lernen von der Automobilindustrie

Ulrich Meister, T-Systems: "Innerhalb von zwei Jahren haben 1500 Stellen in der Softwareentwicklung abgebaut."
Foto: T-Systems

Im Bereich Systems-Integration arbeiten rund 14.000 Mitarbeiter weltweit, die eine Hälfte davon im Ausland, die andere in der High-Cost-Region Deutschland. Standardisierung bei T-Systems ist vergleichbar mit Just-in-Time-Produktion in der Automobilindustrie: Wer immer gerade eine Software montiert, greift auf bestehende Komponenten zu. "Man muss nicht jedes Mal das Rad neu erfinden", bemüht Meister eine altbekannte Weisheit - die T-Systems heute konsequent umsetzt.

Wiederum die Automobilbranche kann zeigen, wie das Unternehmen in der Herstellung von Software ingenieurmäßige Ansätze nutzt: während das Auto am Fließband entlang läuft, werden die Komponenten bereitgestellt. In der Softwareentwicklung fließen in das Modell die von Zulieferern gefertigten Komponenten ein, daraus entsteht die finale Applikation - nach individuellen Kundenwünschen, generiert aus zugelieferten Standards.

Billigere und schnellere Entwicklung

"Vor etwa drei Jahren haben wir damit begonnen, die Organisation so auszurichten, dass in allen Ländern die gleichen Strukturen und Prozesse herrschen. Standardisierung setzt beides voraus. Vor etwa zwei Jahren haben wir die ersten Softwarekomponenten im Intranet bereitgestellt zur Herstellung der Programme", so Meister. In der Vergangenheit seien Softwareentwickler Handwerker gewesen, die jeden Auftrag individuell ausgeführt haben. "Heute sind die Informatiker in Deutschland Architekten und Einkäufer, die auf Programmkomponenten zugreifen, die in Billiglohnländern codiert wurden", so Meister. Um den Forderungen des Markts gerecht zu werden, "haben wir einfach die Pyramide gedreht: Heute beschäftigen wir weniger Programmierer, dafür viel mehr Architekten." Dahin floss das Geld für die Qualifizierung. T-Systems konnte eigenen Angaben zufolge durch ingenieurmäßige Softwareentwicklung seine Produktionskosten um ein Drittel senken und wurde durch einen Rückgang des Zeitaufwands um ein Viertel zudem deutlich schneller. Den Kunden ist beides recht.

In Aschaffenburg könnten die Botschaften von Bitkom und T-Systems wie aus grauer Urzeit wirken. Schon 1981 verkündete der Firmengründer der Pass Consulting Group, Gerhard Rienecker, vor Unternehmensvertretern: "Software sollte nicht mehr entwickelt, sondern produziert werden." Gesagt, getan. Seitdem produziert das Unternehmen anhand moderner Produktionsverfahren wie individuelle Geschäftsanwendungen. Sie werden zu 80 Prozent aus wiederverwertbaren Komponenten generiert.

Der 32-jährige Informatiker Florian Lieb leitet das Competence Center ‚Core Technologies’ im Bereich Forschung und Entwicklung bei Pass. "Unsere Software Factory ist ein Entwicklungsparadigma, in dem möglichst viel automatisiert ist. Die Anwendung steht unseren Entwicklern 24 Stunden am Tag zur Verfügung, sieben Tage die Woche und der Generator produziert deutlich weniger Fehler als ein Mensch." Daher kann das Unternehmen Individualsoftware zum Preis von Standardsoftware anbieten. Auch die Aufgaben haben sich verändert. "Bei uns sind Entwickler nicht mehr verantwortlich für die Umsetzung von Modulen, sie entwickeln die Modelle und die Programme entstehen quasi auf Knopfdruck im Generator, " erzählt Lieb.

Weniger Routinearbeiten

Timo Bozsolik ist ebenfalls Informatiker und auch Mitarbeiter bei Pass. Im Gegensatz zu seinem Kollegen Lieb ist er Anwender der Software Factory. "Softwareentwicklung nach ingenieurmäßigen Maßstäben betrifft uns Informatiker überall: in den Prozessen, der Qualitätssicherung und in den Programmen selbst", sagt Bozsolik. Alles was Routine und damit eintönig sei, komme aus der Software Factory. "Dadurch kann ich mich auf die wirklich spannenden Dinge konzentrieren, nämlich abstrakte Modelle zu generieren", freut sich der Pass-Informatiker. Dafür seien vor allem analytisches Denken und Verständnis für das fachliche Modell notwendig. Nach Meinung von Lieb und Bozsolik würde beides an den Hochschulen vermittelt. Im Fall ingenieurmäßiger Softwareentwicklung hinkt die Industrie der Ausbildung nach.

Wege zur industriellen Softwareentwicklung

Der Bitkom-Leitfaden "Industrielle Softwareentwicklung" beschreibt, wie eine solche Produkterstellung aussehen kann, welche Verfahren bisher angewendet wurden und welche Resultate zu erwarten sind. Zudem zeigt die Publikation Wege zur industriellen Softwareentwicklung auf anhand unterschiedlicher Industrialisierungsansätze wie Standardisierung, Automatisierung und Spezialisierung. Der Leitfaden kann auf der Bitkom-Homepage kostenlos heruntergeladen werden. www.bitkom.org

Interview: "Wir sind auf dem Weg zur Arbeitsteilung"

Peter Liggesmeyer, Fraunhofer-Institut: "Es schadet einem Architekten nicht, wenn er weiß, wie man mauert. Genauso sollte ein Informatiker Programmiersprachen beherrschen."
Foto: Fraunhofer-Institut

Softwareentwicklung nach ingenieurmäßigen Vorbildern hebt das Niveau von Informatikern, meint Peter Liggesmeyer, wissenschaftlicher Direktor am Fraunhofer-Institut Experimentelles Software Engineering in Kaiserslautern, zugleich Inhaber des Lehrstuhls Software Engineering Dependability im Fachbereich Informatik der Technischen Universität Kaiserslautern.

CW: Welche Auswirkungen hat industrielle Softwareentwicklung auf die Arbeit von Softwareentwicklern?

LIGGESMEYER: Die Qualifikationen verschieben sich. Wurde noch vor zehn Jahren exorbitant großer Wert auf die sichere Beherrschung von Programmiersprachen gelegt, gewinnt das Wissen um höhere Modelliersprachen an Bedeutung. Softwareentwickler müssen in der Lage sein, ein Problem auf einem höheren Abstraktionsniveau adäquat zu beschreiben. Schon heute gibt es häufig den klassischen Programmierschritt nicht mehr, der ja nur dann erforderlich ist, wenn ein Modell per Hand in Codes umgesetzt werden muss.

CW: Und wer kümmert sich dann um die Codierung, erfolgt die noch mehr im Ausland?

LIGGESMEYER: Nein, ich meine, dass die Fähigkeit zu codieren, immer stärker die Kernkompetenz von IT-Ausbildungsberufen sein wird. Probleme zu durchdringen und diese geeignet zu modellieren, das ist die akademische Expertise von Informatikern.

CW: Das ist eigentlich nichts anderes, als die in anderen Ingenieurdisziplinen übliche Arbeitsteilung.

LIGGESMEYER: Ja, Bauingenieure oder Architekten planen ein Gebäude, Bauzeichner machen die Reinzeichnung, heutzutage selbstverständlich am Computer und dreidimensional. Diese Kombination aus Akademikern und Ausbildungsberufen gibt es auch im Maschinenbau oder der Elektrotechnik, um zwei weitere Beispiele zu nennen. In der Informatik sind wir auf demselben Weg.

CW: Bedeutet das, dass sich ein moderner Softwareentwickler nicht mehr mit modernen Softwaresprachen auskennen muss?

LIGGESMEYER: Um bei der Metapher von eben zu bleiben: Es schadet einem Architekten oder Bauingenieur nicht, wenn er weiß, wie man mauert. Genau so selbstverständlich sollte ein Informatiker Programmiersprachen beherrschen. Er wird die Fähigkeit aber nicht mehr jeden Tag im Beruf nutzen.

CW: Die neue Art der Arbeitsteilung mag bei Neuentwicklungen funktionieren. Funktioniert sie auch bei bestehenden Systemen?

LIGGESMEYER: Große Softwaresysteme können nicht von heute auf morgen abgelöst werden, schon aus finanziellen Gründen nicht. Deshalb wird künftig noch sehr viel Aufwand in Wartungsprogrammierung gesteckt werden müssen. Doch auch hier stellt sich die Frage: Müssen das zwingend teuere Akademiker machen? Ich meine, sie sollten die Struktur vorgeben und Fachinformatiker diese umsetzen.