Coding Dojo
@Innoveo
22.10.2013
Laurent Kempé

© INNOVEO SOLUTIONS AG /
02 DOJO ?/
 Wikipedia definition
A dojo (道場 dōjō) is a Japanese
term which literally means
"place of the way“
Formal gathering place for
students of any Japanese
martial arts
 Safe place to practice

22 October 2013

© INNOVEO SOLUTIONS AG / 2
02 CODING DOJO ?/
 Developers get together to work on a programming challenge
 Goals

Have fun
Improve skills by practicing
Learn / Improve techniques
Collaborative
 It is not
A competition
Neither a show

22 October 2013

© INNOVEO SOLUTIONS AG / 3
02 KATA, CODE KATA /
 Kata (型 or 形 literally: "form") is a Japanese word
describing detailed choreographed patterns
of movements practiced either
solo or in pairs
 Code Kata is a term coined by
Dave Thomas, co-author of the book
The Pragmatic Programmer
 Code Kata is an exercise in
programming which helps a programmer hone their skills
through practice and repetition

22 October 2013

© INNOVEO SOLUTIONS AG / 4
02 TDD KATA /
 Start from scratch
 Not necessarily solve the problem
 TDD

Red

Writing a failing test
Run test to see it fails

Write minimal code to pass test
Run test to see it pass
Refactor

Refactor

Green

Repeat

22 October 2013

© INNOVEO SOLUTIONS AG / 5
02 RANDORI KATA /
PAIR PROGRAMMING

 Code in pair
 Pilot and Copilot

 Principle
One write a first test, then pass the keyboard
Other write minimal code to pass the test
Write the next test, then pass the keyboard

Continue till the problem is solved or the time is passed

22 October 2013

© INNOVEO SOLUTIONS AG / 6

Innoveo coding dojo

  • 1.
  • 2.
    02 DOJO ?/ Wikipedia definition A dojo (道場 dōjō) is a Japanese term which literally means "place of the way“ Formal gathering place for students of any Japanese martial arts  Safe place to practice 22 October 2013 © INNOVEO SOLUTIONS AG / 2
  • 3.
    02 CODING DOJO?/  Developers get together to work on a programming challenge  Goals Have fun Improve skills by practicing Learn / Improve techniques Collaborative  It is not A competition Neither a show 22 October 2013 © INNOVEO SOLUTIONS AG / 3
  • 4.
    02 KATA, CODEKATA /  Kata (型 or 形 literally: "form") is a Japanese word describing detailed choreographed patterns of movements practiced either solo or in pairs  Code Kata is a term coined by Dave Thomas, co-author of the book The Pragmatic Programmer  Code Kata is an exercise in programming which helps a programmer hone their skills through practice and repetition 22 October 2013 © INNOVEO SOLUTIONS AG / 4
  • 5.
    02 TDD KATA/  Start from scratch  Not necessarily solve the problem  TDD Red Writing a failing test Run test to see it fails Write minimal code to pass test Run test to see it pass Refactor Refactor Green Repeat 22 October 2013 © INNOVEO SOLUTIONS AG / 5
  • 6.
    02 RANDORI KATA/ PAIR PROGRAMMING  Code in pair  Pilot and Copilot  Principle One write a first test, then pass the keyboard Other write minimal code to pass the test Write the next test, then pass the keyboard Continue till the problem is solved or the time is passed 22 October 2013 © INNOVEO SOLUTIONS AG / 6