Code Kata’s / Code Dojo’s

This entry is part 2 of 3 in the series Lernen

In letzter Zeit bin ich viel am üben. Sprich, ich versuche das gelesene in die Tat umzusetzen. Ich habe aber immer Probleme mir Szenarien zum üben auszudenken (ja, wir Entwickler sind schrecklich Fantasielos, wenn es um solche Dinge geht).

Code Kata

Ich habe aber die Lösung für mein Problem gefunden. Sogenannte Code Kata’s. Code Kata’s sind vorgegebene Aufgaben, welche man lösen muss.

Was sind die Vorteile von Kata’s im Vergleich zu eigenen Aufgaben?

  • Relativ kurze Implementationszeit (30-60 Minuten)
  • Viele Schwierigkeitsgrade (für jede Stufe etwas)
  • Zahlreiche Aufgaben im Web vorhanden
  • Zahlreiche Lösungen im Web vorhanden (In Textform und in Videoform)
  • Ein Reviewer, der das Kata schon kennt, kann ein gelöstes Kata sehr schnell bewerten

Begriff Kata

Kata kommt aus der japanischen Kampfkunst und bedeutet in den meisten Fällen, dass man ganz bestimmte Abläufe so lange übt, bis sie in Fleisch und Blut übergegangen sind. Auf die Softwareentwicklung umgesetzt heisst dies, dass man mit einem Kata folgende Ziele verfolgen kann.

  1. Die Problemstellung grundsätzlich lösen
  2. Die Problemstellung immer und immer wieder lösen, so dass der Lösungsweg in Fleisch und Blut übergeht -> z.B.  Lösen eines Kata’s mit TDD
  3. Die Problemstellung mit verschiedenen Ansätzen umsetzen, um zu erkennen, welcher Lösungsweg der beste ist.

Coding Dojo

Sogenannte Coding Dojo’s sind Treffen, wo man Kata’s (oder auch eigens erstellte Szernarien) in einer Gruppe übt. Dabei gibt es 2 Formen.

Prepared Kata

Hier präsentiert ein Sprecher ein vorbereitetes Kata den Teilnehmern. Jeder Teilnehmer darf sich aber jederzeit einschalten und Fragen oder auch Tips geben. Der Sprecher darf immer nur dann zum nächsten Schritt übergehen, wenn alle Teilnehmer den letzten Schritt verstanden haben.

Randori Kata

Bei dieser Form der Übung sind alle Teilnehmer auch gleichzeitig Programmierer. Es programmieren immer 2 Personen (Programmierer und Überwacher). Nach ganz bestimmten Regeln, werden diese 2 Personen jeweils ausgetauscht (nach einer bestimmten Zeit, nach einem bestimmten Ereignis usw.).
Auch hier gilt: Die Programmierer erklären immer, warum sie was tun. Die Zuhörer stellen Fragen oder geben Tips

Fazit

Ich selber habe noch nie an so einem Coding Dojo teilgenommen. Aber es klingt für mich sehr lehrreich und spannend. Wenn viele Köpfe zusammensitzen und all ihre Erfahrungen einbringen, ist es wahrscheinlich sehr wertvoll investierte Zeit und alle beteiligten können interessante Erkenntnisse daraus ziehen.

Quellen

Series NavigationKnowhow-erwerb in der SoftwareentwicklungWie werde ich ein besserer Softwareentwickler

This entry was posted in Soft Factors and tagged , , . Bookmark the permalink.

6 Responses to Code Kata’s / Code Dojo’s

  1. Christian says:

    Hey, sehr coole Idee! Kannst du schon sagen, ob es sich für dich lohnt?

  2. DaRaFF says:

    Bis jetzt habe ich es hauptsächlich für tdd Übungen verwendet. Und ich finde, dort lohnt es sich absolut. Das coole ist halt, dass man auf der grünen Wiese anfängt und durch die einfach Aufgabenstellung nicht auf all zu viel achten muss.

    Kata’s kann ich definitiv empfehlen. Dojo’s würde ich gerne mal ausprobieren – dort verspreche ich mir sogar noch einen höheren Lerneffekt.

  3. Pingback: Knowhow-erwerb in der Softwareentwicklung | DaRaFF's Blog

  4. Pingback: Wie werde ich ein besserer Softwareentwickler | DaRaFF's Blog

  5. Pingback: FizzBuzz Kata mit Javascript | DaRaFF's Blog

  6. Pingback: FizzBuzz Kata mit Javascript – Erkenntnisse | DaRaFF's Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>