TDD As If You Meant ItUnit testing is becoming a common practice for developers. More and more developers are practising Test Driven Development (TDD). But are you really doing it? Are you really taking the tiny steps of write a single test - make it fail - make it pass - refactor? Are you really letting the tests drive your implementation? Are you still able to make smaller steps when you find yourself in trouble by seeing a failure, not knowing where it comes from? Or do you fall back to the old habit of firing up the debugger? We often see developers take larger and larger steps as they gain more courage. This is also what we did after we learnt TDD. Eventually this results in crappy code. While TDD, as Kent Beck writes in "Test Driven Development by example", is actually the art of making really small steps, so that you can stay productive all the time.
So let's practice what we preach, and take test driven development to the extreme. Let's do tdd as if we really meant it.
In this session we do extreme tdd - oh and yes: it's even more 'bureaucratic' than the 3 or 4 steps that you already know. We follow a very strict micro process where we work in tiny steps, creating all production code initially in the test itself and creating implementation methods and classes only as a result of extract and move method refactorings. We do this as an exercise to find out what the effects are on our design, quality of our code and TDD skills.
This session was inspired by Keith Braithwaite's workshop with the same name at Software Craftsmanship 2009.
Level (beginner / intermedia / advanced) Intermediate
Track in which the content is to be categorized (see above) MethodologyPrerequisite knowledge experience with unit testing; some knowledge of TDD (some experience would be great);
Outline of the presentation 10 min. Short introduction to TDD (with a small example) 30 min. Demo - tdd, but now as if we really meant it 10 min. Reflection & summary

|
Willem van den Ende QWAN Willem van den Ende is a Dutch eXtreme Programming pioneer. Since 1999 he guides organisations in the introduction of Agile Software development as an all-hands person: coach, developer and facilitator. Always active in the local and international community, he currently servers as host of systemsthinking.net, the European AgileOpen conferences, open space host of XP Days London and co-programme chair of Software Practice Advancement. Willem is an appreciated workshop facilitator at practitioners’ conferences like XP(Day), Software Practice Advancement, scan-agile and Agile200*.
Willem’s sharp vision, his broad knowledge, and twenty years of experience as programmer and coach enable him to adopt a very flexible and improvising attitude during workshops. He has the ability to let people see things differently.
|

|
Rob Westgeest QWAN After years of experience with Object Oriented Software Development with UML, several development processes and project approaches as developer, trainer and project leader, Rob worked on his first XP project in 2000. And with great success! He supports projects and people in the application of agile practices, principles and values since then. Rob develops himself and others continuously by visiting, organising and hosting workshops at conferences and user group meetings like SPA, XP Days, XP-NL and Agile Open.
Rob explains hard problems in a simple way, so the problems and the solutions are easy to fathom. He is able to let others experience what he learned quickly, and so doing guides teams around pitfalls. His enthusiasm and sense of humour makes it a great pleasure to work with Rob.
|
|