Hasso-Plattner-Institut für Softwaresystemtechnik
Ingenieurskultur

Ingenieurskultur

Was ist Ingenieurskultur?

Am 5. Juli 2002 verlieh die Mathematisch-Naturwissenschaftliche Fakultät der Universität Potsdam die Ehrendoktorwürde an Hasso Plattner. Der Stifter äußerte sich in seiner Ansprache unter anderem zur Frage "Was ist Ingenieurskultur?". Er stellte einen Vergleich zwischen den Disziplinen Maschinenbau und Softwareingenieurwesen her und ging am Beispiel Automotor und softwarebasiertes Einkaufssystem auf grundlegende Unterschiede, aber auch wichtige Gemeinsamkeiten ein. Hier einige Auszüge:

"Im Gegensatz zum Motor, bei dem viele unterschiedliche Werkstoffe und Technologien eingesetzt werden, gibt es bei der softwarerealisierten Einkaufsmaschine nur einen einzigen Werkstoff, den speicherprogrammierbaren digitalen Rechner, und es gibt nur eine einzige Fertigungstechnologie, die Programmentwicklungsumgebung mit diversen Programmiersprachen und Verwaltungswerkzeugen.

Im Maschinenbau sind Technologie und Anwendungsgebiet viel näher untereinander verknüpft. Motorenbauer sind mit dem Automobil gedanklich fest verbunden: Sie fahren fast alle selbst Auto und kennen daher jeden Aspekt eines Motors im praktischen Betrieb. Bei unseren Softwareingenieuren ist eine Vertrautheit mit dem Anwendungsgebiet nur selten der Fall. Sie haben nur wenig oder gar keine Erfahrung mit den kaufmännischen Prozessen, für die sie Lösungen entwerfen. Die Betriebswirtschaftslehre und die Wirtschaftsinformatik haben in der Vergangenheit einiges in die Prozessmodellierung investiert, um ein besseres Verständnis von der Anwendung und ihrer Verknüpfung mit der Technologie zu ermöglichen.

Die Modellierung der Software selbst wurde immer wieder in Angriff genommen, aber meist als zu starr oder ideologisch geprägt wieder verworfen. Bill Gates sagte dazu, für ihn zähle nur eines, der Originalcode. Hier hat die ganze Softwarebranche einen entscheidenden Nachteil gegenüber klassischen Ingenieurdisziplinen. Sie hat keine formale Sprache zur Darstellung der Modelle, die eine offene Kommunikation zwischen allen Beteiligten ermöglichen würden. Stattdessen finden wir verschiedenste Ansätze von Text über PowerPoint-Darstellungen zu UML-Graphen von Rational Rose. Der Mangel an einer weltweit anerkannten Methodik zur Beschreibung von Softwaresystemen hindert uns zu kommunizieren und damit letztlich zu lernen. Erfahrungen können nicht im gleichen Maße weitergegeben werden wie im Maschinenbau oder der Elektrotechnik. Wieder verwendbare Komponenten sind nach wie vor nur Gegenstand von Verkaufspräsentationen und nicht alltägliche Praxis im Software-Engineering. Die komplizierteste Ingenieursdisziplin, das Softwareingenieurwesen, hat bei weitem die am geringsten entwickelte Methodik für Entwurf und Dokumentation. Häuser, Schiffe oder Computer könnten so nicht gebaut werden, aber die komplexesten Prozesse - ob in der Wirtschaftswelt oder in der Steuerung von Maschinen - entwickeln wir mit Early Prototyping. Ich gebe gerne zu, dass in den letzten Jahren durch die Konzepte der Objektorientierung deutliche Fortschritte gemacht wurden. Dennoch fehlt eine Beschreibungstechnik, die von fast allen Softwareingenieuren genutzt wird und die es ermöglicht, Erfahrungen schnell und ohne Übertragungsfehler auszutauschen. Man neigt dazu, immer wieder alles neu zu erfinden, obwohl es einen reichen Erfahrungsschatz gibt, der aber nicht gehoben werden kann. 

(...) Die von Leonardo da Vinci erfundenen und gezeichneten Maschinen können von uns heute noch nachgebaut werden. Wie wird unser Urteil in einigen Jahren über die Softwareindustrie ausfallen? Es wäre schön, wenn die akademische Welt zumindest den Notstand in der Softwaretechnik erkennen würde. Der Weg zu einer wirklichen Ingenieurskultur in der Welt der Software wäre dann viel klarer und weniger steinig".