Wenn der Entwicklungsdruck besonders hoch ist, hilft kein Hokuspokus:

Super-Programmierer spielen Feuerwehr

10.04.1987

Wo Softwareprogramme komplex, eilig und schwierig zu realisieren sind, bringen Super-Programmierer sie schnell und erfolgreich zum Abschluß, meint Frank D. Peschanel*. Solche Spitzenfähigkeiten lassen sich häufig bei begabten Kräften entwickeln - doch zunächst müssen Entscheider ihre Berührungsangst vor den Mitarbeitern mit der Ausprägung "Excellence" überwinden.

Als im Frühjahr 1983 Professor Peter Molzberger von der Bundeswehr-Hochschule München mit Befragungen in Deutschland und den USA die ersten Untersuchungen zu dem Phänomen durchführte, das später Super-Programming (SP) genannt wurde, ahnte er nicht, daß gleichzeitig in den USA das anschließend berühmt gewordene Buch "In Search of Excellence" in den Druck ging. Beide Themen: "Excellence im Unternehmen" (Definition: einige 100 bis 1000 Prozent mehr Profit als die Mitbewerber) und "Super-Programming" als individuelle Spitzenleistung (Produktivität um den Faktor zwei bis dreißig über dem Branchenstandard), gehören zu derselben neuen Bewegung im Wirtschaftsleben, die immer mehr um sich greift.

Bei Spitzenleistung finden sich zwei Hauptkomponenten: einmal die individuelle Spitzenleistung (geniale Design-Idee, Erfindung/Entwicklung neuer Technologien als kreative Problemlösung, individuelle Hochproduktivität) und zum anderen die "hochkreative Gruppe" (gegebenenfalls die gesamte Firma), in der jeder einzelne seine Aufgabe etwas besser oder enthusiastischer tut als im Branchendurchschnitt üblich. Begleitende erstklassige technische Ausstattung durch hochwertige Produktionsmittel sind auch von Wichtigkeit, aber keineswegs der alles entscheidende Faktor.

In einer idealen Position sind Unternehmen, die alle drei Komponenten in sich vereinen - die hochproduktiven Individuen, die hochproduktive Gruppe und die begleitende hochwertige Ausstattung. Charakteristisch für Excellence/Spitzenleistung ist jener Mensch, der auf besondere Weise von den Produktionsmitteln Gebrauch macht.

Das hochproduktive Individuum in der Software-Entwicklung, der Super-Programmierer (SPR) ist, um einen Irrtum zu vermeiden, kein Rekord-Codierer, sondern ein exzellenter Software-Entwickler. Meist zeigen Super-Programmierer ihr besonderes Können in allen Phasen des Projekt-Entwicklungs-Zyklus, aber sie zeigen auch oft ausgeprägte Stärken in einzelnen Projektphasen, wie in Analyse und Design, in der Spezifikation, in der Erstellung von Pseudocode oder Code etc. Produktionszahlen von bis zu 1500 Befehlen Cobol pro Tag mit Entwurf, Codierung und Test in einer systemprogrammierungsähnlichen Umgebung können dabei zum Beispiel als Dauerleistung erbracht werden, allerdings nur von wirklichen Spitzenkönnern und bei zwölf Stunden Arbeit pro Tag.

Die häufigste Kritik an Superprogrammierern ist, diese Herrschaften seien "Primadonnen", "nicht ingenieurmäßig, sondern Code-Künstler" etc. - und wenn man diese Typen noch nicht ausgemerzt habe, dann müsse man das schleunigst nachholen. Viele Firmen haben nach dieser Philosophie, und zum Teil unterstützt von mißverstandenen Testmethoden, dafür gesorgt, daß in ihrem Haus seit langem kein Spitzenkönner von höchstem Niveau mehr zu finden ist.

Nicht für Feld-, Wald- und Wiesenprogrammierer

Dahinter verbirgt sich eher die Unsicherheit von Vorgesetzten, die selber diese Spitzenqualitäten nicht aufweisen und lieber nach Standardverfahren mit Standardkräften arbeiten. Dies ist kein Plädoyer dagegen - aber es gibt viele Entwicklungssituationen, die besser auf einem höheren Produktniveau ablaufen.

Rückblickende Untersuchungen haben gezeigt, daß Spitzenteams mit einem oder mehreren Spitzenkönnern wirkliche "Wunder" vollbracht haben. Daß vier Leute in einem Jahr ein Produkt erstellen können, für das ein Standard-Team aus zwölf Personen mehr als zwei Jahre braucht - wenn es überhaupt ans Ziel kommt -, ist keine Legende. Die ersten' allerdings noch nicht so umfangreichen Untersuchungen zu diesem Thema führte schon Gerald Weinberg Anfang der 70er Jahre durch.

Aus der damaligen Zeit stammt ein Versuch, bei dem alle Mitglieder einer Programmiergruppe dieselbe Aufgabe zur Bearbeitung erhielten. Damals war Speicherplatz noch ein rares Gut, und die Analyse der Ergebnisse zeigte, daß der Beste im Team ein Programm geschrieben hatte, das dreizehnmal schneller ablief und gleichzeitig ein Neuntel des Speicherplatzes des schlechtesten Programms brauchte - und er war auch noch als erster mit der Aufgabe fertig geworden. Super-Programming umfaßt diese Qualität der hochwertigen Software und gleichzeitig die erhöhte Produktivität bei der Lösung der gestellten Aufgabe.

Unter dem Aspekt einer kürzeren Entwicklungsdauer betrachtet, zeigt sich, daß Super-Programming nicht das Mittel zur Realisierung von Feld-Wald-und-Wiesen-Programmen ist, sondern daß es dort ansetzen sollte, wo schwierige Arbeit aus Konkurrenz- oder anderen Termingründen möglichst schnell und erfolgreich zum Abschluß gebracht werden soll, wenn eine Aufgabe komplex, eilig, schwierig und/oder neuartig ist.

Die genannten Zahlen und Fakten über Höchstleistungsprogrammieren sind so sehr abweichend von den üblichen Erfahrungen und Erwartungen, daß eine Reaktion der Ungläubigkeit zunächst gut verständlich ist. Ich weiß aus meiner Erfahrung als früherer Leiter eines größeren Softwarehauses, daß wir zwar wußten, daß einige Mitarbeiter "absolute Spitze" waren; aber wir erkannten damals - Ende der 70er Jahre - nicht, was das in Qualität und Zahlen wirklich bedeutete. Wir liefen damals an dem Phänomen vorbei, obwohl es sich täglich vor unseren Augen abspielte. Dazu ein Beispiel: Wir übernahmen die Wartung des Monitors eines großen Betriebssystems. Der Kunde erwartete die erste Fehlerbehebung nach 9 bis 16 Wochen. Unser Team, das vorher das Betriebssystem nur als Anwender kannte, brachte in zweieinhalb Wochen die erste Fehlerbehebung zu unserem Kunden. Hätten wir damals als Management besser verstanden, was unsere Spitzenleute wirklich tun wir hätten sicher unsererseits einige Dinge anders getan. Wir hätten erkannt, daß Spitzenleistung auf der SP-Ebene ein reproduzierbarer und zahlenmäßig greifbarer Prozeß ist, den man bewußt einplanen kann. Wir hätte auch verschiedenen Zeit- und Auswandsschätzungen dieser Spitzenleute mehr Glauben geschenkt und hätten diesen Herrschaften mehr Vertrauen in ihre Leistungsfähigkeit gegeben. Wir hätten mehr Mut gehabt, Angebote abzugeben für Aufgaben, die nur auf SP-Ebene realisierbar sind. Statt dessen haben wir damals diese Leute schrittweise frustriert und verloren - weil wir zwar erkannten, daß sie sehr gut waren, aber weil wir nicht erkannten, wie gut sie wirklich waren.

Was ist nun beim Denken und Arbeiten der Spitzen-Programmierer anders als bei ihren mehr auf dem Standard liegenden Kollegen? Sie haben, anders als ihre Kollegen mit den Standardleistungen, gelernt, auf stärkere Weise ihr visuelles Denken zu nutzen. Visuelles Denken, der rechten Gehirnhälfte zugeordnet, ist "parallel", schneller als verbal-sequentielles Arbeiten, und "ganzheitlicher". Entsprechend haben Super-Programmer die Qualität, viel mehr das Ganze (das Pflichtenheft, das User Interface, den Kunden und seine Bedürfnisse) "vor Augen" zu haben, während sie an einem Detail arbeiten. Hierher rührt auch der hohe Grad an Fehlerfreiheit und Konsistenz im Vergleich zu standardmäßig entwickelter Software. Die mit dem visuellen Denken einhergehende "Übersicht" erlaubt zum Beispiel, Fernwirkungen und komplexe Zusammenhänge zu berücksichtigen, die ein mehr linear denkender Entwickler einfach nicht erfassen kann (siehe auch CW Nr. 46 vom 14 November 1986, CW Nr. 49 vom 5. Dezember 1986 und CW Nr. 6 vom 6. Februar 1987).

Sonderkapitel von Human-Resources

Ein Superprogrammierer wird nicht als solcher geboren. Er geht durch eine Reihe von Entwicklungsstufen, die gut abgrenzbar sind. Wie weit ein in seiner Anlage grundsätzlich begabter Kandidat in seiner Entwicklung wirklich geht, hängt von mehreren Faktoren ab: zuallererst, ob er mit Freude und Faszination Software entwickelt. Dann davon, ob er in seinen Qualitäten erkannt, anerkannt und gefördert wird. Und ganz bedeutend auch davon, ob der Kandidat in seinem Inneren Spitzenleistung überhaupt für möglich hält und ob er ein Selbstbild hat, das ihm erlaubt, exzellent zu sein.

In den nächsten Jahren ist vor allem einmal die Aufklärung der interessierten Unternehmen über das nicht.- erkannte beziehungsweise nicht genutzte Potential und die Aufklärung der talentierten Software-Entwickler über die Möglichkeiten des SP notwendig. Heute ist es möglich, mit hoher Wahrscheinlichkeit die Disposition zur Spitzenleistung zu ermitteln. Ebenso können Interessierte und hinreichend Begabte lernen, wie sie ihr Talent freisetzen und ihre -weitere Entfaltung selbst in die Hand nehmen können. Und was die Unternehmen intern tun müssen, um die Hochleistungskräfte zu identifizieren, eine ihnen freundliche Projektumgebung zu schaffen und sie im eigenen Haus zu etablieren, ist heute ebenfalls als ein Sonderkapitel von Organisationsentwicklung/Human-Resources-Management erlernbar.

Spitzenprogrammierer sind übrigens keineswegs tool- oder richtlinienfeindlich und dokumentationsscheu, wie öfters unterstellt wird. Sie kommen mit fast jeder Entwicklungsumgebung zurecht, haben aber ein feines Gespür, wieweit manche Hilfsmittel eher ein Administrations- und Kontrollbedürfnis unterstützen statt die Produktivität. Durchaus teamfähig, sowohl in reinen SP-Teams wie auch in gemischten Teams, sind sie in ihrem Profil eher kommunikativer als Standard-Entwickler - das zeigt auch ihre in den meisten (nicht in allen) Fällen ausgeprägte Fähigkeit, mit dem Kunden sprechen zu können. Dies resultiert dann auch in der meist erkennbar überdurchschnittlich guten Akzeptanz der von ihnen gestalteten Produkte.

Um nun zu einem Fazit zu kommen: Überall, wo der Entwicklungsdruck besonders hoch ist, sollte ein innovationsbewußtes Management den Einsatz von Super-Programming prüfen. Tools, High-Level-Sprachen und Entwicklungsumgebungen steigern als technische Maßnahmen sicher die Produktivität, aber sie können nicht die "Excellence" der Entwickler ersetzen, die diese Mittel benutzen. Super-Programmer leiden keineswegs unter ihrer Höchstleistung. Sie gehören weitgehend zu der Gruppe der psychologisch gesunden Menschen, wie sie Maslow in seinen Untersuchungen beschrieben hat. Damit entfällt auch das Anti-Leistungs-Argument vom Raubbau an den eigenen Kräften, wie verschiedentlich zu hören. Wir haben in Deutschland auch noch von keiner solchen Spitzenkraft gehört, die Drogen oder Dope-Mittel nimmt, um ihre Leistung hochzuputschen. Dies sind eher die aus den USA bekannten Mittel der durchschnittlicher Begabten im Kampf um das Geld.

Super-Programmer haben Freude an ihrer herausfordernden Arbeit, sie arbeiten gern und auch mit Überstunden an anspruchsvollen Aufgaben.

Es liegt an der Arbeitgeberseite, diese Gruppe von "Über-Standard-Mitarbeitern" in ihrer Eigenart und Bedeutung zu erkennen und zu integrieren. Und es liegt an den zu SP begabten Personen, ihr Talent zu erkennen, zu fördern und auf den Markt zu bringen.

*Dr. Frank D. Peschanel ist Unternehmensberater mit dem Schwerpunkt Human-Resources-Management und Software Entwicklung sowie Krisenmanager auf Zeit in Softwareprojekten, mit Sitz in Pöcking, Starnberger See.