“Emily’s talks on Clean Code gave us a big push towards Software Craftsmanship. Her lightning talks followed by provoking questions stirred up many interesting discussions."

Arnulf Krokeide, Software Architect, Confirmit, Oslo

"I had the great pleasure to assist Emily to arrange JDojo@Gbg Coding Dojo meetings. She's an excellent facilitator, perfectly balancing the level of tutoring and stepping back to let the participants "learn by doing". 

Fredrik Wendt, co-organizer of JDojo@Gbg

“When I have been asking about feedback around this Coding Dojo course, people are very satisfied. They think that everyone in the house should have to take it. Really valuable.”

Martin Andersson, Manager, Software Engineering at Jeppesen

I brought in Emily to work with the team on issues around Clean Code, Test Driven Development and Refactoring. Her presentation of the material was always very professional and the structure of the sessions allowed for a lot of interaction and reflection. The feedback from the participants has always been very positive.

Isak Styf, Software Team Leader at Markem-Imaje

I liked "The Coding Dojo Handbook" a lot. It was not too long, very to the point and practical.

-- Anders Schau Knatten, Developer, Oslo

Test Driven Development Training

Bache Consulting - Test Driven Development - Coding Dojo - Agile Engineering
Workshop at XP2009 with Lasse Koskela and Dave Nicolette, photo by Tom Poppendieck

Test Driven Development is a particular way to program, which leads to a suite of automated tests being built up alongside production code. The trick is to alternate writing small granularity tests, and just enough code to make them pass. You must refactor the code and tests as you go, to make everything expressive and clean.

Our experience of Test Driven Development is that it leads to higher quality software, less stressful work for programmers, and a much better chance of long term system maintainability. It may be a little slower to produce functionality than standard coding practices, but this is more than offset by the reduction in defects.

The main way I teach Test Driven Development is via the "Coding Dojo", where I take a group of programmers into a safe environment, and lead them through a "Code Kata" exercise. I want to get them to discover the benefits of TDD in somewhat idealized circumstances - with a trivial coding problem, and familiar language and IDE. The idea is that by letting them experience the rhythm and flow of TDD, they will understand the benefits.

First steps in TDD

When you begin with TDD, writing tests first can feel awkward and pointless. There is a while when you're far less productive than you were before, and that can be frustrating. In the Coding Dojo we are in a safe place, where it doesn’t matter if we are unproductive for a while. In fact all the code will be thrown away afterwards. You should feel free to experiment. We're trying to provoke that "aha!" experience where you realize how much the tests are helping you. There's a feeling of safety, of freedom to refactor and clean the code, and a satisfying, steady incremental increase in functionality.

That feeling of safety and progress is attractive - developers want more. If they experience the benefits of TDD in a safe setting, they will be more likely to also practice TDD in production code.

Practicalities

If you’d like to learn more about Test Driven Development, we can facilitate Coding Dojo meetings tailored to your needs. For a team new to TDD we recommend a series of 6 half-day dojos, ideally held two weeks apart, with a group of 5-15 programmers. Please contact us for more information, or download a flyer about our TDD seminar.

More Information

For more information about our Coaching in Test Driven Development , please use the form below: