Endlich: ein Cheatsheet zu Flow Design!

Als ich gemeinsam mit Ralf Westphal Ende 2008 die Clean Code Developer Initiative gegründet habe, sind wir damit beim Thema innere Qualität von Software einen gewaltigen Schritt weiter gekommen. Plötzlich konnten wir auf Prinzipien und Praktiken verweisen, die alle unter einem Dach dokumentiert sind. Ferner hat das Kind nun einen Namen: Entwickler bezeichnen sich seit dem als Clean Code Developer um auszudrücken, dass sie es ernst meinen mit der Qualität von Softwareentwicklung.

Wandelbarkeit

Es kristallisierte sich schnell heraus, dass der Wert der Wandelbarkeit, anfangs sprachen wir von Evolvierbarkeit, völlig unterbelichtet ist. Das führt in vielen Teams zu einem massiven Legacy Code Problem. Der Code ist schon nach wenigen Wochen in einem Zustand, der flüssiges Ändern und Ergänzen verhindert. In den darauffolgenden Monaten und Jahren haben wir daher nicht aufgehört zu diskutieren, zu forschen und auszuprobieren. Wir haben für unsere Trainings der CCD School immer wieder nach neuen Wegen gesucht, um Entwicklern eine Vorgehensweise an die Hand zu geben, mit der sie „sauberen Code“ schreiben können. Die Prinzipien zu benennen, hier vor allem deren Verletzung, ist eine Sache. Eine andere Sache ist es, über eine Methodik zu verfügen, durch die wichtige Prinzipien leicht eingehalten werden können.

Flow Design

Cheatsheet zu Flow Design

Das Ergebnis ist Flow Design. Damit bezeichnen wir unsere Methode. Sie besteht mit ihren Datenflussdiagrammen im Kern aus einer Methode zum Entwurf von Software. Darüber hinaus bietet die Methode konkrete Handlungsanweisungen dem Schneiden von Anforderungen (Domänenzerlegung), zum Umgang mit nicht-funktionalen Anforderungen (Hostsdimension) sowie natürlich zum Thema Wandelbarkeit (Containerdimension). Immer wieder werden wir in unseren Trainings nach Material zur Methode gefragt. Und immer wieder antworten wir, dass es diverse Blogbeiträge, Artikel, Büchlein und Beispiele gibt. Es gibt sogar die Website http://flow-design.org auf der wir begonnen haben, alles zu dokumentieren. Aber uns ist durchaus bewusst, dass es an Material fehlt.

Cheatsheet zu Flow Design

Heute schließe ich eine kleine Lücke: In den letzten Tagen habe ich ein Cheatsheet zu Flow Design erstellt. Sie finden es unter folgendem Link zum Download.

Cheatsheet Flow Design

Cheatsheet zu Flow Design

In diesem Cheatsheet sind alle Symbole unserer Entwurfsmethode aufgeführt. Ferner zeigt es die Übersetzung der Entwürfe in C#. Übersetzungen nach Java und C++ werden folgen. Vorher möchte ich gerne um Ihr Feedback bitten.

Feedback

Schreiben Sie mir unten in den Kommentaren gerne Ihr Feedback zum Cheatsheet. Fehlt etwas? Ist etwas missverständlich ausgedrückt? Haben Sie Anregungen oder Fragen? Jetzt ist die Gelegenheit dazu. Gerne pflege ich Ihre Anregungen in das Cheatsheet ein.