© saicle/Shutterstock.com
Kolumne: Quality Time

Kolumne: Quality Time


Wer Karate oder eine andere Kampfsportart erlernen möchte, geht in das nächstgelegene Dojo und trainiert gezielt einzelne Bewegungsabläufe und Kombinationen, bis sie in Fleisch und Blut übergehen. Eine Lernmethode, die sich auch als Programmierer anwenden lässt. Doch meistens bieten die nahende Deadline und der tägliche Kampf mit Legacy-Code nicht die Freiheit, neue Techniken so in Ruhe auszuprobieren und einzuüben.

Aus diesem Grund erfreuen sich Coding-Katas und Coding-Dojos immer größerer Beliebtheit. Dabei ist das Prinzip hinter den Konzepten ziemlich simpel: Bei einem Coding-Dojo treffen sich Entwickler, um, außerhalb der täglichen Arbeit, gemeinsam ihre Fähigkeiten zu trainieren. Eine entspannte, kreative Atmosphäre ist hier entscheidend – die Teilnehmer sollen die Möglichkeit erhalten, Neues auszuprobieren und Lösungswege zu verfolgen, ohne Fehlschläge fürchten zu müssen. Im Gegenteil, denn Fehler zu machen, Probleme zu erkennen und sie zu reflektieren ist geradezu erwünscht.

Typisch aber nicht notwendig ist es, bei einem Coding-Dojo ein so genanntes Kata zu lösen, eine vorgegebene, abgeschlossene Übungsaufgabe. Beispiele für solche Katas sind der String-Calculator [1], bei dem Zahlen aus einem String unter verschiedenen, erschwerenden Bedingungen addiert werden sollen – oder der Supermarket-Checkout [2] – die Emulation einer Supermarktkasse mit Rabattsystem und ähnlichen Erweiterungen. Beide Katas eignen sich sehr gut, um Test-driven-Development (TDD) zu üben, was bei nahezu allen Dojos ein fester Bestandteil ist. Die Teilnehmer eines Dojos einigen sich üblicherweise auf ein Kata, das dann in Paaren entwickelt wird. Ein Zeitlimit von 45 bis 90 Minuten ist hierbei angemessen. Das Ziel ist jedoch nicht unbedingt, das Kata in dieser Zeit zu beenden, es dient lediglich als Basis für Experimente. Eine Google-Suche fördert schnell eine Vielzahl solcher Mini­szenarien zu Tage, für jeden Geschmack etwas.

Eine weitere wichtige Zutat eines Dojos ist die Reflektion. Die Teilnehmer tauschen ihre Erfahrungen aus, präsentieren Lösungswege und wägen ab, was bei der Implementierung gut und was schlecht gelaufen ist. Darauf folgt eine weitere Programmierrunde, in der entsprechend der Reflektion neue Wege ausprobiert werden können.

Wie genau das Programmieren organisiert wird, ist nicht festgelegt. Beispielsweise ist es möglich, dass sich Teilnehmer mit Erfahrung in einem bestimmten Themengebiet zur Verfügung stellen, um am Beamer zu programmieren und dabei die Lösu...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang