Samstag, 10. September 2011

Gerhard Goos über Informatik-Forschung und -Lehre

Gerhard Goos übernahm im Jahre 1970 den ersten Lehrstuhl für Informatik an der Universität Karlsruhe. Bis zu seiner Emeritierung im Jahre 2005 war er Leiter des Instituts für Programmstrukturen und Datenorganisation an der Fakultät für Informatik. Goos ist Autor mehrerer Lehrbücher, davon 1971 zwei der ersten ihrer Art zusammen mit seinem Mentor Friedrich Ludwig Bauer. Seit 1973 war er Hauptherausgeber der Lecture Notes in Computer Science (LNCS) und Mitherausgeber mehrerer wissenschaftlicher Zeitschriften. Seit 1985 ist er einer der Initiatoren des Forschungszentrum Informatik (FZI), Karlsruhe, und war dort bis 2011 Direktor des Forschungsbereiches Software Engineering. Von 1986 bis 1991 war Goos Vorstandsmitglied der Gesellschaft für Mathematik und Datenverarbeitung (GMD) in Birlinghoven bei Bonn. Zusammen mit der GMD und der University of California gründete er das International Computer Science Institute (ICSI) in Berkeley. Goos wurde 1965 an der Universität Erlangen-Nürnberg in Mathematik promoviert. Die Technisch-wirtschaftswissenschaftliche Universität Budapest verlieh ihm im Jahre 2004 die Ehrendoktorwürde. Seit 2005 ist Goos Fellow der Gesellschaft für Informatik.


Bertal Dresen (BD): Zu Ihren Forschungsthemen gehört der Übersetzerbau. Sie entwarfen attributierte Grammatiken, den ersten europäischen Ada-83-Compiler und die Sprache Sather-K. Wie beurteilen Sie die historische Entwicklung dieses Gebiets und seine heutige Rolle? Ist es so, dass alle großen technischen Fragen schon in den 1970er Jahren gelöst waren, und dass sich die Software-Industrie ohnehin finanziell lukrativeren Gebieten zuwandte, etwa Betriebssystemen und Datenbanken?

Gerhard Goos (GG): F.L. Bauer erklärte bereits 1965 Übersetzerbau zur Sache der Industrie, die Forschung sei erfolgreich beendet. Das war falsch. Aber immerhin stammen die Forschungsergebnisse zur syntaktischen und semantischen Analyse überwiegend aus der Zeit von vor 1982. Die Forschung zu Optimierung und Codeerzeugung begann damals erst und dauert heute noch an. Unsere eigenen neuesten Ergebnisse stammen aus 2005/6. Viele Vorlesungen behandeln Codeerzeugung auch heute noch ad hoc. Aber immerhin wird jetzt die Bedeutung von Datenflussanalyse erkannt. In der Industrie konzentriert sich die Übersetzerentwicklung bei den Prozessorherstellern. Vor allem die GNU-Übersetzer haben den Markt für andere Softwarehäuser weitgehend uninteressant gemacht.

BD: Während Ihrer Zeit als technisch-wissenschaftlicher Vorstand der GMD wollten Ihre dortigen Kollegen den damals schnellsten Rechner der Welt, Suprenum genannt, bauen. Wie muss man heute dieses Projekt sehen? War nur die deutsche Industrie (Krupp-Atlas, Siemens) schuld daran, dass der Markterfolg ausblieb? Wie sehen Sie die Rolle von so genannten Großforschungseinrichtungen wie der ehemaligen GMD? Welchen Nutzen haben sie für den Wissenschafts- und Wirtschaftsstandort?

GG: Suprenum war technisch-wissenschaftlich ein großer Erfolg. Aber die Idee des Ministeriums, die technische Entwicklung nur nach ihrem Markterfolg zu beurteilen, war von Anfang an fehlgeleitet. Dazu hätte es einer Industrie und einer Verkaufsmannschaft bedurft, die in Deutschland nicht gegeben war. Der durchaus erfolgreiche Software-Entwicklungszweig von Suprenum, die Pallas GmbH, existiert heute noch, gehört aber zu Intel Deutschland.

Eine Einrichtung wie die GMD wäre auch heute noch als Infrastruktureinrichtung für die (universitäre) Forschung sehr erwünscht. Die französische INRIA führt das vor. Im E.I.S.-Projekt bei der Einführung des VLSI-Entwurfs in die akademische Lehre wurde dies in den 80er Jahren beispielhaft gezeigt. Viele sehr gute Ideen zur Verbesserung des Software-Entwurfs gehen verloren, weil nach Abschluss einer Promotion niemand da ist, um die vorhandenen Software-Werkzeuge zur „Serienreife“ weiter zu entwickeln. Anders ausgedrückt: der Weg von der wissenschaftlichen Erkenntnis zur praktischen industriellen Umsetzung wird zwar glücklicherweise oft erfolgreich beschritten, aber wir könnten noch wesentlich größeren wirtschaftlichen Nutzen haben, wenn wir den Weg verbreitern würden.

BD: Mit dem FZI Karlsruhe gingen Sie und Ihre Kollegen einen etwas andern Weg. Sie legten offensichtlich von Anfang an erheblichen Wert auf Kooperationsprojekte mit Partnern aus der Industrie (zu denen ich mich auch rechnen durfte). Ist dieses Modell erfolgreich gewesen? Wo zeigten sich Probleme und Schwächen?

GG: Das Modell war sehr erfolgreich, wie man daran sieht, dass das FZI 25 Jahre überlebt hat und immer noch wächst. Der Markt für eine solche anwendungsorientierte Forschungseinrichtung ist offenbar gegeben. Besonders die Kooperation mit großen Unternehmen floriert. KMUs sind hingegen vor allem an schnell abrufbaren Ergebnissen interessiert und weniger bereit, in die vorbereitende Entwicklung solcher Ergebnisse zu investieren. Die Kooperation in Projekten des BMFT oder der EU bereitet finanzielle Probleme, da hier eine Eigenbeteiligung gefordert wird, die nur aus den sehr beschränkten Zuschüssen des Landes Baden-Württemberg stammen kann. 

Wir haben zwar viele FZI-Mitarbeiter promoviert, aber die Veröffentlichungsleistung lässt zu wünschen übrig, weil die Mitarbeiter mit Projektarbeit und Dissertation-Schreiben bereits überlastet sind und nach der Promotion meist umgehend in die Industrie gehen. Die Veröffentlichung der Endergebnisse nach Ende der Promotionszeit bleibt meist auf der Strecke. Insgesamt ist die wissenschaftliche Leistung des FZI wesentlich größer als aus den Veröffentlichungen ersichtlich. Auch die Weiterentwicklung der Software-Werkzeuge bis zur Marktfähigkeit unterbleibt sehr oft aus den gleichen Gründen.

BD: Beim ICSI waren es Ihre Ziele, den Technologietransfer und den Wissenschaftleraustausch zwischen den USA und Deutschland zu fördern. Blieb es hier bei der Zielsetzung oder gibt es Beispiele, wo diese Absicht auch erfolgreich umgesetzt wurde? Wenn nicht, woran lag dies? Was hätte man anders machen können oder sollen?

GG: Das ICSI war und ist insofern ein voller Erfolg, als es seit über 20 Jahren gelingt, über 90% der Postdocs, die wir nach Kalifornien schicken, auch wieder nach Deutschland zurück zu holen, entweder in die Hochschule oder in die Industrie. Der Technologietransfer nach Deutschland funktioniert also. Umgekehrt haben die Amerikaner gelernt, dass deutsche Postdocs gewöhnlich eine breitere Wissensbasis mitbringen als amerikanische. Das hat am ICSI mehrfach zu Erkenntnissen geführt, die von Amerikanern alleine nur schwer erreicht worden wären. Natürlich ist das ICSI als kleine (< 100 Wissenschaftler) Einrichtung der Grundlagenforschung sehr beschränkt in der Wahl seiner Forschungsthemen. Das würden wir uns manchmal anders wünschen, aber man muss ja auch nicht jede Moderichtung mitmachen.

BD: Bei einer Zeitschrift, die wir beide gemeinsam vor etwa 20 Jahren herausgaben, hatten wir lange Zeit das Ziel verfolgt, bevorzugt deutschsprachige Beiträge zu bringen. Inzwischen hat diese Zeitschrift nicht nur ihren Namen ins Englische übersetzt, sondern veröffentlicht fast nur noch englisch-sprachige Artikel. Sind wir beide schon damals einer Illusion nachgelaufen oder hat sich die Situation erst im Laufe der Zeit geändert? Was sagt dies über den Standort Deutschland und die Rolle der Informatik?

GG: Vor fast 45 Jahren lernte ich anlässlich der Übersetzung eines mathematischen Lehrbuchs aus dem Englischen, wie schwer es ist, einen Sachverhalt, der auch Aussagen im Konjunktiv umfasst, in einer anderen Sprache verständlich wiederzugeben. Das gilt auch für Deutsche, die englisch schreiben. Herr Bauer und ich hatten 1975 eine komplette Übersetzung unserer Lehrbücher ins Englische, die wir in den Papierkorb warfen, weil wir sie für weithin unlesbar hielten, „deutsches Englisch“. Dabei war diese Übersetzung von einer Amerikanerin angefertigt worden, die allerdings in München lebte. Die Europäer auf dem Kontinent laufen heute der mittelalterlichen Illusion nach, dass man mit einer einzigen Wissenschaftssprache, damals Latein, allen Leuten gerecht werden kann. Spätestens im neunzehnten Jahrhundert löste sich diese Illusion auf. Mit dem Eintritt von Japan und China in den Wissenschaftsmarkt und der nachlassenden Dominanz der USA wird sich auch die führende Rolle des Englischen abschwächen. 

Der Industriestandort Deutschland beherrschte einst den mittel- und osteuropäischen Markt. Mit dem Gebrauch des Englischen statt der deutschen Sprache haben wir anderen Ländern diesen Markt weit geöffnet; das ist nicht zum Vorteil Deutschlands. Mit dem Übergang der genannten Zeitschrift vom Deutschen zum Englischen haben wir in der Informatik eine Chance weniger, in Deutschland erzielte Forschungsergebnisse rasch und präzise an den Leser zu bringen. Wenn ich englisch veröffentliche, dann doch nicht in einer deutschen Zeitschrift.

BD: Die deutsche Informatik, zu deren Pionieren ich sie rechne, hat immer noch ein gewisses Akzeptanz- oder Image-Problem. Das bezieht sich sowohl auf die Relevanz dessen, was bei uns in der Forschung an Ergebnissen erzielt wird, aber auch an der unmittelbaren Praxistauglichkeit der Hochschul-Absolventen. Können Sie diese Kritik nachvollziehen und wenn ja, was kann und soll getan werden, um ihr entgegen zu wirken? Wer sollte sich dafür verantwortlich fühlen?

GG: Was die wissenschaftliche Qualität betrifft, hatten sicher manche Hochschullehrer unserer Generation zu Recht Akzeptanzprobleme. Das änderte sich aber mit dem Generationenwechsel in den letzten 10 Jahren erheblich. Die jüngere Generation ist in der Breite leistungsfähiger. Die Klage über mangelnde Praxistauglichkeit von Hochschul-Absolventen ist einerseits so alt wie die Technischen Hochschulen, also über 100 Jahre. Sie betrifft nicht nur die Informatik. In der Informatik haben oder hatten wir zwei zusätzliche Probleme: Zum einen hatten viele Vorgesetzte in der Industrie selbst nie eine Vorlesung in Informatik gehört und daher nur eine sehr ungenaue Vorstellung, was man von solchen Absolventen erwarten könnte. Jahrzehntelang wurden auch im Softwarebereich vielerorts Elektroingenieure den Informatikern vorgezogen, weil der Vorgesetzte bei den Ingenieuren wusste, was sie können und was sie nicht können. Zum anderen brauchten in Deutschland Hochschule und Industrie sehr lange, bis sie herausfanden, wo in der Informatik die Kompetenzen der einen und anderen Seite beginnen bzw. enden und wie man die Differenz überbrückt. Am besten ist das bisher im Bereich Eingebettete Systeme gelungen; am schlechtesten in der gewöhnlichen „Datenverarbeitung“. 

Aus Hochschulsicht ist natürlich das Fehlen einer Industrie in Deutschland, die Grundsoftware herstellt, nicht zu verschmerzen, denn die Auseinandersetzung mit Grundsoftware (wie Betriebssysteme, Übersetzer, Datenbanken und Graphiksysteme) nimmt naturgemäß einen größeren Teil der Ausbildung in Anspruch. Auch gibt zu denken, dass die Praxistauglichkeit mancher deutscher Erfindungen zuerst in Amerika gesehen wurde, bevor man sich in Deutschland dazu bequemte, sich damit zu befassen. Das bekannteste Beispiel sind die von Carl-Adam Petri in Darmstadt entwickelten Petri-Netze, die mir von einem MIT-Professor nahegebracht wurden, lange bevor sie in Deutschland als signifikant angesehen wurden.

Microsoft hat noch in den 90er Jahren abgelehnt, Absolventen von Berkeley oder Stanford einzustellen: die Anfänger sollten programmieren können, den Rest würden sie in der Firma lernen. Diesen Standpunkt findet man auch heute noch gelegentlich in der deutschen Industrie. Statt Informatik sollte die Hochschule den Studenten besser soft skills beibringen. Das aber ist genau nicht die Aufgabe einer wissenschaftlichen Hochschule. Es wird immer wichtige Bereiche des Lebens geben, die die Hochschule nicht abdeckt. Sonst müssten wir demnächst noch Vorlesungen in das Informatikstudium aufnehmen, wie man eine gute Ehe führt.

BD: Vielen Dank, Herr Goos, für die sehr interessanten Informationen – einschließlich einiger recht pointierten Aussagen.

Freitag, 9. September 2011

Zigarettenbilder als Propaganda

Neben Stößen alter Akten und Broschüren gibt es in meinem Elternhaus auch ein Album voller alter Zigarettenbilder. Das Album hat den Titel: Alles für Deutschland - 2000 Jahre deutsche Geschichte und deutsches Heldentum. Es wurde heraus­gegeben von der Orientalischen Cigaretten Compagnie „YOSMA“ GmbH in Bremen. Die Texte stammen von M. Gutewort und Oberstleutnant Hänichen aus Dresden. Das Album umfasst 104 Seiten und enthält 360 von Hand eingeklebte Bildchen im Format 5 x 6 cm. Das letzte Bild ist mit November 1933 datiert. 

Alles deutet daraufhin, dass dieses Album von meinen Vettern stammt, die 1933 zwischen 8 und 14 Jahren alt waren. Sie verbrachten in ihrer Jugend ihre Schulferien oft in meinem Elternhaus. Als Kind besaß ich ebenfalls derartige Alben. Bei ihnen ging es unter anderem um sportliche Ereignisse, wie Autorennen oder die Olympischen Spiele von 1936 in Berlin. In meiner Jugend kannte ich dieses Album nicht. Wo es damals war, weiß ich nicht. Als ich es jetzt etwas näher studierte, war ich schockiert, wie knüppeldick hier die nationalsozialistische Propaganda aufgetragen wird. Bereits im Vorwort wird die Sichtweise der deutschen Geschichte, die hier vermittelt wird, klar beschrieben. 

Hart war oft das Schicksal des deutschen Volkes, aber gerade in Zeiten größter Not zeigte sich auch die Anspannung höchster Kräfte, fanden sich Führerpersönlichkeiten von außergewöhnlicher Bedeutung.
 
In einer Art Frontispiz erscheinen dann auch auf einer Seite die vier Männer, die dieses Führerprinzip am stärksten zum Ausdruck brachten: Friedrich der Große, Bismarck, Hindenburg und Hitler. Die derzeitige politische Situation in Deutschland wird den meist jugendlichen Sammlern der Bilder wie folgt erklärt:

Aus stolzer Höhe in den brodelnden Hexenkessel eines brutalen Materialismus, der jeder anständigen Gesinnung Hohn sprach, hinabgeschleudert, unterdrückten Selbstsucht und kleinlicher Hader jedes Aufflackern nationaler und sozialer Gesinnung. Und dennoch, mitten in diesem Golgatha, erhob sich schon das Neue – aufreizend aus tiefster Lethargie zum Kampf! Vom greisen Reichspräsidenten auf den Posten des Kanzlers des Deutschen Reiches erhoben, hat Adolf Hitler, der Vorkämpfer der uralten und doch ewig neuen Idee vom wahren Volksstaat, mit dem Bau dieses Staates, des nationalsozialistischen Staates, begonnen. In seiner Gesamtheit hat sich das deutsche Volk am 12. November 1933 hinter seine Regierung gestellt und damit dem Volkskanzler einen überwältigen Beweis seines Vertrauens gegeben.

