Ein System entwickeln – was heißt das überhaupt?
von Erich R. Andersen 
Berücksichtigen Sie bitte ausstehende Korrekturen an diesem Text
 
Diese Frage möchte ich an einem Beispiel beantworten und so komme ich dem häufig herangetragenen Wunsche nach, über meine hauptsächliche Lebensarbeit – die Entwicklung technischer Systeme – zu berichten. 
Ein Beispielsystem
Das Beispiel stellt ein komplexes ultrapräzises und daher relativ teures, aber eben preiswertes, softwaregetriebenes, hardwareminimiertes Meß- und Steuerungssystem dar, von dem bisher weit über hundert Exemplare industriell eingesetzt sind und das weitaus „mehr kann“ als messen.
An diesem System, das konzernintern patentiert wurde, erkenne ich zwei für den allgemeinen Zweck, Entwicklung zu erklären, geeignete Vorteile. Zum einen darf ich die Einzelheiten aus Vertragsgründen hier nicht darstellen, so daß mir der Verbleib im nur Grundsätzlichen geradezu aufgezwungen ist, und zum anderen kommt dieses dem interessierten Leser zugute, da ihn die folgenden Schilderungen voraussichtlich nicht überfordern werden.
Mit dem Auftrag, ein technisches System zu entwickeln, das es noch gar nicht gibt, es also zu „erfinden“, ergibt sich ein anderes schöpferisches Denken als beispielsweise das des Schriftstellers, der einen Roman oder ein abendfüllendes Theaterstück zu schreiben beabsichtigt.
Obwohl auch ein literarisches Werk bestimmten Regeln unterliegt (es muß zum Beispiel eine innere Logik haben und wenn es „noch so“ erdacht ist, oder es sollen vom Verfasser bestimmte Stilformen eingehalten werden, damit das Werk vom lesenden, sehenden oder hörenden Publikum angenommen werden kann), so muß der Ansatz des Entwicklers eines technisches Werkes stets ein unter ökonomischem Aspekt problemlösender Ansatz sein.
Problemlösendes Denken, das sich mit erst noch gedachten Gegenständen befaßt, unterscheidet sich ferner vom problemlösenden Denken, das sich mit bereits wahrgenommenen, also vorhandenen Gegenständen befaßt.
Gibt es die Objekte bereits, so erkennt der problemlösende Mensch dieses Objekt als real existierendes Objekt und verbindet es mit einem problemzugehörigen, aus seinem Erfahrungsschatz resultierenden Gedankenfeld, aus dem das Objekt sich abhebt, es gewissermaßen im Fokus seines Augenmerks liegt. Das Objekt steht in einem Kontext zu anderen Denk- und Realobjekten mit dem Ziel der Problemlösung.
Der problemlösende Mensch hat hierbei den Vorteil, das existierende Objekt in seinem Ist-Zustand zu beurteilen; er kann es vermessen, er kann die Funktionen feststellen.
Das gilt nicht für jemanden, dem es aufgetragen ist, etwas ganz Neues zu entwickeln. Aber das heißt nicht, daß er nun „von der grünen Wiese“ aus entwickeln müßte (das ist nicht möglich). Dem Entwickler technischer, noch nicht vorhandener Systeme steht sein bis jetzt schon prinzipiell problembezogenes Gewußtes als grundlegende Voraussetzung für sein Tun zur Verfügung. Ohne dieses Gewußte kann er nicht professionell entwickeln („Basteln“ ist selbstverständlich verboten).
Der Entwickler hat also den Komplex des Zieles im Auge (die Gesamtfunktions-, die Ökonomie-, die Dokumentations- und die Anwendungsproblematik) und beginnt zunächst gedanklich damit, durch sehr viele Detailobjekte, die das System mit ausmachen könnten, „hindurchzuschauen“, um zu prüfen, ob sie zum Erreichen des anspruchsvollen Zieles grundsätzlich geeignet sind.
Der Wissensfundus des Entwicklers ist hierbei von entscheidender Bedeutung, doch reicht er allein nicht aus. Das Wissen darf vor allem nicht als ein starrer Vorrat angesehen und benutzt werden, wodurch das Geforderte durch den Entwickler und nicht aus objektiven Gründen in seinen Möglichkeiten – in Breite und Tiefe – unausgeschöpft bliebe. Vielmehr muß der Entwickler seine zu Anfang bestehenden Kenntnisse „formen“ können, indem er sie bereits in der Vorfeldarbeit (Planung, Konzept, Entwurf) flexibel beurteilt, erweitert, anpaßt, erneuert, modifiziert.
Hat der Entwickler Objekte, die im zu entwickelnden System zum Einsatz kommen könnten, in Funktionen anderer Art kennengelernt und bindet er sich an diese Funktionen, ist er also nicht oder nur gering in der Lage, dieselben Objekte in ihrem Einsatz an die neue Aufgabe zu adaptieren, dann weist ihn dies als noch nicht gut genug geeigneten Entwickler aus. Je mehr Anwendungs- und Einsatzaspekte eines Detail-Objektes er kennt, umso besser sind die Erfolgsaussichten. Die gewohnte Sicht auf Gewesenes und Erlebtes muß aufgegeben werden, ohne dabei das Gewesene und Erlebte zu vergessen und vor allem, ohne die grundsätzlich feste Denkrichtung zum komplexen Ziel hin zu verlieren.
Die Erfahrung zeigt das folgende:
Man spricht und schreibt zwar von „Entwicklungsphasen“, die, sofern es technisch gemeint ist, den gesamten Entwicklungsgang in bestimmte Abschnitte unterteilen, doch in den psychischen Vorgängen des Entwicklers während des Entwicklungsgangs bestimmen die Erfahrungen und Phantasiekapazitäten aus den vorangegangenen Entwicklungen die Problemlösung mit, ferner die permanente Frage an sich selbst, sich stets zu erneuern, die Bereitwilligkeit, sich geeignete Erfahrungen anderer zunutze zu machen und mit den anderen zusammenzuarbeiten, der Wille, nichts dem Zufall zu überlassen, dafür aber den Fortschritt der Entwicklung permanent rational zu überprüfen, und der Durchhaltegrad an Selbstsicherheit und Erfolgsgewißheit schlechthin – alles das ist phasenlos dem Gesamtprozeß beigegeben.
Eines muß hinzugefügt werden:
Der ideale Entwickler sieht vollkommen ab von sich selbst. Fixiert er sich zum Beispiel auf sein bisheriges Objektwissen, ohne dieses Wissen zwecks Flexibilisierung der Objektanwendung in Frage zu stellen, dann sieht er bereits nicht mehr von sich ab, sondern er bringt die eigene Befindlichkeit in die Systementwicklung mit ein. Das kann der Problemlösung nur schaden. Der flexiblen Objektanwendung wohnt die kritische Objektanwendung inne. Die Begrenzung liegt dort, wo der Entwickler beginnt, in der möglichen Breite der Anwendbarkeit des Detail-Objekts den roten Faden zu verlieren, der in der Zielvorgabe für die Systementwicklung gelegt worden ist. Die Zielvorgabe stellt die abstrakte Invariante im Entwicklungsgeschehen dar. Keinesfalls – solange das Anwendungsziel erhalten bleibt – dürfen die Volumenwände der Zielvorgabe zusammengerückt oder durchstoßen, höchstens darf das Volumen infolge neuer Aspekte qualitativ erweitert, vertieft und neuen Erkenntnissen angepaßt werden.
Die ersten konkreten Detailergebnisse in der Gesamtentwicklung darf es erst geben, wenn das Gesamtsystem und seine „Basiswahrheit“ – die Gesamtheit der naturgesetzlichen, ökonomischen, kybernetischen, sozialpsychologischen, ergonomischen und apparativen Voraussetzungen – zur Kenntnis gekommen, sie also in das Bewußtsein des Entwicklers gelangt sind. Das bedeutet konsequent und unbeirrt durchgeführte Vorfeldarbeit.
„Ich Entwickler“ muß ferner zu Anfang – im Idealfall genau – wissen:
Welche Arbeitsmittel und Personen, und wieviele, sind notwendig, wie ist der Zeitplan, welche Meilensteine im Entwicklungsgang sind wann zu erreichen, wo liegen noch welche „Unbekannte“, was und wie sind die Schnittstellen zu anderen Bereichsdisziplinen, wann wird wieviel vom Budget genommen sein, wer liefert was wann ins Haus, wo findet man welche sachbezogene Literatur, was ändert sich beim Anwender... usw.; da es ein wirkliches Detailobjekt des Gesamtsystems noch nicht gibt, besteht die Vorarbeit aus Denken und der Umsetzung des Denkens in konstituierte Aussagen (meistens in grafischer oder in Textform) bei innerlicher Widerspruchsfreiheit und Abgesichertheit.
Dabei spielt bereits hier die Interaktion eine große Rolle („der Entwickler und sein kundiger Kritiker“ – das bloße Bestätigen durch Betrachten reicht nicht aus), wobei die naturgesetzlichen Gegebenheiten in der technischen Entwicklung die größte Rolle in der Kritik spielen; mehr noch: die Naturgesetze richten am Ende.
In der Interaktion zwischen Menschen spielt das Erfassen des Gemeinten die größte Rolle; dadurch, daß jemand den Dialog verließ, um entsprechend dem Dialog zu handeln, obwohl er nur halb oder falsch verstanden, den Wortsinn also nicht erfaßt hatte, wurden schon große ökonomische und andere Schäden angerichtet.
Der bestgeeignete Entwickler ist darum jener, der neben seinem exzellenten, flexibel angewandten, fachlichen Vorwissen ein breites und tiefes Allgemeinwissen besitzt, aus dem er einerseits die Präzision seines Sprechens als Folge von Wortschatz, Satzbaufähigkeit, Assoziations- und Phantasievermögen gewinnt und andererseits Sprechlücken füllen kann, die ihm der Dialogpartner bietet.
Das fachliche Vorwissen muß breit und tief angelegt sein; das schmale Wissen von beispielsweise nur digital arbeitenden Elektronikbausteinen und von ihren theoretischen Voraussetzungen reicht für die Entwicklung „elektronischer Systeme“, die später beim Anwender (Kunden) in rauhen Umgebungsbedingungen zuverlässig und sicher gegen Störungen aller Art zu funktionieren haben, nicht aus. Das umfangreiche Wissen von der Elektronik in ihrer Gänze ist erforderlich (Analog- und Digitaltechnik, Mathematik, Logik, Symbolik, Informatik, Software, künstliche Intelligenz, Mikro- und Nanoelektronik, Halbleiter- und Röhrenphysik, Stromversorgungstechnik, Elektrotechnik, Mechanik, Hoch- und Niederfrequenztechnik, Steuer- und Regelungstechnik, Bauelementeverhalten, Optik, Sensorik, Leistungselektronik, Metallkunde, Impuls- und Abschirmtechnik, Akustik, Meß- und Zähltechnik, Kontakt-, Stromleiter- und Lötphysik, Schaltplan- und Platinenlayout, Datenübertragungstechnik und Übersprechphysik, Speichertechnik, EDV, CAD, CAM, CAE, NC, etc., etc.). Ferner gehört notwendig die Fähigkeit dazu, mit Fachliteratur und Datenbüchern, Handbüchern und Computersprachen sinnfällig umzugehen – selbstverständlich mindestens in deutscher und englischer Sprache, und in gleicher Weise die Fähigkeit, sprachlich anschaulich, eindeutig und in Grammatik und Orthografie richtig zu dokumentieren; zusätzlich kann es nur dienlich und der Allgemeinbildung förderlich sein, sich in der Historie der Physik, Elektro- und Nachrichtentechnik und Elektronik gut auszukennen; das dient auch der Fähigkeit, entwicklungsrelevante Prognosen zu stellen.
Da Technik Teil der gesellschaftlichen und individuellen Lebensgestaltung ist und in kybernetische Prozesse wirksam eingreift, und das in weiter zunehmendem Maße, ist an den Entwickler technischer und im besonderen elektronisch/informatischer Systeme ein hohes Anforderungsprofil zu legen. Die Elektronik und damit die Kommunikationstechnik, eingeschlossen die Meß-, Steuer-, Regelungs- und Computertechnik inclusive Software ist als Grundlage der Automatisierung von industriellen, aber auch anderen Prozeßabläufen eine wissenschaftlich bestimmte Technik, die sich auf Ergebnisse der Grundlagenforschung stützt.
Insofern, bezüglich des Anforderungsprofils, liegen die erforderlichen Qualitätsmerkmale im software engineering für den industriell-technischen Bereich anders, nämlich differenzierter, als im reinen Datenverarbeitungs- oder Unterhaltungsbereich.
Im Datenverarbeitungs- oder Unterhaltungsbereich wird man beispielsweise auf die Berücksichtigung der Erfassung von Einmalimpulsen mit Breiten im Subnanosekundenbereich einschließlich Qualitätsanalyse verzichten können, und auch einen dynamischen Steck- oder Schaltkontaktunterschied im Bereich von einigen Mikroohm darf man hier getrost ignorieren, der aber im software engineering eine außerordentlich große Rolle spielen kann.
Der technische Entwickler erdenkt Systeme (Geräte, Apparate, Prozeßanlagen etc.), die es von Natur aus nicht gibt, die den Naturgesetzen aber gehorchen, und das stellt an sein Denken ein dickes Bündel von ganz besonderen Anforderungen.
Ich begann als Entwickler in einem Unternehmen eines großen Konzerns, um „Mitarbeiter weg zu rationalisieren“, und übernahm die Leitung dieses Entwicklungsbereiches. Gleichzeitig wurde der vorhandene Maschinenpark modernisiert und wurden neue Maschinen und weitere Anlagen und Geräte nach dem Stand der modernen Technik, aus der ich gekommen war, entwickelt.
Das Unternehmen mit seinem alten Maschinenstand hätte ohne Modernisierung nicht mehr lange überleben können, und so konnte bald von < 60% Personal mit > Faktor 2 produziert werden – und zunehmend mehr, und dem verbliebenen Personal waren Arbeit und Lohn sicher.
1974 entstand bereits ein auf dem 16 bit-Mikroprozessor PACE von National Semiconductors basierendes Computersystem mit eigener Betriebs- und weiterer Software zur Maschinen- und Prozeßanlagensteuerung bei zusätzlicher komplexer Qualitätsprüfung der einzelnen Produkte, die durch die Maschinen und Anlagen bewegt werden.
Eines der herausragenden Systeme meiner Berufsjahre ist jenes, das hier in seinem Grundsatz beschrieben werden und Entwicklerproblematik deutlich machen soll (oben grafisch angedeutet).
Jeder Mensch kennt Meßgeräte: Thermometer, Zollstock, Geigerzähler etc.; man mißt Entfernungen, Wandstärken, Durchflußgeschwindigkeiten, Stärken des elektrischen Stroms usw. Stellt jemand seinen Körper von 100 Kilogramm Masse auf die Waage, so mag er vielleicht über die Anzeige erschrecken, sich aber um den Meßfehler des Geräts nicht weiter kümmern. Beträgt der Meßfehler ±1 %, dann heißt das ja auch nur, daß der Erschrockene zwischen 99 kg und 101 kg wiegt, und auch 99 kg würden ihn nicht gleich beruhigen.
Betrüge der Meßfehler ±0,001 % entsprechend ±10 ppm, dann bedeutete das ein Gewicht von 100 kg ±1 g. Man wird eine so wenig ungenau messende Waage für den täglichen Gebrauch nicht herstellen, sie wäre zu teuer. Die Meßskala der normal gebräuchlichen Waage zeigt uns mit ihrer groben Einteilung, wie diese Skala bei einer Auflösung in 1 Gramm-Schritten ausgestaltet und welches Meßwerk die Grundlage sein müßte.
Werden elektrische Widerstände gemessen, so haben wir es, was den reinen Wertebereich angeht, in der industriellen gewöhnlichen Praxis mit Werten zwischen zehn Milliohm und etwa zehn Gigaohm zu tun (10 hoch minus 2 Ohm bis 10 hoch 10 Ohm).
Ein elektrischer Widerstand ist grob so definiert, daß, wenn er den Wert von 1 Ohm besitzt, Elektronen dann mit der Stärke von 1 Ampère durch ihn fließen, wenn eine Spannung von einem Volt über dem Widerstand existiert (Widerstand R ist Spannung U / Strom I). Wir sehen, daß R die Größe I bei einem bestimmten Wert U bestimmt.
Wegen der ungezählten und an Zahl weiter zunehmenden elektronischen Geräte (ohne die die Software der Informatik und des software engineering nicht anwendbar ist) erhöht sich die Zahl der täglich herzustellenden elektrischen Widerstände entsprechend – weltweit viele Milliarden Stück pro Tag. Diese Widerstände sind in vielerlei Arten und Bauformen verfügbar und je nach Anwendungsfall einzusetzen (man muß sie nach Wärmeverlustleistung P = U · I in der Belastbarkeit geeignet dimensionieren, aber auch nach weiteren Kriterien).
Die hohe tägliche Anforderungsstückzahl zwingt die Hersteller von elektrischen und elektronischen Bauelementen zu einer Fabrikations- und Produktionstechnik in höchstmöglicher Vollendung. In der Regel werden für die Herstellung von elektrischen Widerständen kleine Keramikstäbchen oder -plättchen (elektrische Isolatoren) mit bestimmten Metallen bedampft (Sputtervorgang) und somit ein elektrischer Grundwert mit einer bestimmten Wertestreuung pro Charge erzeugt.
Durch Abtragen von Schichtmaterial erhöht sich der Ohm-Wert des einzelnen Widerstandes. Gestaltet man den Abtrageprozeß dynamisch (Abtrag zum Beispiel durch gesteuerten Laser), dann läßt sich das einzelne Produkt der Charge auf einen für alle grundwertunterschiedlichen Produkte gleichen Endwert bringen. Wird jedes Produkt danach beispielsweise mit Metallkappen an beiden Enden versehen, an die jeweils ein Draht endlicher Länge zwecks Einlötbarkeit in eine elektronische Schaltung geschweißt wird (oder auch nicht, wenn es sich um ein Plättchen – einen Chip – handelt, das ohne Drähte eingelötet wird) und umschließt man das Produkt zum Schutz gegen Umwelteinflüsse mit einer Lackschicht und trägt abschließend die Wertbezeichnung und seinen Ungenauigkeitsfaktor auf dem Lack auf, dann ist es grundsätzlich verkaufsbereit.
Unterstellen wir eine Herstellerfirma mit zehn Prozeßanlagen (Beschichten usw.) und zehn Maschinen pro Arbeitsgang (auf den Endwert abgleichen, bekappen, Drähte anschweißen, lackieren, codieren, endmessen, einbändern, usw.), wobei die Maschinen pro Sekunde 15 Produkte durchlaufen lassen können, dann kommt man unter idealer Voraussetzung auf gut 4,3 Millionen Produkte als Ausstoß pro Achtstundentag.
Davon kann ein Unternehmen nicht leben, doch bleiben wir einmal bei den 15 Produkten pro Sekunde, was bedeutet, daß pro Produkt nicht ganz 67 Millisekunden zur Verfügung stehen – theoretisch. Da das Produkt einzeln erfaßt werden muß, um beispielsweise gemessen zu werden, und da aus Aufwandsgründen jedes Produkt mit derselben Meßstation Bekanntschaft zu machen hat, wo es in die Meßkontakte geführt wird, muß man den Produktwechselwinkel berücksichtigen. Und weil in der einen Meßstation der Ohmwert gemessen, in einer benachbarten ein spezieller Beeinflussungsvorgang auf das Produkt ausgeübt wird und im dritten noch einmal gemessen wird, um den Beeinflussungsfaktor festzustellen, bleibt am Ende nur rund die Hälfte der 67 Millisekunden übrig.
Nun soll dieselbe Maschine es erlauben, daß über alle Widerstandsbereiche jeder einzelne der Widerstände die Bekanntschaft der Meßstationen macht, die niederohmigen ab 10 hoch minus 2 Ohm wie die hochohmigen ab 10 hoch 6 Ohm, und dasselbe Meßsystem muß bei möglichst konstanter Geschwindigkeit der Produkte durch die Maschine jeden einzelnen Widerstandswert genügend genau messen können (mindestens zehnmal besser, als es der Werttoleranzcode auf dem Produkt dem Kunden verspricht – das ist eine Frage der „internen Toleranzgrenzen“).
Das hieße, eine Waage zu haben, die es ermöglicht, ohne Zunahme der Meßungenauigkeit und bei gleicher Wechselgeschwindigkeit Massen zu bestimmen zwischen 10 Milligramm (0,01 Gramm) und 10 hoch 10 Gramm (zehn Millionen Kilogramm entsprechend 200000 Zentnern).
Wenngleich diese Gegenüberstellung auch „hinkt“, so haben doch auch die höherohmigen Widerstände in der ihnen zugewiesenen mechanischen Umwelt die meßphysikalische Eigenschaft einer bestimmten elektrischen „Trägheit“ wie die mechanischen Massen auf der Waage auch. Das zeigt sich in der sogenannten „Zeitkonstanten“, die wirksam ist beim Aufbau der Meßspannung über dem Produkt.
Ein Teil der bestimmenden Einflußgrößen auf die Entwicklung eines (noch nirgendwo existierenden) „Ultrapräzisionsdoppelmeß-, Steuerungs- und weiteren Systems“ ist in der Grafik oben gezeigt, ein weiterer wichtiger Teil fehlt – es war hier auch nur daran gedacht, an einem Beispiel zu verdeutlichen, was es heißt, ein technisches komplexes System zu entwerfen, zu entwickeln, den Prototypen zu erstellen, ihn zu prüfen und zu modifizieren, um das System zur Serienreife zu bringen; ein Vorgang in diesem Fall mit einem zeitlichen Aufwand von etwa zwei Jahren und mit spannenden, die Beteiligten bereichernden Zwischenergebnissen, mit teilweise auch Zwischenrückschlägen, die durch ihre Erkenntnis zum Erfolg führten.
Ohne die Selbstsicherheit „des Entwicklers“, ohne sein Wissen von den Eigenschaften und Tücken elektronischer analoger und digitaler Bauteile, Verstärker und Regelkreise, ohne die Kenntnis von den Einflußgrößen einfacher Leitungswege und elektromagnetischer Puls- und Wechselfelder, ohne die Berücksichtigung der Steuerungs- und Regelungsphysik, der mathematischen Praxis, der zeitkritischen Softwaregestaltung, der auflaufenden Kosten, der täglich unterschiedlichen Beteiligtenpsyche und der einzuhaltenden Zwischentermine – andere große Aufgaben waren zusätzlich parallel zu lösen – wäre die Entwicklung von vornherein zum Scheitern „verurteilt gewesen“.