Das .NET Coding Dojo ist wie jedes andere Coding Dojo auch eine Veranstaltung, in der in einer angenehmen, ausgelassenen & lockeren Atmosphäre der Erfahrungsaustausch zwischen Software-Entwicklern gefordert & gefördert wird.
Dieses Primärziel wird fokussiert auf den Themenbereich der Methoden und Verfahrensweisen in der modernen Software-Entwicklung. Feste Bestandteile dieses Themenblocks sind agilen Verfahrensweisen, mehrheitlich aus der Methodik des XP (eXtreme Programming), wie z.B. Test-Driven-Design und Pair Programming.
Dieser inhaltliche Fokus wird an Hand einer kleinen Programmieraufgabe – eines sog. “Code Kata” – getragen und herausgearbeitet. Mit Hilfe des Code Kata werden die Programmiertechniken praktiziert, ausgetauscht und reflektiert.
Bei Coding Dojo’s kann man sich auf verschiedene Bereiche (z.B. Webentwicklung) oder Plattformen (z.B. .NET) konzentrieren. Das .NET Coding Dojo konzentriert sich auf die Anwendung der modernen, agilen Software-Entwicklung-Methoden mit dem .NET Framework.
Bei Coding Dojo’s gibt es einen festen Satz von Grundbausteinen, die bei jedem Coding Dojo gleich sind und eingehalten werden. Dieses grundlegende Fundament wird aus drei Perspektiven betrachtet. Zum einen wären da die Mittel, die es benötigt. Natürlich braucht ein .NET Coding Dojo auch einen inhaltlichen Aufbau, welches dann mit dem stringenten Ablauf in Angriff genommen wird.
Mittel
Operator
Der Operator ist der “Organisator” des .NET Coding Dojo’s. Er organisiert die Veranstaltung, kümmert sich um die Räumlichkeiten, die Technik und um die gelassene, lockere Atmosphäre. Er ist auch derjenige, der die Verantwortung für den reibungslosen und ordnungsgemäßen Ablauf der Veranstaltung trägt. Er leitet meistens das .NET Coding Dojo mit Willkommensgruß und Beschreibung ein und beendet es mit einer Feedbackrunde und einem Ausblick auf die nächste Veranstaltung.
Teilnehmer
Natürlich braucht ein .NET Coding Dojo auch Teilnehmer. Die Zielgruppe eine .NET Coding Dojo ist sicherlich der .NET Software-Entwickler, jedoch sind im Credo der Offenheit natürlich auch Interessierte aus anderen Bereichen immer herzlich Willkommen. Wichtig für den Teilnehmer sind die ethischen Grundsätze und den daraus folgenden Teilnahme-Regeln, die jeder bei einem .NET Coding Dojo beachten sollte. Erst dadurch entsteht der Mehrwert des Erfahrungsaustausches für den Einzelnen sowie auch für die Gruppe.
Raum
Für den Veranstalungsort eines .NET Coding Dojo gibt es nicht viele Bedingungen. Meistens reicht es, sich in einem Meetingraum zu treffen. Als unbedingt notwendiges Equipment zählt natürlich der Computer selbst (meist ein oder mehrere Laptops) und ein Beamer zum präsentieren und nachverfolgen des Codes. Je nach Level, Modus und Kata kann die technische Ausstattung variieren.
Inhalt
Code Kata
In einem .NET Coding Dojo wird ein Code Kata behandelt. Ein Code Kata ist eine kleine Programmieraufgabe, die innerhalb von wenigen Stunden lösbar ist. Mittlerweile gibt es eine Reihe von Code Kata’s verschiedenster “Güte”, also mit unterschiedlichem Schwierigkeitsgrad und unterschiedlicher “Lernqualität”. Zu beachten ist dabei, daß bei einem .NET Coding Dojo nicht das “optimale” lösen einer Code Kata im Vordergrund steht. Vielmehr wird das Code Kata nur als Mittel zum Zweck des Erfahrungsaustausches herangezogen. Nichstdestotrotz ist ein Code Kata bei einem .NET Coding Dojo Pflicht.
Test-Driven-Design
Eine weiteres Pflichtmerkmal im .NET Coding Dojo ist die Anwendung von TDD (Test-Driven-Design). Für ein .NET Coding Dojo gilt: Kein Code ohne Test! In der Implementierung des Test-First kann es durchaus Variationen geben (z.B. BDD oder ATDD). Man kann sich sicherlich auch an verschiedene Stile heranwagen, ein unabdingbarer Bestandteil ist und bleibt es bei jedem .NET Coding Dojo.
Source Code
Es hört sich vielleicht komisch an, ist aber ein absolutes Pflichtelement bei .NET Coding Dojo’s: der Code. Konkret: Es wird bei einem .NET Coding Dojo “gecodet”, also programmiert. Es gibt keine Coding Dojo’s, in denen nicht aktiv am Rechner programmiert wird. Es können auch “exotischere” Programmiersprachen wie Ruby oder Python verwendet werden. Fakt bleibt: Ein .NET Coding Dojo ohne Code ist kein Coding Dojo.
Ablauf
Negotiation
Den Einstieg in das .NET Coding Dojo macht eine kleine “Negotiation”, d.h. Eine Begrüßung gefolgt von einer Abstimmungsrunde über den konkreten Inhalt und Aufbau des .NET Coding Dojo. Die Teilnehmer dürfen in dieser Phase entscheiden, welches Code Kata sie in Angriff nehmen möchten. Sie dürfen auch über das Level (also den Schwierigkeitsgrad), den Modus (die Durchführungsvariante des Coding Dojo) und die Teamaufteilung entscheiden. Haben die Teilnehmer durch mehrheitliche Abstimmung (es gibt i.d.R. keine Enthaltungen) entschieden, werden diese Rahmenbedingungen fvestgehalten und umgesetzt.
Production
Die zweite Phase des .NET Coding Dojo ist die “Production”. Sie beschäftigt sich mit dem lösen des Code Kata’s. Der konkrete Lösungspfad bleibt dabei den Teilnehmern überlassen. Es gibt also keine Instanz, die einen Lösungweg vorgibt oder bewertet. Die Teilnehmer sind “auf sich selbst gestellt” und erarbeiten aktiv und eigenständig die Lösung zum Code Kata. Der dabei entstehende Erfahrungsaustausch ist das Primärziel des .NET Coding Dojo’s. Üblicherweise legt man nach 45-60 Minuten eine kleine Pause zur Erfrischung ein. Es ist sehr unüblich, mehr als 3 Stunden wird an einem Code Kata zu arbeiten.
Reflection
Den Abschluß macht eine “Reflection” oder auch Restrospektive. In dieser kurzen Phase wird das Ergebnis des Coding Dojo’s von den Teilnehmern selbst bewertet. Üblicherweise bewertet man die entstandenen Tests und den entstandenen Code, um daraufhin den Ablauf des Coding Dojo’s zu bewerten. Es wird oft auch eine kurze Feedbackrunde eingeleitet, in dem jeder ein Statement des Lobes und der Verbesserung abgeben kann (“Was war gut? Was kann man verbessern?”).