Die erzieherischen Ideale, die mit dieser Veröffentlichung angestrebt werden, werden mit den folgenden Sätzen näher erläutert:

Opferbereitschaft und Wahrhaftigkeit, Treue und Pflichterfüllung sollen nach dem Willen des Führers die Grundlagen bilden zur wahren Volksgemeinschaft. ‚Du bist nichts, Dein Volk ist alles!‘ und ‚Alles für Deutschland‘, das soll der Leitgedanke dieses Werkes sein. Wie Deutschland aus tiefster Schmach immer wieder den Weg fand zu höchster Geltung im Weltgeschehen, das soll in diesen 360 Bildern aus deutscher Geschichte an uns vorüberziehen. Was in den Nachkriegsjahren unserer Jugend vorenthalten wurde, die Achtung vor nationaler Größe und heldischem Geist, das wollen wir helfen, weiter zu festigen. ‚Nur in der eigenen Kraft ruht das Schicksal der Nation‘ (Moltke). 

Soweit das Vorwort. Jetzt kurz zum Inhalt. Am Anfang werden die Germanen vorgestellt, als ‚Volk ohne Raum‘. Sie lebten friedlich, bis dass die Römer sie Stamm für Stamm bezwangen und versuchten ihnen das wenige Land noch wegzunehmen.

 
Germanischer Edelhof

Als es dann Hermann dem Cherusker für einen einzigen historischen Moment gelang, die Stämme zu einigen, konnte man den Römern in der Varus-Schlacht eine vernichtende Niederlage beibringen. In der Völkerwanderung entlud sich dann der Druck im Kessel und die Germanen zogen kreuz und quer durch Europa und Afrika. Immer wieder ließen sie sich von den Römern dazu missbrauchen, gegen andere Germanen zu kämpfen. Erst Karl der Große stellte unter der Führung der Franken ein Reich her, das von andern Völkern geachtet wurde. Otto der Große und Friedrich Barbarossa vollbrachten ähnliche Taten.

   
Schlacht im Teutoburger Wald

Aus dem späten Mittelalter ragen Taten hervor wie die Eroberung Roms durch deutsche Landsknechte unter dem alten Georg von Frundsberg (1527) oder die Entdeckungsreise von Philipp von Hutten und Bartholomäus Welser durch Venezuela (1541). Infolge der vom ‚großen‘ Reformator Martin Luther ausgelösten Glaubens­spaltung kämpften alsbald wieder Deutsche gegen Deutsche. Gemeint ist der 30-jährige Krieg. Da anschließend das habsburgisch-österreichische Kaisertum immer mehr in erstarrten Formen erlahmte, wuchs in Brandenburg-Preußen schließlich die Macht heran, die berufen war, Deutschland zu neuer Größe zu führen.

  
Deutsche Landsknechte erstürmen Rom

Noch trieben die Franzosen im Westen ihr Unwesen. Nicht nur nahmen sie uns Straßburg weg, sondern zerstörten auch das Heidelberger Schloss. Nach und nach gelang es Friedrich dem Großen die Österreicher aus Schlesien zu vertreiben. Er gewinnt Schlacht um Schlacht, auch gegen die dreifache Übermacht wie 1757 bei Leuthen.

   
Friedrich der Große nach Schlacht von Kolin

Napoléons genialem Dämon gegenüber zogen die Preußen 1807 in der Schlacht von Jena und Auerstädt den Kürzeren. Die durch Napoléon erlittenen Erniedrigungen läuterten schließlich das deutsche Volk und führten zu einer nationalen Wiedergeburt. Zunächst waren es nur einzelne Freicorps, die Widerstand leisteten, bis schließlich nach den Völkerschlachten von Leipzig und Waterloo Napoléons Spuk beendet wurde. Dass Blücher als Marschall Vorwärts einen großen Verdienst an den Siegen hatte, wusste damals jedes Kind. Nach der Revolution von 1848 lehnte Friedrich IV. die deutsche Kaiserkrone noch ab (er wollte nicht vom Volk gekrönt werden). Lieber krönte man sich selbst zum König, wie dies nach ihm auch Wilhelm I. im Jahre 1861 tat.


Krönung Wilhelms I. in Königsberg
 

Nachdem 1866 bei Königsgrätz die Österreicher endgültig in die Schranken verwiesen waren, konnte man sich 1870 dem Erbfeind zuwenden. Im Schloss von Versailles akzeptierte Wilhelm I. dann die Krone des um Österreich dezimierten Restreiches aus der Hand anderer Fürsten. Zustande gekommen war dies, weil Bismarck als größter Staatsmann seiner Zeit wusste, wie man die ‚Sehnsucht des Volkes‘ am besten erfüllt.

 
Zusammenstoß mit Japanern bei Tsingtau

Fast 20 Seiten nimmt der erste Weltkrieg ein. Dargestellt werden die Kämpfe in allen Kolonien, angefangen von Tsingtau bis zur heldenhaften Verteidigung Deutsch-Ostafrikas durch Lettow-Vorbeck. Hindenburgs gloreicher Feldzug in Ostpreußen beeindruckte mehr als der langwierige Stellungskrieg im Westen.

  
Angriff der Engländer auf Gallipoli

Nicht vergessen ist die Verhinderung der von Churchill betriebenen Landung der Engländer in den Dardanellen durch die türkischen Verbündeten bei Gallipoli. Vor allem aber sind es die Helden des Luftkriegs, die als Vorbilder dargestellt werden, an ihrer Spitze Manfred von Richthofen, den seine ehemaligen Kriegsgegner heute noch als Roten Baron verehren.


Manfred von Richthofen

Die Niederlage an der Front und der Sturz der Monarchie verunsicherten das Volk. Erst die Nazis gaben ihm seinen Stolz zurück. Das letzte Kapitel handelt vom Dritten Reich. Es wird mit den folgenden Sätzen eingeleitet.

Während der Schandvertrag von Versailles den Krieg in Permanenz erklärt und das deutsche Volk zu tiefster Schmach und Not verurteilt, versuchen vierzehn Jahre lang rasch aufeinander folgende Regierungen das unglückliche deutsche Volk über seine Lage zu täuschen. Ein Parteienchaos entsteht…Ein gütiges Schicksal hat Deutschland wiederum den Mann gesandt, der, aus dem Volke kommend, als Frontsoldat viereinhalbes [sic!] Jahr für unser Vaterland gekämpft und auch gelitten hat: Adolf Hitler.
 
Nicht nur führt Hitler die bislang meist zerstrittenen Volksgruppen und Volksschichten zusammen, die Arbeiter der Stirn und der Faust, die aus dem Norden und die aus dem Süden. Vor allem zeigt er den Weg zum wirtschaftlichen Aufschwung, zu Vollbeschäftigung, zu Selbstachtung und Weltgeltung. 

 
Reichsparteitag in Nürnberg
 
Unverkennbar ist die Botschaft, die hier aus der deutschen Geschichte für die Zeitgenossen, und insbesondere für die Jugend, abgeleitet wird. Mit welch hohem Ethos und welch moralischer Strenge argumentiert wird, überrascht mich noch mehr als das geradezu schwülstige Pathos, mit dem dies geschieht. Der Zweite Weltkrieg ist hier noch sechs Jahre entfernt. Danach war, zumindest unter dem größten Teil der Bevölkerung, die Gegenreaktion eindeutig. Da wir West- und Süddeutsche die lange kulturelle Bevormundung durch das Preußentum und den von den Nazis übertriebenen Zentralismus endlich abschütteln konnten, kam es zu der föderalen Verfassung der neuen Republik, wie sie primär in der Bildungs- und Kulturpolitik zum Ausdruck kommt. Diejenigen von uns, die den Föderalismus heute als überholt empfinden, werden hier daran erinnert, warum wir ihn haben und haben sollten. 

 
Rückseite eines Bildes

