Anwender können zwischen vier Einführungsstrategien wählen, aber:

Mit neuer SW-Technik ist die alte Programmierer-Garde überfordert

21.08.1987

Die Einführung einer neuen Software-Technologie in eine gewachsene Datenverarbeitungsabteilung ist ein traumatisches Erlebnis. Sie verlangt von den Betroffenen einen oft radikalen Umdenkungsprozeß und kommt dem Erlernen einer neuen Sprache gleich. Es darf daher niemanden wundern, wenn die Betroffenen Widerstand leisten, und wenn die neue Technologie abgelehnt wird. Echte Erfolge sind nur langfristig zu erreichen. Warum dies so ist, schildert der Beitrag von einem Veteranen zahlreicher solcher Kulturrevolutionen - Harry Sneed*.

Menschen sind Gewohnheitstiere. Keine Macht in ihrem Leben ist so stark wie die Macht der Gewohnheit. Dies trifft nicht nur für ihre Alltagsroutine, sondern in besonderem Maße für ihre Denkweise zu - getreu nach dem alten Spruch "Was Hänschen nicht lernt, lernt Hans nimmermehr".

Wer einmal eine Sprache lernt, wird von ihr für immer und ewig geprägt. Die Sprache bestimmt die Denkweise, das Bewußtsein und sogar die Werturteile. Nur wenigen Menschen gelingt es, in einer zweiten Sprache voll handlungsfähig zu werden, und noch weniger schaffen es in einer dritten Sprache. Irgendwo ist die geistige Flexibilität überfordert, vor allem, wenn man älter wird.

Was für natürliche Sprachen wie Deutsch, Englisch und Französisch zutrifft, gilt ebenso für künstliche Sprachen wie Fortran, Cobol, PL/1 und Natural. Denn so wie man lernt, seine Gedanken in Deutsch auszudrücken und seine Mensch/Mensch-Kommunikationsaufgaben in dieser Sprachwelt zu erledigen, so ist es auch Trainingssache, sich in Cobol oder Natural auszudrücken und seine Mensch/Maschine-Kommunikationsaufgaben in dieser Sprachumgebung abzuwickeln. Die Programmiersprache entscheidet, wie man denkt und handelt; sie bestimmt sogar die Werturteile, also, das, was als gute beziehungsweise schlechte Programmierpraxis gilt.

Aus diesem Grunde kam Professor Dijkstra schon Anfang der 70er Jahre zu dem Schluß, daß "Strukturierte Programmierung" in der Praxis nur durch einen Generationswechsel zustande kommen könne. Seine These war, daß jemand, der gewohnt ist, seine Programmabläufe als Netze zu betrachten, sie niemals in einer Baumstruktur darstellen kann. Heute, nach 15 Jahren, muß man ihm im großen und ganzen Recht geben. Nur wenige Programmierer haben es geschafft, von der unstrukturierten GOTO-gesteuerten Programmierweise auf einen strukturierten GOTO-freien Programmierstil umzusteigen. Die Mehrzahl der strukturierten Programme, die heute in Betrieb sind, wurde von Leuten geschrieben, die die strukturierte Programmierung von Grund auf gelernt haben.

Das Erlernen einer Sprache der vierten Generation verlangt, daß man sehr viel von dem, was man in der dritten Generation benutzt, vergißt. Für denjenigen, der nichts zu vergessen hat, ist dies relativ leicht. Aber für jemand, dessen Gehirn schon mit den zweiten und dritten Sprachgenerationen überlastet ist, kann dies sehr schwierig sein. Daher verlangt James Martin, daß die Programmierer nach Altersgruppen getrennt werden. Die älteren Programmierer sollten die alten Programme in Assembler oder Cobol weiterwarten. Aufgabe der jüngeren Programmierer sei es, die neuen Programme in den neuen Sprachen zu entwickeln. In seinem Buch "Manifest für die Informationstechnologie von morgen" ruft Martin zum Generationswechsel auf: Nur die junge Generation schafft es, die neuen Technologien zu beherrschen; die alte Generation ist zu sehr mit der Vergangenheit belastet.

