Kant und Software-Engineering

17.05.1985

Wilfried Köhler-Frost Geschäftsführer der WKF-Consult, Beratungsgesellschaft für

Organisationsentwicklung und Informationsverarbeitung mbH, Berlin

Auf der einen Seite steht in gegenwärtigen Erörterungen der ganzheitliche Prozeß "Problem - Projekt - Produkt" im Mittelpunkt. Auf der anderen Seite befindet sich das reale System "Software-Produzent" als kollektive Organisationsform geistiger Arbeit, als Unternehmen, das aus sich heraus, in individuellen Prozessen Projekte entstehen läßt und abwickelt, im Zentrum.

Es lohnt sich deshalb, auch die Form der Abwicklung ganzheitlicher Prozesse in individuellen Systemen zu betrachten. Diese Form kann selbst wiederum als Prozeß gesehen werden. Dies ist dann allerdings ein "absoluter Prozeß"; endlos, solange seine empirischen Voraussetzungen existieren. Die philosophischen Väter dieser methodischen Vorgehensweise sind nicht zuletzt Hegel und sein Vorgänger Kant.

Hegels absolutes Prozeßbild, in dem sich das Allgemeine selbst in der Form des Besonderen, das Absolute in der Gestalt des Individuellen entfaltet und verwirklicht, gibt außerordentlich präzise die wirkliche Entwicklungsform rein menschlicher, also geistiger oder "logischer" Materie wieder.

Der emotionale Widerstand einer naturwissenschaftlich-technischen Haltung gegen diese Denkweise ist unter dem Einfluß der Evolutionsforschung, Kybernetik und Systemtheorie spürbar vermindert worden.

Für Hegel befand sich der schlicht im Irrtum, der die "Existenz" für wirklich hielt. Die philosophischen Ideen von Kant und Hegel haben eine gemeinsame Grundlage. Sie liegt in der Schwierigkeit, Wirklichkeit im Sinne von Existenz oder objektiver Realität als einzig wirkliche und aussagbare Wahrheit zu akzeptieren.

Gerade "Softdenker", die in gut angelsächsischer Manier jedes Rezept mit der Würde des Begriffs "Philosophie" heiligen, unterliegen leicht den Fehlern eines naiven Denkens. Es versäumt nämlich, seine subjektiven Fähigkeiten und seine objektiven Bedingungen zu analysieren. Die Software-Technologen verkünden vorschnell eine "glänzende Zukunft" . Der in der Praxis "versumpfte" Techniker dagegen leidet schwer an den tagtäglich verpaßten "Wahrheiten" und "Wirklichkeiten " .

Erst die Praxiserfahrung zwingt schließlich dazu, Normen prinzipiell zu relativieren.

Der Konflikt ist in der herrschenden Technologie schon sehr deutlich sichtbar. Auf der einen Seite schaffen die Technologen fortlaufend Normen und Standards mit tendenziell universalen Ansprüchen. Auf der anderen Seite folgen die Praktiker zunehmend irritiert und "theoriefeindlich" Poppers populärer Philosophie des "piece-meal engineering" und des "muddling through".

Beide Seiten enttäuschen sich täglich. Die eine stellt fortlaufend fest, daß die Welt nicht so wird, wie sie ihren Normen gemäß sein sollte. Die andere leidet daran, daß die Wirklichkeit am Morgen meist anders ist, als sie am Abend zuvor war. Diesen Konflikt kann nur eine Zusammenarbeit beider Seiten lösen, die auf definierbaren Bedürfnissen der Praxis beruht. Dabei gibt es keine maschinelle Lösung für die historisch entstandenen Probleme der vorherrschenden "Stückwerk-Technologie" des gegenwärtigen Software-Engineering.

Der Versuch, "die Wirklichkeit" durch normative Automatismen, durch perfekte Methoden und Standards einer "Philosophie" anzupassen, hat immer dort seine Grenze, wo die "Lehre" akzeptiert werden soll. Die Leistungen der "normativen Vernunft" sind nur wertvoll, soweit sie klassifizieren helfen, also die Grundstrukturen und Bausteine isolieren und herausstellen, aus denen sich "die Wirklichkeit" aufbaut.

Strukturiert wird "die Wirklichkeit" aber nur durch diejenigen, die sich von den "normativen Systemen" leiten - und fehlleiten - lassen. Der Faktor des Selbstbewußtseins, der bei Hegel und Kant empirisch das Individuum auszeichnet, taucht in komplexen sozialen Systemen nicht nur als "Willenskraft" (des Topmanagements) und als Entscheidungs- und Kontrollmechanik des Organisationsgefüges (Stichwort: Zielfindungsmethoden) auf. Die kreative Potenz, überhöht gesagt: die kollektive Individualität des sozialen Systems "Software-Produzent", entsteht aus der kombinierten Kraft aller "systemeigenen" Individuen. Die Anerkennung der Individualität von Unternehmen, die Standardsoftware für die Produktion von Software verwenden sollen, durch die Produzenten von Software-Entwicklungs-Umgebungen, ist ein pragmatisch begründbarer Schritt zurück, weil kein "Allheilmittel" für letztlich unvergleichbare "Leiden" existiert.

Die Zusammenarbeit von Software-Technologie und Software-Engineering soll "partnerschaftlich" sein. Es muß versucht werden, asymetrische Kommunikationsformen auszuschließen. Der Preis dafür wird ein gewisses Maß von "Asynchronität" sein. Die Höhe dieses Preises wird beidseitig beeinflußt.

Asymmetrische Kommunikation behindert den Rollentausch von Kommunikator und Rezipient.

Asynchronität wird beeinflußt durch Unterschiede im Zeitverhalten des bidirektionalen Nachrichtentransports. Asymmetrie drückt Machtverhältnisse aus. Asynchronität behindert schlimmstenfalls die Unmittelbarkeit der direkten Kommunikation.

Welche Daten zu Informationen für die Theorie werden, und welche Nachrichten für die Praxis in ihrem Informationsgehalt verarbeitet werden können, wird nicht von den Medien der Informationsübertragung und Datenverarbeitung entschieden, sondern durch menschliche Kommunikation, menschliches Wissen und Denken.

Die Formen der Partnerschaft von Software-Technologie und Software-Engineering lassen sich vielleicht so beschreiben: Das Verfahren der Software-Technologen wird ein klassifizierendes sein, das schichtweise "aus einzelnen Klassen weiter Klassen-von-Klassen und über diese Klassen-von-Klassen" bildet. Auf diesem Wege entwickelten sich die bisherigen Systeme.

Das Verfahren der Software-lngenieure wird solch eine "Hierarchie der Klassen" nutzen müssen, um technisch neue Systeme in einem Prozeß in die lebenden Systeme einzubauen. Er ließe sich als "Ordnung der Rekursionen" bezeichnen, nach dem Evolutionstheoretiker Bateson.

Es gilt also, eine Form der Entwicklung zu finden, in der beide Verfahren sich stützen und optimieren. Der Inhalt dieses evolutionären Prozesses ist ein vielgestaltiger Wechsel der Formen von Software-Entwicklungs-Umgebungen individueller Unternehmen. In diesem Wechsel kommt Software-Engineering die Aufgabe zu, angepaßte Software-Technologie in den Alltag der Software-Produktion einzuführen.