Noch einige Bemerkungen zum Zustand des Albums. Das Papier ist sehr vergilbt und die ersten und letzten Seiten sind stark von Säure zersetzt. Auch gibt es einige Seiten mit Fettflecken. Zwei Bilder am Schluss (Nr. 359 und 360) fehlen. Ob sie jemals da waren, ist nicht mehr zu erkennen. Einige Bilder waren lose. Eines davon ist Bild 204, von der Königskrönung Wilhelms I. Ich habe es hier eingefügt, um an diesem Beispiel einen typischen Text der Rückseite zu zeigen. Offensichtlich hieß die Zigarettenmarke Alva. Was die 3 1/3 bedeutet, weiß ich nicht. In mehreren Bildern, auf denen Hitler abgebildet ist, ist dessen Gesicht zerkratzt. Auch gibt es einige Bleistiftmarkierungen. So war z.B. das Adjektiv ‚groß‘ bei dem Reformator Luther unterstrichen. Zu verstehen ist dies, weil die Familie meiner Vettern der katholischen Zentrumspartei nahestand. Einer meiner Vettern wurde später katholischer Priester.

Mittwoch, 7. September 2011

Niklas Luhmann und die Informatik

Es gibt in meinen Augen kaum einen Autor außerhalb der Informatik, der für die Informatik interessanter und nützlicher ist als er, obwohl ihn kaum ein Informatiker kennt. Gemeint ist Niklas Luhmann (1927-1998). Sein Problem: Er war Jurist und Soziologe. Er wird daher in Informatik-Büchern nicht zitiert. Wer trotzdem versucht ihn zu lesen, muss eine neue Fachsprache lernen, das Soziologen-Deutsch. 

Luhmann war ein enorm fleißiger und systematischer Arbeiter. Der äußere Beweis waren seine Zettelkästen. Kommen andere Wissenschaftler vielleicht auf ein paar Hundert Literaturnachweise, bei ihm waren es zig Tausende. Auf den Vorderseiten enthalten seine Zettel die üblichen bibliografischen Angaben zuzüglich Schlagwörtern, auf der Rückseite eine Zusammenfassung des Inhalts, soweit relevant. Heute ist die Universität Bielefeld stolz diesen Schatz zu besitzen.

Warum Luhmann für die Informatik wichtig ist, liegt an den Themen, zu denen er fundierte Aussagen machte. Im Folgenden greife ich vier Themen heraus: System, Information, Kommunikation und Komplexität. Meine Ausführungen basieren auf seinem bekannten zweibändigen Werk Die Gesellschaft der Gesellschaft (5. Auflage, 1998). Ich zitiere teilweise wörtlich, auch ohne dies besonders zu kennzeichnen.

Vorwegschicken möchte ich, dass ich Luhmanns Definitionen nicht unbedingt als optimal für die Zwecke der Informatik ansehe. Sie führen jedoch alle deutlich über das hinaus, was Informatiker heute in ihren Lehrbüchern finden. Sie können daher helfen, zu einem besseren Begriffsgerüst zu gelangen, als wir es heute haben.

Systembegriff

Ein System ist ein meist komplexes Gebilde, das zunächst dadurch charakterisiert wird, dass es zwischen sich und der Umwelt unterscheidet. Während Informatiker und Mathematiker (als jedweder Bedeutung abholde Strukturwissenschaftler) sofort damit beginnen, sich für die Art und die Form der internen Struktur zu interessieren, ist diese an sich von relativ geringer Bedeutung. Es können konzentrische Kreise sein, ein binärer Baum, ein radial strahlender Stern, mehrdimensionale Gitter oder aber Zellklumpen oder gar Wolkenformationen. Die wichtigsten Eigenschaften eines Systems sind davon nicht betroffen. Viel wichtiger als die innere Struktur ist, ob und wie das System mit der Umwelt interagiert und ob es ein Gedächtnis hat.

Es gibt geschlossene und offene Systeme. Ein System ist geschlossen, wenn die Umwelt keinen Einfluss hat. System und Umwelt können sich gleichzeitig verändern. Ein offenes System nimmt Veränderungen in der Umwelt laufend zur Kenntnis. Es verarbeitet Information über die Umwelt. Die Grenzen des Systems können sich ändern und verschieben, bleiben aber immer klar definiert. Ein System kann nicht nur ein Gedächtnis bezüglich des eigenen Zustands haben, sondern auch bezüglich des Zustands der Umwelt. Ein System hat interagierende Komponenten und kann sich in Subsysteme aufteilen. 

Von ganz besonderem Relevanz in Biologie und Soziologie ist die Frage, ob ein System sich selbst reproduzieren oder selbst seine Existenz sichern kann. Die interessantesten Systeme tun genau das. Luhmann und andere Soziologen verwenden (in Anlehnung an den chilenischen Biologen Humberto Maturana) dafür das Attribut ‚autopoietisch‘. Es ist dies die Übersetzung von ‚selbsterzeugend‘ ins Altgriechische. Ich werde im Folgenden dieses ungewohnte Fremdwort nicht benötigen.

Informationsbegriff

Durch Information kommt eine Auswahl zwischen verschiedenen Möglichkeiten zustande. Es wird Unsicherheit reduziert. Information entsteht nicht beim Schreiben, sondern erst beim Empfang, nicht beim Sender, sondern erst beim Empfänger. Der Informationsgehalt ist die Änderung im Zustand des sie verarbeitenden Systems, also des Empfängers. Information ist ein Ausdruck des system-internen Zustands. Je komplexer ein System, desto mehr Information besitzt es.

Nicht Informationen werden übertragen, sondern nur Nachrichten. Nachrichten haben ein mediales Substrat und eine Form. Ersteres bestimmt, welche Sinne oder Geräte eingesetzt werden; letzteres wie die Differenz zum Hintergrund oder zur Umgebung erkannt werden kann. Das Medium wird in der Regel nicht verbraucht. Es kann zu einer neuen Form aktualisiert werden.

Information ist nur dann Information, wenn sie neu ist. Eigentlich kann sie nicht wiederholt werden. Geschieht dies doch, dann aus pädagogischen oder sozialen Gründen. Alles Bekannte ist nämlich Nicht-Information. Information kann sowohl Wissen wie Unwissen (falsches Wissen) produzieren. 

Ein Redner kann auch ohne Information kommunizieren, etwa durch Schweigen. Beim Schreiben dagegen liegt der Schwerpunkt auf der Informationserzeugung. Ein Redner kann leichter erfahren, ob er verstanden wird, als ein Schreiber. Eine Schrift muss mit Lesern rechnen, die mehr wissen als der Autor. Sie kann Unmögliches fixieren, was erst später geglaubt wird.

Die Informationsgesellschaft verwendet besonders viel Zeit auf die Produktion und den Konsum von Information. Ein Teil davon bleibt jedoch ungenutzt.

Begriff der Kommunikation

Eine Kommunikation besteht immer aus drei Komponenten: der Information, der Nachricht (bei Luhmann heißt dies Mitteilung) und dem Verstehen. Sie beginnt, sobald man zwischen den drei Komponenten unterscheiden kann. Während Information und Nachricht meist zeitlich zusammenhängen, kann das Verstehen mit Verzögerung erfolgen.

Kommunikation setzt Annahme oder Ablehnung voraus. Eventuell gibt es Rückfragen oder Zweifel. Kommunikation findet nur dann statt, wenn sie verstanden wird. Sie kann auch abgelehnt werden, obwohl man sie versteht. Wer kommuniziert weiß, dass er kommuniziert (d.h. er reflektiert). Der Anlass von Kommunikation ist Nicht-Wissen. Um neues Wissen zu erzeugen, wird Wissen vorausgesetzt. Es ist unrealistisch anzunehmen, dass jemand weiß, was er nicht weiß.

Bei der Telekommunikation gehen die räumlichen und zeitlichen Beschränkungen gegen Null. Computer können auch unter sich kommunizieren, wenn sie sich gegenseitig fragen, was sie noch nicht wissen. Dadurch wird Kommunikation von der Gesellschaft entkoppelt. Es verschwindet auch die Autorität der Quelle. An die Stelle des personalisierten Vertrauens tritt Systemvertrauen.

Eine Gesellschaft ist nicht eine Ansammlung von Menschen, sondern ein System der Kommunikation. Nur wer kommuniziert, ist Teil der Gesellschaft. Die Gesellschaft vollzieht sich in der Kommunikation. Eine moderne Gesellschaft besteht in der Regel aus mehreren funktionalen Subsystemen, die sich ihre eigenen Grenzen geben.

Begriff der Komplexität

