HOMEWEBLOGIMPRESSUM

Clean Code Developer Camp

Bausteine für mehr Softwarequalität

Fällt es Ihnen schwer, neue Kundenwünsche zügig in Ihre Software einzubauen? Oder tauchen nach Umbauten in Ihrer Software Fehler auf, von denen Sie glauben, sie schon vor längerer Zeit behoben zu haben? Brauchen neue Entwickler in Ihrem Team mehr Zeit als Ihnen recht ist, um die Software soweit zu verstehen, dass Sie an Ihrer Pflege gewinnbringend teilnehmen können? Hören Sie immer wieder einmal Stimmen aus dem Entwicklerteam, die laut fordern oder leise klagen, "Hätte uns das nicht mal jemand früher sagen können? Wie sollen wir das denn jetzt nun so schnell einbauen?"

Wenn Sie auf eine oder mehrere dieser Fragen mit Ja antworten, dann seien Sie beruhigt. Dann gehören Sie zur Mehrheit der Softwareentwicklergemeinde. Die meisten Teams leiden spätestens nach dem ersten Release ihrer Software unter diesen Symptomen. Aber auch wenn es den meisten so geht, Sie sich also in zahlreicher Gesellschaft befinden, ist das ja nicht gut so. Es handelt sich nicht um Symptome von Freude und Entspannung, sondern um Symptome des Leidens. Softwareentwicklung, die diese und andere Symptome zeigt, leidet an schlechter innerer Qualität des Codes.

Äußerlich, also für den Kunden, mag der Code eine zumindest ausreichende Qualität besitzen. Die Software läuft - meistens. Doch unter der Haube, da sieht es anders aus. Ein Verhau aus ständig wachsendem und immer unverständlicher werdendem Code ohne rechte Struktur macht es immer schwerer, Fehler zu beheben und neue Features einzupflegen. Die Software leidet unter hoher Entropie, sie ächzt unter der Last von Technical Debt. Kurz: Die Software ist nur noch schwer zu warten, weil ihre innere Qualität gering ist.

Schwer wartbare Software ist jedoch eine Bedrohung für das Geschäft! Sie muss entweder irgendwann durch eine Neuentwicklung abgelöst werden. Das ist teuer. Oder die Reaktionsfähigkeit auf Kundenwünsche wird immer geringer bei wieder steigender Fehlerzahl und Aufwand im Support. Das ist auch teuer.

Zum Glück gibt es aber noch einen dritten Weg! Der rettet, was zu retten ist. Der sichert Investitionen in den bisherigen Code, soweit das geht, und eröffnet Wege zu neuer Flexibilität.

Das ist der Weg der Clean Code Developer (CCD).

Clean Code Developer steigern und erhalten hier und heute in kleinen Schritten die innere Qualität von Software.

Clean Code Developer stieren nicht nur auf die Wünsche des Kunden, um sie möglichst kurzfristig zu befriedigen. Clean Code Developer folgen vielmehr einem Wertesystem, das sie die kurzfristigen Wünsche des Kunden ausbalancieren lässt mit seinen langfristigen - die er leider selten überhaupt explizit formuliert.

Die Clean Code Developer Initiative zur Steigerung der Softwarequalität wurde von Ralf Westphal - Mitgründer des Professional Developer College - und Stefan Lieser Anfang 2009 gegründet und schart seitdem eine wachsende Community um sich.

In einem Wiki - www.clean-code-developer.de - beschreiben Westphal und Lieser die Bausteine des CCD-Wertesystems ausführlich; und bei Google wie auch bei XING diskutiert die Entwicklergemeinschaft darüber.

Das Clean Code Developer Camp

Clean Code Developer kann jeder werden. Einfach so. Es kostet nichts außer guten Willen, ein wenig Mühe und Geduld.

Einfacher ist es jedoch, Clean Code Developer in der Gemeinschaft und unter Anleitung zu werden. Die Softwareentwicklung auf die Prinzipien, Regeln und Praktiken von CCD umzustellen, bedarf teilweise der Aufgabe jahrelang eingefahrener Gewohnheiten. Das ist innerhalb des Tagesgeschäftes nicht immer zu leisten und strapaziert u.U. in der Lernphase das Projektzeitbudget über Gebühr.

Aus diesem Grund bietet das Professional Developer College eine Reihe von Trainings unter der Bezeichnung "Clean Code Developer Camp" an, in denen Sie die Bausteine des CCD-Wertesystems intensiv, unter Anleitung, mit viel Feedback und in Gemeinschaft effektiv und effizient verinnerlichen können.

Die Werte des CCD-Wertesystems sind:

 - Korrektheit
 - Evolvierbarkeit
 - Produktionseffizienz
 - Reflexion

Die Camps fassen sie in drei Gruppen zusammen:

 - Single Developer: Korrektheit, Evolvierbarkeit
 - Team Developer: Produktionseffizienz, Evolvierbarkeit
 - Organisation auf allen Unternehmensebenen: Reflexion

Auf jede dieser Gruppen ist ein Camp zugeschnitten. Jedes Camp bringt Ihre Softwareentwicklung unmittelbar voran in Bezug auf die "innere Qualität" Ihres Code. Jedes Camp hilft, Ihre Investionen zu sichern und in Zukunft flexibler und effizienter zu sein.

Impression vom ersten Clean Code Developer Camp finden Sie auch in den Blogs des Professional Developer College und seiner CCD Trainer Stefan Lieser und Ralf Westphal.