Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

26.04.1985

SW-Engineering am Anfang einer neuen Entwicklungsphase

MÜNCHEN - Mehr Freiraum für den Programmierer zu schaffen - diese Forderung stand im Mittelpunkt einer Fachtagung des German Chapter of the ACM zum Thema "Software-Entwicklung: Kreativer Prozeß oder formales Problem". Engagiert und unterschiedlich in ihren Ansätzen stellten Software-Experten Ihre Konzepte vor, um dieses Ziel zu erreichen (siehe CW Nr. 15/85, Seite 6 Unüberhörbar offenbarte sich dabei der Wunsch, den Menschen wieder in den Mittelpunkt zu rücken. Wichtigste Diskussionsfrage war hierbei, wie der Kreativität die ihr gebührende Rolle zukommen könne. Sie solle auf alle Fälle durch Methoden und Werkzeuge gestützt werden, die an den Arbeitsplätzen prozeßbegleitend zur Verfügung stehen. Da es sich auf dieser Tagung vor allem um das "Wie" drehte, bat die COMPUTERWOCHE um Kurzfassungen der Konzepte. Sie offenbaren gleichzeitig ein präzises, Abbild unserer aktuellen Software-Umwelt. (Teil 2)

Dr. Helmut Volkmann, Siemens AG, München

Die Informationstechnik wird der Gesellschaft einerseits Fortschritt bringen, sie aber andererseits mit Herausforderungen konfrontieren, auf die die Verantwortlichen noch nicht eingestellt sind. Wir müssen lernen, die Systeme zu beherrschen, sonst werden die Systeme die Menschen beherrschen. Die Organisatoren und Systemingenieure unserer Organisationen müssen sich selbst dieser Problemlage noch bewußt werden, wenn sie Technik zum Nutzen der Organisationen und der ganzen Gesellschaft einsetzen wollen.

Das Motto der Arbeitstagung "Software-Entwicklung: Kreativer Prozeß oder formales Problem" löst einerseits Assoziationen aus: "Also doch zurück zur künstlerischen Freiheit!" und regt andererseits an, zu hinterfragen, wozu Kreativität oder Formalität dienen sollen, und es motiviert, abzuwandeln, ob es nicht besser heißen müßte "Software-Entwicklung kreativer und formaler Prozeß".

Hinter der Aussage der Formalität, der ja vielfach ein negativer Beigeschmack zugemessen wird, stecken Methoden, wie sie in der Strukturierung, aber auch in den Phasenschemata und/oder im Projektmanagement zum Ausdruck kommen. Die Sorge besteht darin, daß die Formalität die Kreativität bedrängt, wenn nicht gar abtötet, obwohl dies eigentlich gar nicht beabsichtigt ist. Formalität dient der Disziplinierung und der Festlegung der Verantwortung. Wenn man der Aussage folgt "Innovation besteht aus 5 Prozent Idee und 95 Prozent Disziplin", dann bedingen sich Kreativität und Verantwortung sogar gegenseitig und es müßte heißen "Kreativität und Verantwortung".

Kreativität erfordert Freiraum und bewirkt durch neue Erkenntnisse Fortschritt, aus dem neuer Freiraum hervorgehen kann.

Fortschritt eines Systems bedeutet - in Analogie zu biologischen und sozialen Systemen - mehr Verhaltens- und Wahlmöglichkeiten zu haben, über ein größeres Repertoire zu verfügen, um Aufgaben und Funktionen wahrnehmen zu können, größere und weitere Freiräume zu erwerben.

Diese Freiräume können dann genutzt werden, um Systeme höherer Komplexität und größerer Anforderungen zu realisieren.

Ein solches System muß aber im Einsatz auch durch den Menschen beherrscht werden können, das heißt, ein System im Einsatz ist so zu steuern und zu kontrollieren, daß zu jedem Zeitpunkt sein Verhalten vorhersagbar ist und/oder daß seine Wirkungen beeinflußt werden können.

Aber auch die Erstellung des Systems muß beherrscht werden. Die Freiräume müssen daher auch genutzt werden, um die Erstellung so zu steuern und zu kontrollieren, daß zu jedem Zeitpunkt Aussagen über die voraussichtlichen Zielerreichungen und über die Wirkung von Maßnahmen gemacht werden können.

Fortschritt einerseits und Systembeherrschung andererseits stehen in einem sich ergänzenden und bedingenden Verhältnis.

Wenn man diesen Gedanken bejaht, dann liegt es nahe, sowohl Kreativität als auch Verantwortung durch formale Mittel, das heißt durch Methoden, Verfahren und Werkzeuge zu stützen und dafür zu sorgen, daß die Mittel bei der Anwendung integriert und homogen zusammenwirken. Letztlich sollen sie dem Ziel dienen, die Systeme in Erstellung und im Einsatz zu, beherrschen und bessere Systeme im Sinne des Fortschritts hevorzubringen. "Whole-Brain-Ansätze" sind daher nicht allein in den Dienst der Kreativität, sondern auch in den Dienst der Verantwortung zu stellen. Dem "gesunden Menschenverstand" oder dem "sicheren Instinkt" bei der Wahrnehmung von Verantwortung sind durchaus Qualitäten über die analytische Rationalität hinaus beizumelden.

Es gilt, Kreativität und Verantwortung als Ergänzungen zu sehen, nicht als Gegensatz.

Das Prinzip der Komplementarität, das in der Natur vielfältigen Regelungen zugrunde liegt, kann auch für die Beherrschung soziotechnischer Systeme genutzt werden.

Kreativität und Verantwortung, Fortschritt und Systembeherrschung sind kein Selbstzweck, sondern Mittel zum Zweck. Zweck einer ingenieurmäßigen; arbeitsteiligen, industriellen Erstellung von Systemen ist, ein Objekt zu kreieren, das im Einsatz beim Kunden Nutzen stiftet und Fortschritt bewirkt. Kreativität und Verantwortung des Ingenieurs sind deshalb am Nutzen zu orientieren, um Fortschritt zu bewirken und beherrschte Systeme zu schaffen.

Das bedeutet, den Freiraum, den das Objekt für die Gestaltung bietet, zu erkennen und mit Kreativität auszufüllen und alle Aktivitäten im Prozeß der Erstellung zu beherrschen.

Das bedeutet aber auch für den Auftraggeber, den Nutzen, ausgedrückt in Funktionalität und Qualität, in Übereinstimmung zu bringen mit den Kosten der Erstellung, der Anpassung und des laufenden Betriebes. Für den Auftragnehmer heißt es, sich mit dem Einsatzfall selbst in einer Funktionalität und Qualität und auch mit seinem Risiko zu beschäftigen, damit seine Leistung zu einer akzeptierten Lösung führt.

Dies erfordert ein enges Zusammenwirken zwischen Auftraggeber und Auftragnehmer und eine beidseitig akzeptierte Orientierung an Fortschritt und Systembeherrschung. Die zunächst benutzerorientierten und betriebswirtschaftlichen Anforderungen müssen im Gesamtzusammenhang der technischen Gestaltung unter Aspekten der Kreativität und Verantwortung gesehen werden. Die benutzer- und technisch-orientierten Qualitätsmerkmale haben teilweise ihre Entsprechung in Aufwandsvorgaben. Das erfordert Kreativität in der Umsetzung und Verantwortung in der Einhaltung der Vorgaben. Doch leider gilt: "Man kann nicht nicht Störungen produzieren." Die Forderung und Gewährung eines Freiraumes erfordert daher zugleich und fortwährend auch die Abschirmung des Freiraumes und die Beherrschung von Störungen.

Die Erstellung eines wohldefinierten Objektes erfolgt in einem Prozeß, der selbst in Verantwortung beherrscht werden muß und Kreativität in Anwendung auf sich selbst zu seiner ständigen Verbesserung erfordert. Das hat den ingenieurmäßigen, arbeitsteiligen, industriellen Prozeß der Erstellung von Systemen hervorgebracht, in dem der Ingenieur Freiraum hat und Verantwortung trägt.

Er wird dabei durch Methoden und Werkzeuge gestützt, die ihm an den einzelnen Arbeitsplätzen des Prozesses (Aufgabenerklärung, Projektierung, Realisierung, Einrichtung) und auch prozeßbegleitend (Management und Logistik) zur Verfügung stehen.

Dabei kommt es weniger auf die einzelnen Methoden und Werkzeuge an als auf die Beherrschung eines integrierten Zusammenwirkens. In der Beherrschung bleibt der Mensch mit seiner Kreativität und Verantwortung der entscheidende Faktor. Hier hilft ihm auch eine formale Ordnung. Es wäre eine Illusion, zu glauben, eine Software-Produktionsumgebung ließe sich allein durch Kreativität ersetzen.

Prof. Dr. Peter Molzberger, Hochschule der Bundeswehr, München

Die Geschichte der Software-Entwicklung stellt sich mir als Pendelschwingung dar: Die Anfangszeit war chaotisch: "Spaghetti" und "Primadonnen" seien als Schlagworte genannt. Intuition war wichtig, aber noch in undisziplinierter Form.

Dann kam der notwendige Gegenschlag: eiserne Disziplin. Im Oktober 1968 wurde der Begriff "Software-Engineering" offiziell geboren. Als zuverlässigstes Element rückte die Maschine in den Mittelpunkt unseres Universums. Diesem neuen Paradigma verdanken wir, was wir heute an Tools, Methoden und Verfahren, so verbesserungsbedürftig sie auch noch sein mögen, besitzen.

Kein Wunder, daß wir in unserer Euphorie häufig über das Ziel hinausschossen und den Menschen völlig vergaßen. Insbesondere wurde das Wort "Künstler" zu einem Schimpfwort. "Mausgraue Standard-Software von mausgrauen Standardprogrammierern am Fließband erstellt" wurde häufig zur Idealvorstellung, um es überakzentuiert auszudrücken.

Erste Gegenstimmen setzten schon früh ein, insbesondere Gerald Weinberg: "People looked at me as if I was a crazy person", berichtete er kürzlich über seine Erfahrungen mit seinem 1971 erschienenen Buch "The Psychology of Computer Programming". In den letzten Jahren beschleunigt sich die Entwicklung. Die Konferenzen über Human Factors Software-Ergonomic und Software-Psychologie überschlagen sich geradezu.

Als wesentlichen Beitrag zu diesem Trend sehe ich die Entdeckung dessen, was wir den "Superprogramming-Effekt" genannt haben: Spitzenleute, die in ihrer Leistung um den Faktor 10 bis 30 über dem Durchschnitt liegen, sowohl quantitativ wie qualitativ (siehe COMPUTERWOCHE 51/52 vom 16. Dezember 1983): "Die besten Ideen kommen unter der Dusche", 16. Dezember 1983).