Komplexität entsteht durch Ausdifferenzierung immer neuer Objekte und Lebensformen. Sie ist ein Nebeneffekt der Evolution (nicht ihr Ziel) und der Geschäftstätigkeit. Durch Differenzierung gelingt es, flexibler auf die Umwelt zu reagieren. Systeme dienen der Reduktion von Komplexität, indem sie vereinfachte Annahmen über ihre Umwelt machen. Die Interaktion mit der Umwelt wird auf wenige Operationen reduziert. Aus Überraschungen wird Information. Es werden (gedankliche) Strukturen gebildet. Jedes System hilft dabei, ‚Sinn‘ zu schaffen, d.h. Veränderungen zu erkennen, die nützlich und sinnvoll sind. Luhmann benutzt das Wort Sinn immer in Anführungszeichen. Bei Systemen, die der Evolution unterliegen, kann ich zwar erahnen, was er damit meint. Bei Systemen im Allgemeinen kann ich ihm nicht mehr folgen.

Zum Schluss noch ein schöner Satz von Luhmann, den ich auch nicht verstehe: „Je höher die Systemkomplexität, desto wahrscheinlicher sind Innovationen.“ Vielleicht kann mir ein Leser ihn erklären.

Ausblick

Soweit also Luhmann. Dass sein Informationsbegriff große Ähnlichkeiten aufweist mit dem, was ich in einem früheren Beitrag über die Lebenswissenschaften geschrieben habe, ist an sich keine Überraschung. Luhmann geht voll in die Richtung der semantischen Auffassung, dass Information erst durch Interpretation entsteht. Beide Auffassungen sind für die Informatik nicht ganz befriedigend, Der Testfall, an dem meine derzeitigen Gesprächs­partner und ich uns verhaken, ist der im obigem Beitrag zitierte Satz:

Ein Buch, das nicht gelesen wurde, enthält genauso viel Information wie ein Buch, das nie geschrieben wurde, nämlich keine.
Mit dieser Auffassung können wir, d.h. Hans Diel, Peter Hiemann und ich, uns nicht anfreunden. Für uns enthält das nicht-gelesene Buch Information – vorausgesetzt es enthält Texte oder Bilder, die von Menschen verstanden werden, die zu einem ähnlichen Kulturkreis gehören wie der Autor. Meine Leserinnen und Leser können erwarten, dass wir das Thema Informatik und Informationsbegriff nochmals aufgreifen werden, sobald wir etwas zu sagen haben.

Montag, 5. September 2011

Ernst Denert über Software Engineering und selbständiges Unternehmertum

Ernst Denert war von 1976-1982 bei der Firma Softlab in München als Projekt- und Abteilungsleiter tätig. Er gründete 1982 zusammen mit Ulf Maiborn die Firma sd&m AG in München, und war bis 2001 deren Geschäftsführer und Vorstandsvorsitzender. Nach Veräußerung der Firma an Cap Gemini engagierte er sich bis Ende 2009 bei der IVU Traffic Technologies AG, Berlin, als Vorstands­vorsitzender. Seit 1989 vergibt die Ernst Denert-Stiftung jährlich den Software-Engineering-Preis. Seit 1991 ist Denert Honorarprofessor an der TU München. Er war von 1996-1997 Vizepräsident der GI, ein Amt, das er bis vor kurzem noch einmal ausgeübt hat. Seit 2010 ist er Kuratoriumsvorsitzender des Fraunhofer-Instituts IESE, Kaiserslautern, sowie Mitglied des Aufsichtsrats der TELES AG, Berlin. Denert hat an der TU Berlin in Informatik promoviert. Er ist seit 2003 GI-Fellow.



Bertal Dresen (BD): Ich möchte zu Beginn an ein Interview anknüpfen, das ich im Jahre 1987 als Hauptherausgeber der damals gerade neugegründeten Zeitschrift ‚Informatik – Forschung und Entwicklung‘ mit Ihnen führte [1]. Wir hatten uns über das Projekt START unterhalten, das damals nur wenige Jahre hinter Ihnen lag. Ich hielt nicht nur Art und Umfang des Projekts für sehr beachtenswert, sondern auch die von Ihnen benutzten Konzepte und Methoden. Welche Bedeutung hatte dieses Projekt für Sie, im Rückblick gesehen? Was waren die bleibenden Erfahrungen?

Ernst Denert (ED): Das START-Projekt hat mein berufliches Leben als Software-Ingenieur entscheidend geprägt. Es war – zumindest für die damalige Zeit, die zweite Hälfte der 70er Jahre − ein großes und innovatives Projekt, das mir die Gelegenheit bot, Ideen auszuprobieren, die ich von der Uni, der TU Berlin, mitgebracht hatte: hauptsächlich die Datenabstraktion als Prinzip der Modularisierung von Software. Ich hatte darüber bei David Parnas gelesen (z.B. seinen berühmten Artikel „On the criteria to be used in decomposing systems into modules“), erste Erfahrungen mit objektorientierter Programmierung in Simula gemacht und die algebraische Spezifikation abstrakter Datentypen von John Guttag studiert. Glücklicherweise konnte ich meine Kollegen bei Softlab dafür gewinnen, die Architektur der START-Anwendungssoftware mit Datenabstraktions-Moduln zu gestalten. So nannten wir unseren Vorläufer des OO-Designs. Ich glaube, wir waren weltweit die Ersten, die ein Softwaresystem in der Praxis derart konstru­ierten. (Es kann sein, dass Ivar Jacobsen zur selben Zeit Ähnliches gemacht hat.)

BD: Sie hatten 1982 zusammen mit Ulf Maiborn die Firma sd&m gegründet und waren recht erfolgreich. Welche allgemeinen Ratschläge würden Sie aufgrund Ihrer Erfahrung einem Informatiker mitgeben, der sich heute selbständig machen will? Wie kann er seine persönlichen Risiken klein halten und sich dennoch gut im Markt positionieren? Warum ist es sinnvoll, feste Preise für Projekte zu vereinbaren, statt nach Zeit und Kosten abzurechnen? Wie betreibt man am erfolgreichsten die Akquisition von Projekten?

ED: Mein wichtigster Rat: Nach der Hochschule erst einmal Erfahrungen in der Wirtschaft sammeln. Es reicht nicht, nur eine gute (Produkt-) Idee zu haben, man muss als Unternehmer den Markt und Kunden kennen, Geschäftsbeziehungen anbahnen und wirtschaften können, Mitarbeiter rekrutieren und führen lernen, kurz: Berufslebenserfahrung haben. 

Ich stehe mit dieser Auffassung etwas im Gegensatz zu den Bestrebungen der Unis und Gründerzentren, die aus einem Doktoranden und seiner Dissertation umgehend einen Unternehmer mit seinem Produkt machen wollen. Ich halte es für wichtig, dass Jungunternehmer lernen, vom Geld ihrer Kunden zu leben und nicht von Investoren. Deren Kapital ist zwar notwendig, wenn man mit einem Produkt in den Markt will, aber verführerisch, weil man – zunächst – die Kunden nicht braucht und darüber vernachlässigt.

Es ist ganz gut, mit Aufwandsverrechnung zu beginnen, für Festpreisprojekte braucht man eine ordentliche Portion Erfahrung und ein finanzielles Polster. Unser erstes großes Festpreisprojekt haben wir bei sd&m auch erst nach drei Jahren gemacht. Ein Kollege bei sd&m sagte: „Jeder bekommt das Projekt, das ihm der Kunde zutraut.“ Bei der Akquisition kommt es eben auf die persönliche Ausstrahlung an, auf Kompetenz, Glaubwürdigkeit, Überzeugungskraft.

BD: Neben dem Projektgeschäft ist das Produktgeschäft für viele Software-Unternehmer eine zweite Säule. Wo sehen Sie die wesentlichen Unterschiede? Ist es primär die höhere Kapitalisierung, die erforderlich ist? Es gibt Kollegen, die meinen, dass beide Geschäfte sich sehr gut ergänzen. Wie sehen Sie das? Gibt es wesentliche Unterschiede in Bezug auf Entwicklungsmethoden und Projekt-Management?

ED: Bei sd&m haben wir ausschließlich Projektgeschäft betrieben, bei der IVU fast nur Produkte vermarktet, hauptsächlich Software, teilweise auch in Verbindung mit spezieller Hardware. Es ist ein großer Unterschied. Nicht so sehr in der Kapitalisie­rung, vielmehr in der Organisation und Arbeitsweise. Im Projektgeschäft sind die Mitarbeiter stark kundenorientiert, oft arbeiten sie beim Kunden, in der Produkt­entwicklung sind sie dagegen eher kundenfern und stehen mit den kundennahen Vertriebsleuten häufig im Konflikt. Außerdem ist die wirtschaftliche Lage weniger transparent als bei den Projektleuten mit ihren „billable hours“. In puncto Entwicklungsmethoden und Projekt-Management sehe ich dagegen weniger Unterschiede zwischen Projekt- und Produktgeschäft.

BD: Wie Sie 1993 in einem Gespräch mit dem Historiker Bill Asprey erwähnten, haben sich viele Leute bei sd&m beworben, weil sie so arbeiten wollten, wie Sie es in Ihren bekannten Buch [2] beschrieben haben. Sie vertreten darin eine sehr pragmatische Auffassung des Software Engineering. Nur vor CASE-Tools warnen Sie. Wo sehen Sie heute die Hauptprobleme der Software-Entwicklung? Gibt es neuere methodische Ansätze, die wesentlich über den Stand von 1991 hinausgehen? Hat die Tätigkeit für die IVU möglicherweise Ihre Sicht verändert? Wie beurteilen Sie die Hochschulausbildung im Fach Software-Engineering?

ED: Die CASE-Tools fand ich aus zwei Gründen ungeeignet, ja geradezu gefährlich: Erstens basierten sie auf Structured Analysis (SA), einer grafischen Methode, die dem objektorientierten Paradigma diametral entgegengesetzt ist. Und zweitens halte ich das Generieren lauffähiger Softwaresysteme aus einer irgendwie gearteten Spezifikation, gar einer SA-Grafik, für einen ewigen Informatikertraum.

In meiner aktiven Zeit als Software-Ingenieur hatten wir relativ einfache Entwick­lungsumgebungen: einen Editor, ein Dateisystem, eine Programmiersprache mit ihrem Compiler, oft aus einer Hand, von einem Hersteller wie etwa IBM. Damit haben wir Anwendungen programmiert, die auf einem Betriebssystem, eventuell mit Transaktionsmonitor, und einem Datenbanksystem laufen mussten. Heute sind die Werkzeuge viel mächtiger, aber auch komplexer und schwerer zu beherrschen. Bis ein Framework von einem Team wirklich beherrscht, effizient und einheitlich genutzt wird, gibt es eine Menge Fehler.

In den Grundsätzen des Software-Engineerings hat sich seit 1991 nicht so viel geändert – sofern man nicht der agilen Glaubensgemeinschaft beigetreten ist –, in der Technik jedoch sehr wohl: die Plattformen, für die wir heute entwickeln, und die Mittel dafür (Programmiersprachen und -umgebungen) sind anders, erheblich leistungsfähiger und damit komplexer. Das habe ich zuletzt bei der IVU erlebt und erlitten.

Die Informatikausbildung an den deutschen Hochschulen und Universitäten halte ich für gut. Einen Gutteil meines beruflichen Erfolgs verdanke ich ihren Absolventen.

BD: Sie haben sich öfters dazu geäußert, welche Personalpolitik ein Unternehmer in der Software-Branche betreiben soll, um Erfolg zu haben. Es beginnt mit der Auswahl geeigneter Mitarbeiter, über ihre Weiterbildung bis hin zu Laufbahnfragen, Mitbeteiligung und Vergütung. Was halten Sie heute für die wichtigsten Prinzipien einer guten Personalpolitik? Welche Unterschiede gilt es zu beachten zwischen Firmen, die Projekte für andere Unternehmen machen (wie sd&m), und solchen, die primär eigene Anwendungen entwickeln (wie IVU)? Wie sehen Sie das Verhältnis zwischen Informatik und Fachabteilungen?

ED: Eine gute Personalpolitik fängt mit der Auswahl der richtigen Mitarbeiter an. In einem Vortrag auf der SEUH-Tagung in Stuttgart im Jahre 2007 [3] habe ich die Anforderungen beschrieben, zusammengefasst: eine sehr gute informatische Ausbildung und eine starke Persönlichkeit. Unter einer guten Führung ist dann eine hohe Leistung der Einzelnen und des Teams selbstverständlich, ein paar Merkmale in der Unternehmenskultur vorausgesetzt: offene Kommunikation über (fast) alle Unternehmensbelange − gute und schlechte Nachrichten gleichermaßen −, Verständnis für die Mitarbeiter, Fairness und Gerechtigkeit, interessante Aufgaben, Freiraum und Verantwortung.

Einen großen Unterschied in der Personalpolitik zwischen Projekt- und Produktunter­nehmen sehe ich nicht, allenfalls müssen Produktentwickler mehr angehalten werden, ihre Anwender besser zu verstehen, als die Projektleute, die in den Fach­abteilungen ihren eigentlichen Auftraggeber sehen.

BD: Sie haben 1989 die Ernst Denert-Stiftung gegründet, um – wie Sie sagen – der Gesellschaft und der Informatik im Besondern etwas zurückzugeben. Haben sich hier Ihre Erwartungen erfüllt? Was könnte evtl. besser laufen?

ED: Ja, die Stiftung macht mir Freude und auch ein wenig Arbeit, beispielsweise die Vergabe des Software-Engineering-Preises, der seit fast 20 Jahren vergeben wird und sich eines beträchtlichen Renommees erfreut. Die Initiative „Informatik studieren!“ lässt sich gut an, sie verfolgt ein wichtiges Ziel: mehr junge Leute für das Informatikstudium gewinnen. Die Stiftung wird vom Stifterverband für die Deutsche Wissen­schaft verwaltet. Damit bin ich sehr zufrieden.

Ich fange an, darüber nachzudenken, wie es langfristig weitergehen soll. Eine Stiftung ist ja erst einmal für die Ewigkeit angelegt, aber ich kann mir nicht vorstellen, dass sich 20 Jahre nach meinem Tod noch jemand für die Ernst Denert-Stiftung interessiert oder sie gar inhaltlich weiterführt. Was also tun: Auslaufen lassen, d.h. das Vermögen verbrauchen, oder es in eine andere Stiftung übertragen?

BD: Sie haben sehr viel Zeit und Energie für die Gesellschaft für Informatik (GI) aufgebracht. Warum taten Sie dies, obwohl der Hauptberuf Sie sicherlich sehr forderte? Was raten Sie Kollegen aus der Industrie in dieser Hinsicht?

ED: Auf diese Frage möchte ich nicht eingehen, nachdem ich im März als GI-Vizepräsident zurückgetreten bin.

BD: Herr Denert, vielen Dank für das Interview. Ich bin überzeugt, dass auch dieser Gedankenaustausch zweier älterer Herren auf Interesse bei meinen Lesern stößt. Dass Ihr Engagement für die GI diese Wende nahm, war mir neu. Es tut mir leid, dies zu hören.

Zusätzliche Referenzen:

1. Das START-Projekt. Interview mit Dr. Ernst Denert. Inf. Forsch. & Entw. 2,1; 49-52
2. Denert, E.: Software Engineering. Heidelberg 1991
3. Denert, E.: Was wir vom Software-Ingenieur erwarten: Gleichgewicht von Fachwissen und Persönlichkeit. In: Zeller, A., Deininger, M.: (Eds.): Software Engineering im Unterricht der Hochschulen, SEUH 10. Heidelberg 2007, 1-5

Sonntag, 4. September 2011

Erfahrungen mit der Spracheingabe am Computer

‚Zum Diktat bitte‘. Es gehört zum Stoff von Bürosagen, dass dies die Worte waren, mit denen einst ein Chef die Dame im Vorzimmer in seine Nähe holen konnte. Ich habe diese Zeit nicht mehr erlebt. Mit den diversen späteren Varianten, welche die leibhaftige Person durch Magnetfolien und Ton-Cassetten ersetzten, konnte ich mich nicht anfreunden. Erst vor ein paar Jahren habe ich als Ruheständler eine Lösung gefunden, mit der ich sinnvolle Arbeit leisten kann. 

Die Software, die ich dafür benutze, heißt Nuance Dragon Naturally Speaking und kam mit einem am Kopf fest zu klammerden Mikrofon (einem Headset). Ich installierte das Programm, wählte mir ein Namenskürzel, sprach einen vorgegebenen halbseitigen Übungstext und los ging es. Beim nächsten Mal musste ich mich demselben Namenskürzel zuordnen.

