Agile Entwicklung im Code Retreat bei Goodgame Studios

Wir wissen zwar viel aber nicht alles und sind deshalb immer offen für Neues. 12 unserer Tool-Entwickler aus dem Game Technology Studio nahmen am ersten Code Retreat bei Goodgame Studios teil, um sich in testgetriebener Entwicklung und dem Programmieren in Paaren fortzubilden. Urs von it-agile hat die Veranstaltung organisiert und moderiert. Er ist momentan als Scrum Master bei Goodgame Studios und beschreibt hier die Eckpfeiler eines Code Retreat.

Zwei Mann, ein Computer.

Die erste Lektion, die die Entwickler aus den Teams Game Core, Technical Integration und Profiling in diesem Workshop gelernt haben, ist: Programmieren in Paaren funktioniert. Egal, ob ein Veteran und ein Neuling zusammenarbeiten oder zwei alte Hasen sich den Rechner teilen, immer können beide Partner profitieren. Sie vermitteln einander neues Handwerkszeug, prüfen ihre Ideen im ständigen Austausch und schöpfen aus dem Fachwissen des Partners. Bei Fragen weiß der Partner entweder die Antwort, oder sie finden sie gemeinsam.

TDD. Keine Kompromisse.

TDD bedeutet Test-Driven Development – Testgetriebene Entwicklung. “Testgetrieben” heißt die Entwicklung, wenn der Entwickler zuerst einen Codeschnippsel schreibt, der das Resultat seines Programms überprüft. Das Programm selbst folgt erst danach. Neue Tests und die Erweiterung des Programms wechseln sich ab und geben der Arbeit dadurch Rhythmus. Die Tests sagen dem Entwickler, ob das Programm alle Erwartungen erfüllt, die er oder sein Kunde daran stellen. So kann er den Quellcode jederzeit ändern und umstrukturieren, ohne sich um die Korrektheit zu sorgen. Geht etwas kaputt, merkt er es zuerst und nicht der Kunde. Das gibt dem Entwickler Mut zu experimentieren und so ständig dazuzulernen.

Frischer Code. Jedes Mal.

Nach 45 Minuten wechseln die Paare, löschen den alten Code und starten von neuem. Die Teilnehmer bearbeiten die gleiche Übung immer wieder. Jedes Mal kommen sie ein Stück weiter und lernen etwas dazu. Mit jedem Durchgang ändern sich die Randbedingungen. Geht es beim ersten Durchgang lediglich darum, so gut wie möglich testgetrieben im Paar zu arbeiten, erschwert der Moderator die Anforderungen anschließend kontinuierlich. Dadurch müssen die Paare beispielsweise häufig zwischen aktiver und passiver Rolle wechseln oder sollen ihre Tests so einfach gestalten, dass es höchstens zwei Minuten dauert, den Test zu schreiben und dessen Anforderungen zu erfüllen. So bietet jede Runde eine neue Herausforderung, auch wenn die Aufgabe mittlerweile bekannt ist.

Der Moderator, ein erfahrener Software-Entwickler, steht den Teilnehmern dabei die ganze Zeit zur Seite. Ein Paar unterstützt er dabei, im Dialog zu bleiben, einem anderen hilft er, ein Puzzle zu lösen und vom dritten fordert er, gründlicher zu arbeiten. Auch wenn die Aufgabe die gleiche ist, lernt jeder Teilnehmer etwas anderes.

Wir reden über Code.

Auf jede Runde folgt eine kurze Diskussion, in der wir über Herausforderungen, Lösungen und neue Ideen sprechen. Was haben wir gelernt, was haben wir verworfen? So lernt die ganze Gruppe aus den Besonderheiten und Problemen, die eines der Paare entdeckt hat und kann sie in spätere Runden – und die tägliche Arbeit – einfließen lassen.

 

Von Urs Reupke, Agiler Coach und Coder