Archiv


Entfesselte Kode-Virtuosen

Sie werden Kommando-Koder und Kode-Flicker genannt: Programmierer, die auf Zuruf reagieren und eilig umsetzen müssen, was das Management sich ausgedacht hat. Weil sich dabei schnell Fehler und Komplikationen einschleichen, setzen Programmierer jetzt auf das Gegenkonzept des "beweglichen" Programmierens.

Von Mariann Unterluggauer |
    ""Agile programming" ist nur eine Methoden unter vielen. Ich denke, ein Grund für die Frustrationen liegt darin, dass es eben viel Auswahl gibt und auch immer geben wird. Es gibt nicht die eine wahre Lösung. Vielmehr liegt der Misserfolg der Organisationen bei der Softwareentwicklung darin, dass das Management an ein und derselben Methode festhalten will. Das ist der sicherste Pfad zur Erfolglosigkeit."

    Meint Scott Ambler, Konsulent für Softwareentwicklung. Vier Werte bestimmen das Leben eines "agilen Programmierers": An erster Stelle steht für ihn der Mensch und nicht das Werkzeug. Zweitens ist ihm eine funktionierende Software lieber als das Schreiben einer Dokumentation. Drittens widerstrebt ihm das starre Festhalten am Vertragswerk. Viel wichtiger ist für ihn die Zusammenarbeit mit dem Kunden während des gesamten Entstehungsprozesses. Damit fordert er - viertens - von allen Beteiligten Flexibilität ein.

    "Es gibt keinen Beweis dafür, dass eine Dokumentation den Softwareprozess verbessert. Es gibt mehr Anzeichen dafür, dass es für einen Erfolg eher hinderlich ist, wenn die Vorgaben am Anfang eines Projektes festgelegt werden. Die "Chaos Group" hat hunderte Projekte analysiert, die genau das gemacht haben. Sie sind aber nach Abschluss dieser Projekte dort noch einmal hingegangen und haben nachgefragt, wieviel die Anwender von den gebotenen Features eigentlich verwenden. Und die Antwort war: 45 Prozent der Funktionalitäten wurden nie benutzt. und weitere 19 Prozent nur selten. Das heißt also, dass fast zwei Drittel Müll waren, und das waren allesamt Projekte, die die traditionelle Welt als erfolgreich bezeichnen."

    "Agile Programming" verlangt aber nicht nur vom Management Flexibilität und ein Umdenken, sondern auch von so manchen Programmierer. "Extreme Programming, kurz "XP", nennt sich eine der Techniken, die dabei angewendet werden kann. Diese Methode hält nicht nur die Diskussion über Design hoch, sondern auch, dass jede Zeile Kode getestet und nochmals getestet werden muss. Weiter hält damit Kommunikation und Kooperation in den Programmierstuben einzug.

    "Ein "XP Team", ein "Agile Team" generell, kann keine Datenbank- Gruppe akzeptieren, die traditionellerweise drei Wochen dafür braucht, in einer Tabelle eine neue Kolonne einzufügen. Das ist trivial und darf nicht länger als drei Minuten dauern - keine drei Tage, Wochen oder Monate. Es gibt da etwas was diese Datenjungs nicht begreifen: Ein "agile Team" ist ein schnelles Team: Es beginnt nicht drei Monate früher mit der Festlegung der Modellierung. Auch das logische und physikalische Datenmodel steht am Anfang noch nicht fest. Die machen das erst, wenn die Zeit dafür reif ist. So zu arbeiten ist diesen Menschen gänzlich fremd."

    Anstelle des Einzelkämpfers tritt bei "Extreme Programming"(XP) das Programmieren in Paaren: Einer schaut zu, während der andere tippt. Diese Methode bringt die Programmierer dazu, ihren Kode sauber zu halten. Jedes Kind weiß, dass es schneller ist, seinen Schmutz hinter der Schranktür zu verstecken, wenn dort niemand nachsieht. Ähnlich ist es auch mit den Programmierern. Erst der Prozess der paarweisen Zusammenarbeit bringt sie dazu, ihren Kode sorgfältiger zu kultivieren, sagen die Anhänger von XP. Auf der anderen Seite haben sie dadurch auch einen Ansprechpartner, der ihnen zuhört. Das Problem von XP ist nur, so Scott Ambler, dass das Management diese Methode nicht versteht.

    "Die meisten Methoden richten sich an das Management oder versuchen, das Managen festzuschreiben, aber sie richten ihr Augenmerk nicht auf die wirklich Arbeit. Die Manager wollen ihren Programmierern ihre Methode aufzwingen. Und auf einmal taucht XP auf. Die Entwickler wollen es tatsächlich ausprobieren, aber sie können ihr Management nicht davon überzeugen, weil die den Prozess nicht verstehen. Die sagen, XP hat einen coolen Namen. Aber der verhilft Dir vielleicht zu fünf oder zehn Minuten Aufmerksamkeit und das war's. Was XP wirklich attraktiv macht ist, dass es seinen Fokus auf die Dinge legt, die für einen Softwareentwickler wichtig sind: Dinge wie eine qualitätsvolle Arbeit abzuliefern und seine Zeit sinnvoll zu verbringen."