Man spricht den Text satzweise ins Mikrofon. In dem Moment, in dem man Luft holt, erscheint der Text in einem Arbeitsfeld am Bildschirm. Man kann ihn entfernen, indem man ‚Bitte löschen‘ sagt. Man kann auch weiter diktieren, bis das Bildschirmfeld voll ist. Das entspricht etwa einem Paragrafen im Text  oder einer drittel Schreibmaschinenseite. Dann schaltet man durch Anklicken das abgebildete Mikrofon aus. Man kann dafür auch die Worte ‚Mikrofon aus‘ verwenden. Anschließend leert man das Arbeitsfeld, indem man den aktuell erzeugten Textblock in eine Datei speichert. Und weiter geht es, indem man das Mikrofon wieder anschaltet. Nach Ende des ganzen Diktats sieht man sich das Ergebnis an und stellt fest, dass es durchaus brauchbar ist.

Natürlich sind Verbesserungen erforderlich. Aber das Gerippe des Textes steht. Das Überraschende dabei ist, dass alle langen und schwierigen Wörter auf Anhieb richtig sind. Wo sich am ehesten Fehler einschlichen, ist bei den Allerweltswörtern wie ‚sich‘, ‚mich‘, ‚mein‘, ‚sein‘, ‚schon‘ und ‚scheinen‘. Hier kommen vermutlich auch schlechte Angewohnheiten zum Vorschein, oder mein Nuscheln. Da meine Einzelfinger-Tipptechnik keine Konkurrenz zur mündlichen Eingabe darstellt, spare ich nicht nur mehr als 50% der Zeit, bin auch am Ende weniger gestresst. Voraussetzung ist allerdings, dass der Text schon weitgehend formuliert vorliegt, z.B. handschriftlich.

Ein Beispiel, bei dem sich diese Vorgehensweise sehr bewährte, war das gerade erschienene Interview mit Karl-Heinz Strassemeyer. Herr Strassemeyer hatte mir die sieben Antworten zu meinen Fragen per Post auf sieben handschriftlich ausgefüllten Blättern zugeschickt. Ich hatte den Text in weniger als einer Stunde im Rechner. Da ich eine Variante des Programms mit IT-Vokabular eingestellt hatte, waren folgende Wortungeheuer alle sofort richtig: CMOS-Technologie, Hardware-Plattform, IBM Executive, Mainframe-Architektur, Standard-Algorithmus und Server-Konsoldierungskonzept. Selbst Ortsnamen wie Böblingen, Göttingen und Karlsruhe kannte man. Der einzige, vom System generierte Fehler wäre uns fast entgangen. Statt ‚Entwicklungskultur‘ produzierte es zweimal das Wort ‚Entwicklungsskulptur‘. Aber Herrn Strassemeyers Nichte fiel dieser Fehler gottseidank auf.

A propos Software: Es gibt mehrere Software-Pakete im Markt, die – so schätze ich – ein vergleichbares Niveau erreicht haben wie das von mir benutzte. Zu nennen ist vor allem das Paket Linguatec Voice Pro, das auf dem ursprünglich von IBM entwickelten Programm ViaVoice basiert. IBM hat sich vor Jahren aus dem Markt zurückgezogen. Für Mac-Nutzer gibt es MacSpeech Dictate. Von ‚Dragon Naturally Speaking‘ gibt es inzwischen Version 11.5. Es gibt davon eine Home, eine Professional und eine Advanced Edition, mit entsprechend abgestuften Preisen. Bei der von mir benutzten Version 9.0 hieß die billigste Variante ‚Standard Edition‘. Ich habe auch die kostenlose App ‚Dragon‘ auf meinem iPhone installiert. Von seiner Leistung bin ich aber nicht beeindruckt. Vielleicht soll sie auch nur den Appetit anregen.

PS: Dieser Beitrag hat die Nummer 100 in diesem Blog. Im Januar schätzte ich, dass ich diese Anzahl vielleicht im ganzen Jahr erreichen könnte. Dass es schneller ging, liegt vor allem an zwei Dingen, der Resonanz und Unterstützung, die dieses Projekt bei Kollegen fand, sowie der Leichtigkeit, mit der sich Texte und Bilder publizieren lassen.

Freitag, 2. September 2011

Software-Qualität und die Frage der Ehre

Im gestrigen Interview mit Karl-Heinz Strassemeyer wies dieser darauf hin, dass ein Entwickler, der sich der Open-Source-Kultur verpflichtet fühlt, seinen Code erst dann aus der Hand geben möchte, wenn er „damit Ehre einlegen kann“. Strassemeyer führte weiter aus: 

Ich weiß nicht, wie man plan-getriebene industrielle Entwicklungs-Teams so organisieren kann, dass der Entwickler mit seinem Code Ehre einlegen möchte. Bei wem sollte er überhaupt Ehre einlegen wollen?

Durch diese Frage fühlte ich mich direkt angesprochen, habe ich mich doch mehrfach mit der Frage von Professionalität und Verantwortung befasst, unter anderem in diesem Blog. Auch habe ich mich wiederholt gefragt, wie die missionarisch verbreitete Idee des quelloffenen Codes zu verstehen und wirtschaftlich und sozial einzuordnen ist. Ist man so lange in einem Gebiet tätig wie ich, nämlich über 60 Jahre, dann erscheint nicht alles neu, was als neu dargestellt wird. Ich benutze daher diese Gelegenheit, um etwas ausführlicher über meine Erfahrungen mit Software zu reflektieren.

Zunächst ein Wort zur Rolle von Projektplänen in der Entwicklung. Pläne stellen eine Vereinbarung zwischen Partnern dar, wie man ein gemeinsames Ziel zu erreichen beabsichtigt. Hat man weder Partner noch Ziele braucht man auch keinen Plan. Nimmt man seine Partner ernst, bemüht man sich zuverlässig zu sein, also den Plan einzuhalten. Zeitkritisch sind nur Projekte, die eine gewisse Bedeutung haben. Mal ist der Termin nur für das Weihnachtsgeschäft kritisch, mal für den gesamten Markterfolg. Parallelität in der Entwicklung ist immer dann der Ausweg, wenn entweder die benötigte Kompetenz und Kapazität nicht an einem Ort vorhanden ist, oder wenn das anders zu erreichende Fertigstellungsdatum inakzeptabel ist. Meine eigene Entwickler-Erfahrung führte mich daher zu folgender Bewertung: Projekte, bei denen es keine Rolle spielt, wann sie fertig werden, sollte man lieber ganz sein lassen. Im Übrigen korreliert planvolles Vorgehen häufiger mit qualitativ hochwertigen Ergebnissen als umgekehrt.

Um Programmieren zu lernen, ist es sehr nützlich, sich anderer Leute Code anzusehen. Ich erinnere mich noch gut, dass ich 1956 von der Qualität und dem Stil des Codes beeindruckt war, mit dem sich George Trimble und Elmer Kubie aus Endicott, NY, im Assembler für die IBM 650 verewigt hatten. Sie waren sozusagen meine persönlichen Lehrmeister, denen ich nachstrebte. Spätere Berufseinsteiger mussten sich andere Lehrmeister suchen. Generationen von Informatikern haben Quellcode von Edsger Dijkstra, Donald Knuth und Niklas Wirth studiert und daran ihren Stil verbessert. In der IBM wurde Quellcode immer mit verklausulierten Angaben zur Person des Entwicklers versehen, vordergründig um auf die Entstehungsgeschichte schließen zu können, nicht zuletzt aber auch, um den einzelnen Entwickler in die Verantwortung zu nehmen. Es wurde dies weniger an die große Glocke gehängt als bei Porsche die Unterschrift des Meisters auf jedem Motorblock. Es war aber im Prinzip dasselbe.