Die Schwierigkeiten, mit denen die Einführung einer neuen Programmiersprache behaftet ist, sind relativ klein im Verhältnis zu den Problemen, die bei der Einführung von Software-Engineering im weiteren Sinne auftreten. Denn hier gilt es, nicht nur eine neue Sprache, sondern mehrere gleichzeitig zu erlernen. Neben der Programmiersprache gibt es die Spezifikationssprache und die Testsprache. Möglicherweise gibt es sogar noch eine Planungssprache. Von einem einzigen Menschen ist nicht zu erwarten, daß er sich in alle diese Sprachen einarbeitet - nicht einmal wenn er dazu bereit ist. Da ist fast jeder Mensch überfordert.

Infolgedessen treten bei der Einführung von Software-Engineering neben den Problemen des Umlernens zusätzlich noch die Probleme des Umorganisierens auf. Ohne Umorganisation ist die Einführung von Software-Engineering unmöglich. Es müssen neue Berufsbilder geschaffen werden, zum Beispiel:

- Systemplaner, die der Planungssprache mächtig sind;

- Organisatoren, die die Spezifikationssprache beherrschen;

- Entwickler, die in der Entwurfs- beziehungsweise Programmiersprache firm sind, und

- Tester, die sich mit der Testsprache auskennen.

Wie diese Berufsträger letztendlich zusammengesetzt sind, ist eine andere Frage. So könnten sie alle in Teams oder Projektgruppen zusammengefaßt oder in separaten Abteilungen voneinander organisatorisch getrennt werden. Wichtig ist, daß es diese Berufsbilder gibt und daß sie ihrer neuen Sprachwelt mächtig sind.

In Anbetracht der notwendigen Lern- und Umorganisationsarbeiten wird es klar, warum Software-Engineering so wenig verbreitet ist. Wenn die Einführung einer Sprache der vierten Generation in einer Entwicklungsgruppe von 20 bis 30 Mitarbeitern heute mindestens ein Jahr dauert und 500 000 Mark kostet, so wird sich die Einführung von Software-Engineering einschließlich formaler Spezifikation, Entwurfsmethodik, Programmiersprache und Testverfahren auf mindestens drei Jahre und 2 Millionen Mark belaufen. Letzteres ist für viele Unternehmen eine zu hohe Schwelle. Dazu kommt das hohe Risiko der Nichtakzeptanz, was bei einer Sprache der vierten Generation erheblich niedriger ist. Dies erklärt wiederum, warum 4GL-Produkte relativ populär sind, während Software-Engineering nur in einigen Großbetrieben Fuß gefaßt hat.

Schließlich kommt die Frage der Akzeptanz. Neue Technologien, die eine Änderung der Denk- und Kommunikationsmuster verlangen, stoßen auf wesentlich mehr Widerstand als Technologien, die nur eine Änderung in der physischen Arbeit verlangen. Es ist anscheinend für die Menschen viel schwieriger, sich geistig umzustellen, als sich körperlich einer neuen Situation anzupassen. Hinzu kommt, daß die Automatisierungstechnologien im physischen Bereich normalerweiser eine physische Entlastung der Menschen mit sich bringen. Die Arbeit wird erleichtert, nicht aber neue Technologien im geistigen Bereich. Sie verlangen noch mehr an geistigen Anstrengungen von den betroffenen Menschen. Die geistig einfachen Aufgaben werden automatisiert, die geistig anspruchsvollen werden hingegen noch anspruchsvoller. Menschen, die in der Lage sind, ein Programm zu schreiben, können das gleiche Programm oft nicht auf einer höheren Abstraktionsebene spezifizieren. Demzufolge werden neue Technologien im geistigen Bereich abgelehnt.

Welche Strategien bieten sich an, um die Akzeptanz der Betroffenen zu gewinnen? Die Frage ist wahrlich nicht leicht zu beantworten.

