Unsere Erfahrungen mit Code Retreats

31. Juli 2013Eberhard Wolff

Softwareentwicklung ist eine komplexe Herausforderung – und sie wird oft als reine Ingenieurdisziplin betrachtet. Planung, Requirements und Prozesse stehen im Mittelpunkt. Aber am Ende geht es bei der Softwareentwicklung darum, Code zu erstellen. Und auch wenn dazu das einfache Programmieren sicher nicht alles ist, so gerät es doch oft ins Hintertreffen und wird zu wenig beachtet.

Um ganz praktisch das Handwerk des Programmierens zu lernen und sich als Programmierer zu verbessern, haben sich Code Retreats etabliert. Schon in einem früheren Blog-Beitrag hat sich Christoph Pater mit diesem Thema beschäftigt. Hier nur eine kurze Wiederholung: In einem Code Retreat wird als Beispielprojekt meistens Game of Life implementiert – ganz praktisch und hands-on. Die Teilnehmer gehen testgetrieben vor, programmieren in Paaren und achten auf sauberen Code durch Refactoring. Ein Code Retreat teilt sich in mehrere Iterationen auf. Die Iterationen sind zeitlich begrenzt: Nach 45 Minuten ist Schluss und neue Paare werden gebildet. Bisher hat noch nie ein Paar in der Zeit eine fertige Lösung erstellt. Das Ziel ist das Programmieren an sich und das Erlernen der Techniken. Es geht nicht um das erfolgreiche Erstellen einer Lösung – anders als im Projektgeschäft.

Code Retreats sind meiner Meinung nach eine sehr effektive Maßnahme: Ich kenne keine bessere Möglichkeit, Techniken wie testgetriebene Entwicklung, Refactoring und Pair Programming zu erlernen. Der Code Retreat führt dazu, dass die Teilnehmer die Techniken direkt anwenden. Der Coach steht ihnen mit Rat und Tat zur Seite. Da die Teilnehmer in Paaren arbeiten, können sie sich die Feinheiten gegenseitig beibringen – und sich außerdem auch die kleinen Tricks in der täglichen Arbeit mit der IDE und dem Code voneinander abgucken. Bei adesso hat ein Code Retreat sogar dazu geführt, dass einige Kollegen einen Vortrag über aus ihrer Sicht besonders wichtige Testwerkzeuge gehalten haben – weil während des Retreats viel über Testen und Werkzeuge diskutiert wurde. Das ist umso bemerkenswerter, weil Testing sicher ein sehr wichtiges Thema ist, aber gleichzeitig bei vielen Entwicklern immer noch nicht besonders beliebt ist.

Ein Problem hat ein solcher Code Retreat aber: Es geht um ein künstliches Beispiel – oder hat schon einmal jemand Game of Life im Berufsleben implementiert? Außerdem entsteht das Beispielprojekt auf der grünen Wiese – oft muss aber in der Praxis eine vorhandene Code-Basis angepasst werden. Aber es gibt kein Gesetz, das Code Retreats auf solche Szenarien begrenzt. Daher sind Legacy Code Retreats entstanden: In diesem Code Retreat lernen die Teilnehmer, wie man eine Code-Basis weiterentwickeln kann. Das gewählte Beispiel hat dabei eine höchst durchschnittliche Code-Qualität – wie man es leider in der Praxis auch antrifft. Auch bei diesem Code Retreat wird ganz praktisch in Paaren an dem Code gearbeitet – und natürlich werden wesentliche Grundlagen wie Tests beachtet. Und so lernen die Teilnehmer, wie sie mit solchen Code-Basen produktiv arbeiten können.

Wenn Sie das Thema interessiert: adesso führt am 18. September 2013 unter meiner Anleitung einen ganztägigen Code Retreat in der adesso-Geschäftsstelle Köln durch. Wir freuen uns auf die Bewerbung von interessierten Studenten und Berufseinsteigern! Vielleicht bis bald in diesem Blog – oder in Köln?

Eberhard Wolff Eberhard Wolff ist Architecture & Technology Manager bei adesso.
Artikel bewerten:
1 Star2 Stars3 Stars4 Stars5 Stars
Loading...

Kommentar hinzufügen:

Ihr Kommentar: