Das Format der Coding-Dojos ist für viele Entwickler nichts Neues. Auch wir bei itemis haben schon oft Coding-Dojo-Abende an unseren Standorten organisiert. Dabei hatten wir jedoch das Gefühl, dass das Format für uns noch nicht perfekt ist. In diesem Artikel zeige ich dir, was uns fehlte und wie wir mit dem Coding-Kumite für neue Herausforderungen sorgen.
Die Basis: Coding-Dojos
Der Begriff „Dojo“ stammt aus dem Kampfsport und bezeichnet den Trainingsraum. Beim Training werden dort in der Regel festgelegte Bewegungsabläufe wiederholt geübt – die so genannten „Katas“. Auch beim Coding-Dojo werden die zu lösenden Programmieraufgaben Katas genannt. Im Fokus steht also Verbesserung durch regelmäßige Wiederholung.
Beim Coding-Dojo arbeiten alle Teilnehmer abwechselnd an der gleichen Code-Basis. Dabei übernehmen sie Code, der bereits von anderen entwickelt wurde, und bauen auf diesem auf – oder sie löschen ihn und fangen neu an.
Wenn du noch mehr über das Coding-Dojo-Format erfahren möchtest, empfehle ich dir den Artikel „Was sind eigentlich Coding Dojos?“ meines Kollegen Muhammad Ali Kazmi.
Verschenkte Potenziale
Nach einigen Coding-Dojos merkten wir, dass uns noch etwas fehlt.
Durch die repetitive Natur der Katas, kann sich nach einiger Zeit ein gewisser Trott beim Bearbeiten der Aufgaben einstellen. Ein motivierender „Erfolg“, im Sinne einer finalen Lösung einer Aufgabe, ist nicht intendiert. Ziel ist die Verbesserung bestimmter Techniken durch ständige Wiederholung.
In der Regel wird reihum, zum Beispiel im Pair-Programming, an den Katas gearbeitet. Eine Team-Dynamik ist nicht vorgesehen.
Ein Wettkampf-Gedanke, den man bei Begrifflichkeiten aus dem Kampfsport vor Augen haben könnte, ist nicht gegeben.
Das geht doch besser!
Wir möchten mit den Aufgaben näher an den Alltag eines Softwareentwicklers heran. Es soll die Möglichkeit geben, im Team einen Plan auszuarbeiten, der während des Events weiterentwickelt werden kann. In diesem iterativen Prozess kann der Plan immer wieder angepasst werden, um mit der Konkurrenz Schritt zu halten – ein ständiger Wettkampf.
Außerdem fangen die Teilnehmer so in der Regel nicht bei Null an, sondern erweitern den bereits vorhandenen Code von Aufgabe zu Aufgabe. Hierbei sind Themen wie Testbarkeit, Wartbarkeit und Clean Code von großer Bedeutung. Ausgewählte Aspekte dieser Themen wollen wir vermitteln und zu weiteren Diskussionen im Plenum anregen.
Wir wollten die Teilnehmenden direkt ab der ersten Sekunde an die Aufgabe fesseln. Darum haben wir ein Spiel gewählt: das vielen bekannte „Space Invaders“.
Coding-Kumite – neuer Name, neue Herausforderung
Natürlich braucht das neue Format auch einen neuen Namen, der die Abgrenzung zum Coding-Dojo deutlich macht, ohne seine Herkunft zu verleugnen.
Wir suchten also einen passenden Begriff im Kampfsport-Kontext und fanden das Kumite.
„Kumite“ bezeichnet in japanischen Kampfsportarten und -künsten eine Wettkampf- und Trainingsform und passt daher in unseren Augen perfekt zu unserem neuen Format.
Ablauf eines Coding-Kumites
Nach einer kurzen Einführung starten die Teilnehmer in mehreren Teams in den Wettkampf. Die Aufgaben werden in Runden unterteilt, wobei mit jeder Iteration neue funktionale Anforderungen hinzukommen.
Während dies zunächst die Komplexität der Level erhöht, kommen im weiteren Verlauf nicht funktionale Anforderungen an die Test- und Wartbarkeit hinzu.
Die Erfüllung von nicht funktionalen Anforderungen (zum Beispiel Test-Coverage) fließt über Bonuspunkte in die Bewertung ein. Wartbarkeit und Lesbarkeit bewerten die Teilnehmer für die jeweils anderen Gruppen selbst.
Am Ende jeder Runde können alle Teilnehmer Erfolg und Misserfolg der verschiedenen Strategien verfolgen und mit ihrem Raumschiff mitfiebern. Abschließend wird das Score-Board aktualisiert, so dass nach jeder Runde die aktuelle Platzierung für alle transparent ist.
Nach der Siegerehrung und einer Feedbackrunde lassen wir den Abend in gemütlicher Runde ausklingen.
Was dich in Zukunft noch erwartet
Das Feedback zu unserem ersten Coding-Kumite in Dortmund war durchweg positiv. Wir wollen natürlich an den Erfolg dieser Veranstaltung anknüpfen und haben bereits Folgetermine für Dortmund, Frankfurt, Hamburg, Leipzig und Paderborn geplant.
Für die kommenden Coding-Kumites stehen ein paar inhaltliche Verbesserungen auf unserer Agenda. Vorschläge dafür hatten wir während des ersten Events und in Gesprächen im Nachgang gesammelt.
Und wir planen mehr Zeit zum Kennenlernen und für den Austausch über IT-Themen ein.
Vielfach gewünscht wurde auch die Unterstützung weiterer Programmiersprachen, wie zum Beispiel Python. Oder wie wäre es mit einem Web-Kumite?
Fazit
Wenn du dir schon immer ein Coding-Dojo mit stärkerem Fokus auf Teamarbeit und Wettkampf gewünscht hast, ist unser Coding-Kumite genau das Richtige für dich.
Ganz nebenbei lernst du nette Leute kennen und erweiterst deine eigenen Programmier-Skills.
Haben wir deinen Kampfgeist geweckt? Hier geht’s zur Anmeldung:
Kommentare