CodingDojo
Introduction and background
A Coding Dojo is a coding session centered around a programming challenge. The challenge is small in scope and often patterned after pragmatic Dave Thomas' idea of Coding Kata. This event is based on Laurent Bossavit's monthly Coding Dojo in Paris where it has been running on a weekly basis since January 2005. It has been a weekly programming class where programmers of varying skill levels meet as equals.
We brought this event to Finland for the first time on November 23, 2005.
The idea of the original dojo was to witness someone carrying out a rehearsed choreography of developing a solution for a given problem. However, we will be using a more interactive version called Randori which is an exploratory form of a kata where the whole group participates in carrying out an improvised choreography rather than following a rehearsed sequence of steps in web design and Zara Clothing | Ohio State Youth Jersey | Money System - Step-by-Step Guide to Making Money Online
workshop by Laurent Bossavit and Emmanuel Gaillot in XP2005.
If I want to learn Judo, I will enroll at the nearest dojo, and show up for one hour every week for the next two years, at the end of which I may opt for a more assiduous course of study to progress in the art.Years of further training might be rewarded with a black belt, which is merely the sign of ascent to a different stage of learning. No master ever stops.
If I want to learn object programming... my employer will pack me off to a three-day Java course picked from this year's issue of a big training firm's catalog. Nuts to that – acquiring coding skills is not an instant gratification process (Zadig & Voltaire). This workshop proposes to discover a way of teaching and learning programming in a more appropriate manner, respecting the depth and subtlety of the craft.
Rules of Dojo
Note! Based on the feedback gathered from previous Dojos, Rules and workshop agenda presented here are just updated. The dojo format is changed to be more iterative (=more agile). In addition to that there are few minor additions to rules.
- There is a coding challenge that is announced beforehand.
- There is a room with one computer provided attached to video screen.
- The presenter explains the coding challenge and starts the Randori with a pair from audience.
- One half of the pair is changed every 5 minutes.
- The pair on the keyboard should continuously explain what they are doing.
- The pair on the keyboard should stop when someone from the audience falls off the sled -- and only continue when that someone is back on track again.
- The audience should give comments on web design only when there is green bar. (During red bar audience can only ask questions)
- The pair should not continue on writing code if other participants are not happy with the current design (The code should be always well refactored before starting to write new code)
- The pair will use TDD (Test-Driven Development).
- All produced code will be made publicly available using Apache License, Version 2.0.
- The programming language to be used is announced in advance per session.
- The maximum number of participants is limited to 15.
- The presenter acts as a product owner
- The actual coding is done in small iterations. There are short planning period before every coding iteration.
Agenda
Here is example agenda for three-hour session:
18:00 - 18:15 Bootstrapping: introduction to the Coder's Dojo 18:15 - 18:30 Introduction to the session's coding challenge 18:30 - 18:35 Planning for the first half hour iteration 18:35 - 19:00 Coding 19:00 - 19:05 Planning for the second half hour iteration 19:05 - 19:30 Coding 19:30 - 19:45 Break 19:45 - 19:50 Planning for the third half hour iteration 19:50 - 20:15 Coding 20:15 - 20:20 Planning for the fourth half hour iteration 20:20 - 20:45 Coding 20:45 - 21:00 Retrospective
Randori dojo checklist
make money online | Perth Insulation | sports handicappers | white pages
Things that you should have when organizing dojo:
- Computer (preferably with external mouse and keyboard)
- Table where it is easy to pair program
- Projector (with good resolution so it is easy to see the source code)
- Facilitator (who should know TDD practice quite well)
- Experienced starting pair (there might be people who don't know TDD yet. Therefore it is good to start with pair with more experience)
- Clear goal (requirements)
- Product owner/customer (someone should own the requirements)
- All required software installed and configured
- Flip chart (e.g for design diagrams)
Sign up
Please sign up by your name and e-mail address in the sign up list found in particular session's page. This is Wiki so you can edit the page just by pressing the "Edit" link. Also please note that we have to limit the number of participants to 15 people per session!. If you have any questions, please send me e-mail to markus.hjort at agilefinland.com. Resume would be very helpful to become a participant. Hosting
DojoIdeas
<< Back to Front Page
Keyword(s):
References:[Front Page]