- Der evolutionäre Weg

Neue Mitarbeiter ohne gegenteilige Erfahrung und ohne Vorurteile werden eingestellt und von Anfang an in der neuen Technologie geschult. Dieser Weg ist relativ schmerzlos. Die erfahrenen Mitarbeiter werden geschont. Man braucht sich auch nicht mit ihnen auseinanderzusetzen, sondern läßt sie einfach weiterwurschteln. Allmählich werden sie durch die jungen Mitarbeiter ersetzt. Dies kann natürlich Jahrzehnte dauern.

- Der freiwillige Weg

Den Mitarbeitern wird freigestellt, ob sie die neuen Technologien erlernen wollen oder nicht. Nur wer sich freiwillig meldet, wird umgeschult und mit dem neuen Ansatz betraut. Die anderen werden in Ruhe gelassen, um in ihrer bisherigen Arbeitsweise weiterzumachen. So vermeidet man Konflikte. Natürlich können Mitarbeiter sich immer noch für die neue Technologie entscheiden. Wer sich freiwillig meldet, muß auch entsprechend belohnt werden. Dieser Weg könnte viel kürzer sein als der

erste, vorausgesetzt, die neue Technologie bewährt sich. Aber auch hier wird die Einführung über mehrere Jahre hinausgehen.

- Der Überzeugungsweg

Die Mannschaft wird von irgendeinem Propheten der neuen Technologie überzeugt, daß sie ihre Arbeits- und Denkweise verändern muß. Falls sich die Betroffenen überhaupt überzeugen lassen, könnte dies ein effektiver und schneller Weg zum gewünschten Erfolg sein. Der Haken ist, daß erfahrene ältere Mitarbeiter nur schwer von neuen Denkweisen zu überzeugen sind. Wer möchte schon mit seinen Gewohnheiten brechen? Außerdem gibt es nur wenige Propheten, die bereit sind, von Betrieb zu Betrieb zu wandern, um die Geister zu bekehren. Aus diesem Grund scheidet dieser Weg oft aus.

- Der Zwangsweg

Den Mitarbeitern wird verordnet, ihre Arbeits- und Denkweise zu verändern, unter Androhung einer Strafe, nach dem Motto "Wer nicht die Amtssprache spricht, wird nicht bedient". Solche drakonischen Maßnahmen unter intellektuell tätigen Menschen fordern lediglich ihren Widerstand heraus. Anstatt sich die neue Technologie anzueignen, werden die Betroffenen nur noch damit beschäftigt sein, sie zu sabotieren. Bei der heutigen Marktlage, wo Software-Entwickler zahlreiche Arbeitsalternativen haben, ist dies nur eine gute Methode, Mitarbeiter loszuwerden. Der Versuch, Menschen mit Gewalt zu verändern, ist in der Vergangenheit immer wieder gescheitert. Daher ist diese Strategie nur in Kombination mit der ersten zu empfehlen, das heißt, wenn man mit Absicht die bisherige Mannschaft vertreiben möchte, um Platz für eine junge Generation zu machen. Ansonsten ist dieser Weg so gut wie aussichtslos.

Die Einführung neuer Software-Technologien ist ein äußerst schwieriges, langwieriges und teures Unterfangen, dem die meisten Anwenderbetriebe nicht gewachsen sind. Wenn überhaupt, so lassen sich neue Software-Technologien nur in Abständen von mindestens zehn Jahren einführen. Da sie eine Veränderung in den Kommunikations- und Denkmustern mit sich bringen, können sie von desselben Mitarbeiter höchstens zweimal im Leben verkraftet werden. Danach muß man den Menschen auswechseln. Insofern unterscheidet sich die Einführung neuer Software-Technologien grundsätzlich von der Einführung neuer Hardware-Konzepte. Erst wenn der menschliche Anteil am Software-Entwicklungsprozeß wesentlich geringer ist, wird es einfacher, neue Software-Technologien einzuführen.