Gewiß, derartige Leute hat es immer gegeben, aber wir haben sie nicht so recht wahrgenommen. Plötzlich stehen wir staunend vor einem Bündel mehr oder weniger unerklärbarer Phänomene, die das, was wir über Programmieren gewußt zu haben glauben, über den Haufen werfen.

Diese Leute leisten nicht nur Erstaunliches, sie tun es auch mit Leichtigkeit und Freude. Und ihre Tätigkeit ist keineswegs auf Programmieren im engeren Sinne beschrankt: Das, was sie anfassen, gelingt ihnen und besitzt Charakteristika eines echten Kunstwerks: Einfachheit, Eleganz, Verständlichkeit.

Die Eigenschaft, so zu arbeiten überträgt sich im Laufe eines Reifeprozesses auf alle Bereiche des Lebens. Die Leute haben intakte persönliche Beziehungen und - so paradox das auch erscheinen mag - viel Zeit für ihre Kinder, Hobbies und umfangreiche kulturelle Interessen. Sie meistern ihr Leben. Maslow hat diese Leute, in anderen Bereichen bereits früher als selfactualizing people beschrieben (Maslow: Die Psychologie des Seins, Kindler-Taschenbuch).

Jüngste Untersuchungen zeigen wie sehr derartige Menschen auf ihre Umgebung ausstrahlen. Wir haben "synergetische Teams" beobachtet, die unglaubliche Leistungen vollbringen. In diesen Teams herrscht tiefes Vertrauen, Respekt vor der Persönlichkeit des anderen hohes Commitment und viel Freude, während die klassische Hierarchie zurücktritt. In diesen Tagen läßt sich eine allgemeine Tendenz in diese Richtung feststellen, die im Westen der USA etwas weiter fortgeschritten ist als bei uns. Hierin sehen wir das eigentliche Erfolgsgeheimnis des Silicon Valley (siehe COMPUTERWOCHE 16/S4: "Kreative Ursuppe schwappt über den Atlantik").

