Norwegian Developers Conference submission

I made a joint submission with Olve Maudal to the Oslo NDC conference over the weekend. Here it is:

Title

CyberDojo - a code dojo for seriously improving your development ability

Short Abstract

The usual format for a code dojo is fairly well known: participants split into small groups, each group codes on their own laptop, all groups work on the same coding exercise with keyboard drivers rotating within the each group periodically. Towards the end of the dojo the coding stops and everyone presents their work in turn. This form of practice is often called a kata.

A cyber-dojo is different in one important respect: each group still has their own laptop but they all perform the kata completely inside a web browser. A dedicated cyber-dojo server hosts the kata, saving the source files (and the outcome of running the tests) every time the run-tests button is pressed in the browser. Running a code-dojo in this manner creates many new exciting benefits:

  1. starting the kata is virtually instant - participants do not need anything installed at all.
  2. all the step-by-step incremental run-tests submissions can be inspected helping to place a much greater emphasis on the decisions taken during the kata rather than simply the code at the end of the kata.
  3. the cyber-dojo server allows everyone to peek at the current submissions of all groups!
  4. since all development environments are now identical it is even possible to introduce timeboxed iterations to the kata and rotate codebases at each iteration!
  5. it speeds up the end of kata retrospective (since you don't have to physically involve each individual laptop).

The aim of a cyber-dojo is to introduce deliberate practice to software development. The talk will explain the nature of deliberate practice, demonstrate a live kata using the cyber-dojo server, and give away copies of the server software to anyone who would like to run their own cyber-dojo.

Outline

  1. explain what deliberate practice is and how it differs from plain practice
  2. remind everyone how a standard code dojo is run
  3. introduce cyber-dojo and explain how it is different
  4. reveal the new exciting code dojo possibilities cyber-dojo creates
  5. performing a small live cyber-dojo kata
  6. short questions and answers session
  7. give away the cyber-dojo server software to anyone interested

Level

All

Expected audience

Anyone who is serious about wanting to improve their coding ability!

Names

  1. Jon Jagger, jon@jaggersoft.com
  2. Olve Maudal, olve.maudal@tandberg.com

Biographies

  1. Jon Jagger is an independent software coach-consultant-trainer-enthusiast based in England. He specializes in agile software development (people, process and principles), test driven development, deliberate practice, design, analysis, OO, UML and curly bracket languages. He served as the convenor and principal UK expert on the ECMA C# committee and has co-authored two books on C#. He is a frequent visitor to Oslo and has presented at the Oslo C++ User Group and JavaBin. He is a regular speaker at the Accu conferences. You can follow him at http://jonjagger.blogspot.com/ and http://twitter.com/JonJagger He is 43, married with three children. He loves freshwater river fishing.
  2. Olve Maudal loves to write code, but is perhaps more interested in how software is developed than what it actually does. Since 2004, Olve has been working for TANDBERG, the leading provider of telepresence and video conferencing products and solutions. Previous experience includes developing systems for finding oil (Schlumberger 1996-2000), and developing systems for electronically moving money (BBS 2000-2004). Olve is an active member of the vibrant geek community in Oslo where he is involved in JavaPils, Cantara, XP Meetup, Oslo C++ Users Group, Lean Meetup and a few other things. You can follow him at http://olvemaudal.wordpress.com and http://twitter.com/olvemaudal

Notes to the program committee

  1. If there is demand I will happily run cyber-dojo's outside scheduled talk time.
  2. http://vimeo.com/8630305 is a video demoing an early version of cyber-dojo which should give you a feel for it.
  3. http://github.com/JonJagger/cyberdojo hosts the open-source Cyber-dojo git repository