AgileWorks Romania

Coding Dojo – Delete the implementation, keep the tests, reimplement

Let's take a simple open source library, delete the implementation,  keep the tests and try to re-implement the library following the tests. How is this any helpful? Well... It will teach us:
 - the "test first" mentality
 - developing an API from the user's perspective
 - evaluating if the existing tests are covering all the right corners 
 - identifying duplication and refactoring it out
 - expressing intent more clearly 
 - [you name it, after the event]

The open source library we are going to re-implement is written and tested in Javascript. You will need just a basic understanding of the Javascript language, nothing fancy.

See you there!


A Coding Dojo is a team practice format that accelerates knowledge transfer and sharing skills between team members. With an experienced facilitator, it is also a way of learning by applying various techniques.


The following skills are typical candidates for improvement during a dojo:

• Refactoring
• Simple design
• Clean code
• Improving pair programming technique
• How to safely modify code you don't understand (usually legacy code)
• Learning a new programming language
• Unit testing
• Test driven development

In addition, coding dojo can be used by a team as a collective and structured way of solving difficult or risky problems related to production, like fixing a bug or redesigning parts of the application.

How it works?

The basic format of a coding dojo:

• All developers and the facilitator gather in a room.
• The facilitator introduces the purpose and the format of the coding dojo.
• One laptop with a functional development environment is connected to a projector.
• Two developers pair program on the laptop. The others are in the room, watching the code changes.
• Every 7 minutes, one developer leaves the laptop and the next one from the room takes his place.
• After a specified period of time (usually around two hours), the dojo ends with a retrospective.

Filed under: Comments Off
Comments (0) Trackbacks (0)

Sorry, the comment form is closed at this time.

Trackbacks are disabled.