Die wirtschaftliche Bedeutung des Phänomens "Excellence", sowohl bezüglich des einzelnen als auch im Team, tritt im Augenblick stark ins öffentliche Bewußtsein. Ein Hinweis ist das Interesse, daß der US-Bestseller "In Search of Excellence" findet (deutsche Fassung: Peters, Waterman: Auf der Suche nach Spitzenleistungen).

Wie kann man dieses Phänomen fördern? Es handelt sich um eine Verschmelzung von Zielgerichtetheit und logischem Denken auf der einen Seite, Intuition und Kreativität auf der anderen, einer Integration der Fähigkeiten, die wir unserer linken beziehungsweise rechten Hirnhälfte zuschreiben.

Wir haben Trainings entwickelt, die es dem einzelnen gestatten, seine verschüttete Kreativität wiederzuentdecken und zu integrieren. Das ist ein sehr erfolgreicher Weg. Das Thema meines Vortrags auf der ACM-Tagung war ein anderes: Wie können wir Tools einsetzen, um die Menschen aus ihrer Linkslastigkeit herauszuholen? Wie können wir sie nach rechts shiften?

Hier nur zwei Ansätze:

Man beobachte Kinder beim Videospiel. Sie sind "völlig weg" und leisten dabei Unglaubliches. Warum benutzen wir diese anregenden Zustände nicht für unsere Arbeit?

Wir tun es! In einer Studie für die US-Luftwaffe an der Universität Berkeley wird festgestellt, daß ein moderner Düsenjäger in kritischen Situationen nur noch zu beherrschen ist, wenn der Pilot in einen derartigen Zustand hineingeht. Und viele Programmierer nutzen es. Messungen haben gezeigt, daß die Intensität des Mensch-Maschine-Dialogs rapide ansteigt, sobald die Responsezeit des Rechners eine halbe Sekunde unterschreitet. Mensch und Maschine werden zu einem intensiven Feedbackloop, geraten in Resonanz. Der Programmierer "wird ganz zu seinem Programm".

Der zweite Ansatz geht davon aus, daß die rechte Hirnhälfte Bilder verarbeitet und damit um viele Zehnerpotenzen schneller ist als die linke, die Sprache (Symbolketten) benutzt. Beim Programmieren machen wir einen Riesenumweg, indem wir unsere klaren optischen Vorstellungen auf Programmcode, das heißt sequentielle Zeichenfolgen herunterbrechen. Wenn wir dann das Programm lesen wollen, müssen wir den ganzen Weg wieder rückwärtsgehen.

Warum? Es gab eine Zeit, in der wir keine andere Wahl hatten. Heute besitzen wir leistungsfähige Grafik. In einem Industrieprojekt HAIST - Human Abilities in Software Technology - sind wir dabei, Wege aufzufinden, unmittelbar auf der Ebene unserer mentalen Bilder mit dem Rechner zu kommunizieren.

Nicht die Tools sind kreativ, sondern der Mensch. Ich sehe in der ACM-Veranstaltung einen Riesenschritt, ihn wieder in den Mittelpunkt unseres Software-Universums zu stellen.