Durchstiche – Von Genießern lernen
Wer hätte gedacht, dass in Frankreich tiefere Einsichten zur Softwareentwicklung zu gewinnen wären? Mehr als Bertrand Meyer und Minitel fallen mir eigentlich nicht zum Thema "Software aus Frankreich" ein. Hm... ok, vielleicht noch Patrick Smacchia von NDepend und der umtriebige Jérémie Chassaing.
Doch neulich, da erfuhr ich tiefe Einsicht in die Softwarearchitektur in der fast vergessenen Provinz Béarn. Dort war ich nämlich zur Denkwoche mit Prof. Günter Faltin auf dem Château d'Orion. Und am letzten Abend machte mir der Hausherr klar, warum so viele deutsche Entwickler immer noch Schwierigkeiten mit agiler Softwareentwicklung haben. Wer hätte das gedacht!?
Tobias Premauer berichtete, wie die Franzosen die Augen rollen, wenn sie Deutsche Käse schneiden sehen:
Denn das geht gar nicht! Da schüttelt es den Franzosen.
So schneidet man den Käse nicht, weil dann jedes Stück anders schmeckt. Ein Stück nahe der Spitze, also aus dem Herzen des Käse, schmeckt anders als ein Stück aus der Mitte zwischen Rand und Herz oder ein Stück nahe dem Rand. Käse ist nicht homogen. Er hat quasi eine geschichtete Struktur. Es besteht ein Geschmacksgefälle von innen nach außen.
Wer also quer zum Radius eines solchen Stücks schneidet, der stellt keine angenehmen Kompositionen her, die alle Geschmacksnuancen des Käse enthalten, sondern Stücke mit Einzelgeschmäckern, die für sich genommen womöglich gar nicht so lecker sind.
Typisch deutsch weil typisch praktisch gedacht. So lässt sich Käse leichter schneiden.
Der Franzose hingegen, der schneidet anders:
Ah, lecker! Jetzt enthalten alle Scheiben alle Geschmäcker des Käse. Da wird ein Feuerwerk für den Gaumen gezündet!
So zu schneiden ist allerdings etwas weniger praktisch – doch mit dem richtigen Werkzeug (Käsehobel) gelingt auch das dem Laien mühelos. Und der Franzose kriegt das mit einem Messer ebenfalls sauber und hauchfein hin.
Die Deutschen denken praktisch, in Schichten.
Die Franzosen genießen, in Scheiben.
Davon können wir in der Softwareentwicklung lernen. Denn auch hier sind Schichten weniger bekömmlich denn Scheiben.
Schichten sind für den Softwareentwickler praktisch zu entwickeln. Sie sind technische Artefakte. Nur nützlich sind sie für sich genommen nicht. Anwender können mit Schichten nichts anfangen. Für eine agile Softwareentwicklung die "responding to change over following a plan" ernst nimmt, taugen Schichten nichts. Da schmeckt dem Anwender höchstens die äußere, die Präsentationsschicht. Es ist wie beim Käse, wenn man ihn geschichtet schneidet.
Entwickelt man Software jedoch in Scheiben, das heißt in inkrementellen Durchstichen... dann schmeckt dem Anwender jedes Stück. Ist die Scheibe auch noch so dünn, sie ist immer ein voller Genuss. Dazu kann der Anwender Feedback geben. Das liefert der Entwicklung wichtige Hinweise für ihr weiteres Vorgehen. In jeder Scheibe sind eben alle Schichten enthalten.
Use Cases und User Stories sind Mittel, um die Entwicklung inkrementell voranzutreiben. Doch es geht noch feiner. Durchstich-Scheiben lassen sich noch dünner hobeln, so dass schneller Feedback generiert werden kann. Ich nenne das Story Slicing. Aber davon ein andermal mehr...
Einstweilen sei den Franzosen Dank für die Einsicht, die sie mir verschafft haben: gleichermaßen praktisch wie lecker. Softwareentwicklung kann wirklich überall lernen.