Die Strategie, den Quellcode nur bedingt zur Verfügung zu stellen, kam erst nach dem ‚Software Unbundling‘ in 1969 auf. Neben dem Schutz geistigen Eigentums sahen wir vor allem große technische Vorteile darin. Statt dass der technische Außendienst für die Behebung von Fehlern im Feld einzelne Korrekturzeilen im Quellcode erhielt, die er einbinden und kompilieren musste – mit hohem Arbeitsaufwand und großer Fehleranfälligkeit – , konnten wir ganze Moduln in Objektform als Korrektur anbieten. Das erlaubte etwas, was Kunden im Falle von Software nie machen wollten, nämlich vorbeugende Wartung. Ein Modul enthielt nicht nur die geforderte Korrektur, sondern Korrekturen zu allen Fehlern, die dieses Modul betrafen. Wir mussten daher nicht mehr warten, bis jeder Kunde auf jeden Fehler gestoßen war. Damit reduzierten wir die Anzahl der berichteten Fehler erheblich. Ich kann mich an keinen VSE-Kunden erinnern, der wegen des nicht mehr verfügbaren Quellcodes unglücklich war oder gar gekündigt hätte.

Die starke Betonung quantitativer Methoden innerhalb der IBM Software Community  durch Watts Humphrey führte dazu, dass vor allem Produktivität, Entwicklungsdauer und Fehlerhäufigkeit systematisch gemessen wurden. Sie spielten auch im internen Vergleich zwischen den Labors eine Rolle. Eigentlich wäre Rentabilität ein viel besseres Maß gewesen. Es wurde jedoch nicht herangezogen, weil hier Einflüsse dazu kamen, die außerhalb der Kontrolle des Entwicklers lagen. Was ebenfalls nicht quantifiziert wurde, war die Wartbarkeit. Immer wieder kam es dazu, dass die eine oder die andere Komponente re-implementiert wurde. Entschieden wurde hier aufgrund von Expertenurteilen. Beim DOS/VS Supervisor geschah dies mehrmals. Dann wurde auch gelegentlich Kritik zwischen Labors oder zwischen einzelnen Entwicklern laut. Immer war man bemüht, dafür zu sorgen, dass der einzelne Entwickler sich hinter dem Team zurücknahm. Wichtiger als der Erfolg eines Einzelnen war der Erfolg des Teams. Vielleicht sehe ich dies aber im Rückblick bereits etwas romantisch verbrämt.

Die Qualität von Code bekam gegenüber Produktivität und Entwicklungsdauer einen veränderten Stellenwert, als in den 1980er Jahren die Software-Wiederverwendung [1] stärker thematisiert wurde. Meine Kollegen in Böblingen setzten sich IBM-intern an die Spitze dieser Bewegung. Mit den Böblinger Bausteinen wurden insgesamt etwa 80 kLOC an Moduln, Klassen oder Routinen angeboten, die alle bekannten Datenstrukturen und Basisfunktionen abdeckten. Sie wurden von über 20 Projekten benutzt. Vor jeder Entscheidung wurden sie von den Benutzern sorgfältig analysiert. Ihre Akzeptanz war ausschließlich eine Folge ihrer hohen Qualität. Sie waren gut strukturiert, gut dokumentiert und de facto fehlerfrei. Von Kollegen in der ganzen Firma wurde nicht nur die ‚deutsche Qualität‘ gerühmt, sondern auch die Kompetenz einzelner Böblinger Entwickler. Wir erhielten zwar keine Umsatzbeteiligung, aber sehr viel Lob und Ehre. Das Ansehen, das unsere Firma damals besaß, brachte es mit sich, dass das, was sie tat, automatisch ein hohes Maß an Aufmerksamkeit in der Fachwelt erhielt. Die Kollegen vom FZI in Karlsruhe, die an diesem Böblinger Projekt mitgearbeitet hatten, waren daher überrascht und stolz zugleich, als sie von Universitäts­kollegen in Kalifornien zu hören bekamen, dass man in der Fachwelt dieses IBM-Projekt genau verfolge. Das alles geschah noch in einer Welt, in der proprietärer Code die Norm war.

Es wird hier die generelle Frage berührt, wie man technischen Leistungen die ihnen gebührende Anerkennung verschafft, vor allem aber, wer dafür verantwortlich ist. Meines Erachtens ist hier zu allererst die eigene Organisation gefordert, unterstützt durch den Feedback der eigenen Kunden. Nur die zweitbeste Lösung ist es, sich Hilfe von außerhalb der Firma zu holen. Ist die eigene Organisation nicht (mehr) fähig, ihren Technikern Anerkennung zu geben, sollte jeder professionelle Entwickler dies als Alarmzeichen ansehen, und sich schnellstens nach einem andern Wirkungsfeld umsehen. Entweder ist die Firma zu klein, schlecht geleitet, oder aber ihre Interessen liegen in einem ganz anderen Gebiet. So kann ich mir nicht vorstellen, dass die Motoren-Entwickler bei BMW, Mercedes und Porsche daran gemessen werden, was selbsternannte Juroren in Frauenzeitschriften oder Fanclubs von sich geben. Oder anders ausgedrückt: Man versucht Ehre bei dem einzulegen, dessen Anerkennung man haben möchte. Wenn die Organisation, die einen fördert und bezahlt, nicht auch die ist, bei der man Anerkennung haben will, so ist etwas faul. Offensichtlich wird nicht mehr die wertschöpfende Leistung vergütet, sondern irgendetwas anderes. Bekannte historische Beispiele sind Parteibuch oder Glaubensbekenntnis. Das mag einigen Leuten zusagen, passt aber nicht damit zusammen, wie normale Unternehmen funktionieren.

Für die Anerkennung von technischen Mitarbeitern gibt es eine Vielzahl von Möglichkeiten. Bei Unternehmen mit starker technischer Tradition findet die erfinderische Tätigkeit von Mitarbeitern eine besondere Beachtung. Man hält Ausschau nach Lösungen, die neuartig sind, da diese patentierfähig sind. Einmal geschützt, können sie wirtschaftlich sehr gut ausgenutzt werden. Dass der einzelne Erfinder seinerseits davon profitiert, ist in Deutschland sogar besser geregelt als anderswo (Stichwort: Erfindervergütung). Bei Software ist der Aspekt des Patentschutzes noch etwas unterentwickelt, ist aber – wie in diesem Blog nachgewiesen – stark im Kommen. Neben der Originalität der Lösung gibt es bei Software mehrere andere wichtige Kriterien, die für die Bewertung herangezogen werden können. Beispiele sind nutzer-relevante Funktionalität, angemessene Nutzer­schnittstelle, Robustheit gegenüber Hardware-, Software- und Nutzerfehlern, hoher Wiederverwendungswert, optimales Leistungs­verhalten und hohe Sicherheit. Schließlich mag auch die ‚Wohlgeformtheit‘ des Codes im Hinblick auf die spätere Wartbarkeit ins Gewicht fallen. Für die Entwickler ist es jedenfalls unabdingbar zu wissen, nach welchen Kriterien ihre Leistung von ihrem eigenen Management bewertet wird, und bei mehr als einem Kriterium, auch deren relative Priorität. Wie das Management diese Bewertung durchführen kann, darauf soll hier nicht weiter eingegangen werden. Bei wem die Verantwortung liegt, bedarf im Allgemeinen keiner Erklärung.

Die letzte Bemerkung, die ich machen möchte, bezieht sich auf die im Zitat zum Ausdruck kommende Selbsteinschätzung von Entwicklern. Selbstkritisch zu sein, ist zweifellos etwas Gutes. Diese Einstellung zu fördern, ist wichtig. Nur sind die Fähigkeiten des Einzelnen in dieser Hinsicht recht beschränkt. Selbst einem Genie unterlaufen bei der Programmierung Fehler, die einem Außenstehender sehr viel leichter auffallen als dem Autor selbst. Ein ausgereifter Entwicklungsprozess nimmt darauf Rücksicht. Ohne den Einzelnen zu demotivieren oder aus seiner Verantwortung zu entlassen, versucht man, zusätzliche Sicherheiten einzubauen. Dazu dienen Inspektionen und unabhängiges Testen. Sie sind in der Praxis unverzichtbar. Der selbstkritische Entwickler hält deshalb seinen Code nicht über Gebühr zurück, da er weiß, dass es für das Projekt insgesamt besser ist, wenn Inspektionen und Testen nicht allzu spät einsetzen oder gar an den Rand gedrängt werden. Dass diese Fakten in der Open-Source-Welt völlig in Vergessenheit geraten sein sollen, kann ich mir nicht vorstellen.

Zusätzliche Referenz:

1. Endres,A.: Software-Wiederverwendung Ziele, Wege und Erfahrungen, Informatik-Spektrum 11,2 (1988), 85-95