Schwafelt nicht, Ihr Narren – schreibt endlich Code!

Hartmut Schlosser

Gavin King, der Vater des Persistenz-Frameworks Hibernate, outet sich auf seinem Blog als ausgesprochener Methodologien-Hasser. Immer wenn jemand davon anfängt, über Prozesse und die Art und Weise zu reden, wie ein Softwareprojekt umgesetzt werden sollte, werden Gavins Augen glasig und sein Blick schweift ins Leere. Denn seine Hypothese lautet: Der praktische Nutzen einer Methodologie ist antiproportional dazu, wie detailliert und preskriptiv diese Methodologie ist.

Kurz: Je mehr Vorgaben eine Methodologie macht, desto weniger taugt sie!

King, der derzeit mit der Entwicklung der Programmiersprache Ceylon beschäftigt ist, hält deshalb ein Plädoyer für ein unbürokratisches Entwickeln im Sinne von „Getting things done!“ Seine Schlussfolgerung lautet: Die beste Methodologie ist die „Null-Methodologie“:

Please stop wasting valuable electrons with your silly amateur philosophizing and go and do some real work! Gavin King

Diese Null-Methodologie hat laut Gavin den Vorteil, dass sie recht kostenneutral umgesetzt werden kann – es seien keine zertifizierten Scrum Master nötig, einfach Kollegen, die enthusiastisch, lösungsorientiert veranlagt und am Projekt-Erfolg interessiert seien.

Immerhin erkennt Gavin an, dass diese Null-Methodologie nicht in jeder Umgebung fruchten kann. Allerdings macht er dafür rein unternehmenspolitische Gründe geltend! Entwickler müssten sich leider oft hinter der Maskerade einer „wissenschaftlich belegten“ Methode verstecken, um dem Chef gegenüber besser Rechenschaft ablegen zu können – also quasi den Agile-Lippenstift oder den Craftmanship-Lidschatten aufsetzen.

Sadly, what went wrong with agile was that a few folks mistook the dress and the lipstick for the essence of what was good about it: that it gave you ammunition to use against your idiot boss and against harmful shit like RUP, and then, by and large, got out of your way and let you get on with your work. Gavin King

Agile also reines Munitionswerk, um dem Chef den Eindruck geben zu können, man handle nach einem Plan? Gavin hält das Agile Manifest jedenfalls für so vage und gespickt von Platitüden, dass es fast schon seiner Null-Methodologie nahe komme. Das Problem liegt laut Gavin darin, dass Manche auf die verhängnisvolle Idee kommen, diese Platitüden zu ernst zu nehmen:

I mean, if you read the agile manifesto, it’s so fundamentally vague and platitudinal and hand-wavy as to be virtually indistinguishable from the null methodology. The harm comes about when people start trying to actually read meaningful shit into its platitudes. Gavin King

In eine ähnliche Kerbe schlagen derzeit auch andere Entwickler wie Willie Wheeler (Cowboy-Entwickler machen Programmieren zum Rodeo) und JetBrains-Evangelist Hadi Hariri (Wider den agilen Schwachsinn), der fordert, sich nicht von der florierenden Agile-Industrie kirre machen zu lassen und sich auf die eigentlichen Werte sowie auf den Spaß am Programmieren zurückzubesinnen:

Entwickler, lasst Euch nicht für dumm verkaufen! Findet zurück zu Euren Werten und genießt das, was Ihr tut! Denn letztlich ist Software-Entwickler einer der besten Berufe, die ihr haben könnt! Hadi Hariri

Gavin King provoziert die Agile Industrie weiter, indem er ein eigenes Manifest seiner Null-Methodologie entwirft:

A good product:

  1. solves an interesting problem,
  2. with a set of feature that are as general and orthogonal as possible,
  3. whose behavior is sufficiently well-defined and well-tested,
  4. using tools and technologies that will help you change and extend the product in the future, and
  5. can be delivered to your users as fast as humanly fucking possible.
    Gavin King

Nun, Gavin King meint es ernst – was er wohl durch den Kraftausdruck in Punkt 5 unterstreichen möchte. Seine Ausführungen gehen aber weiter. Gavin gibt uns „Social-Media-retardierten“ Zeitgenossen Tipps im Listenstil:

  • Wenn ein Problem nicht interessant ist, dann arbeite nicht daran!
  • Wenn ein User um eine optionale Detailveränderung bittet, sage ihm, du seist gerade mit einer High-Priority-Sache beschäftigt und würdest dich um seinen „wertvollen“ Wunsch später kümmern. Sorge dafür, dass es dieses Später nie gibt!
  • Eine Spezifikation zu schreiben ist eine der besten Arten, etwas über Software-Semantik zu lernen. Wenn eine formale Spezifikation indes nicht dabei hilft, deine Software zu verstehen, schreibe auch keine! Schreibe lieber Tests für User-sichtbares Verhalten. Sei aber sparsam mit Unittests für komplexe interne Subsysteme – denn diese Tests müssen immer auch mitgewartet werden!
  • Es ist zweifellos eine gute Sache, wenn man in einem Projekt schnell produktiv wird. Dennoch sollte man vorsichtig bei Plattformen sein, die am Anfang schnell und günstig sind, bei wachsendem Projekt-Umfang aber teurer werden.

Diese Entwickler-Tipps machen am Ende dann doch deutlich, dass Gavin über ein wohl definiertes Set an Werten verfügt, die ihn vom „Cowboy-Coder“ absetzen, der denkt, er könne tun und lassen, was er wolle. Allerdings versäumt es King, diese Werte zu reflektieren – oder er hält es für Zeitverschwendung, denn was könnte anderes aus der Reflektion entspringen, als eine weitere Methodologie?

Wie dem auch sein – meistens schadet Denken nicht wirklich. Und so wäre es spannend zu hören, was Sie von der Einstellung Gavin Kings halten. Wie sympathisch ist Ihnen das Null-Manifest und die Haltung:

Shut the fuck up and write some code!

Oder wie Gavin es salonfähiger im Stile der „Sendung mit der Maus“ ausdrückt:

Was machst du immer noch hier? Hast du denn keinen Code zu schreiben?

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.