Erik Talboom – Tdd as if the baby meant it
Evolutionary design can only be achieved if we let go of all our assumptions and focus on 1 small thing at a time. Every time we let ourselves be carried away by our thoughts we end up designing huge and mostly bulky systems.
We can’t trust our mind to come up with the best solution up front, we need to step away from that and focus on the next baby step, not the next jog. One thing I have learned the last few years practicing Test Driven Development is that it is really hard to keep yourself disciplined to really take the smallest step possible and not run off into at least a medium design up front. So during this session we will combine the technique known as “tdd as if you meant it” with the “babysteps” method to make sure we really do take the smallest steps possible while test driving our code design.
The babysteps method helps me to keep my discipline and I’m sure it will help you realize that whatever you thought were small steps can still be a lot smaller. Now don’t think that this is going to be an explanation. You won’t get off that easy. This session is about experiencing the combination of these two formats. So be prepared to dig in deep.
5 minute introduction – You want us to do what?
45 minute coding session – just do it!
10 minute retrospective – Holy crap…
What will you learn?
It takes a lot of discipline to take baby steps
What you thought were the smallest steps can really be broken down more
The power of “hardcore” Test Driven Development
How to really create an evolutionary design by test driving it
That pair programming does not equal talking a lot
Know how to write good unit tests (small, independent, 1 assert per test, fast)
Be fluent in at least 1 programming language, enough to write good unit tests
Bring your own development environment
Start using the concept of the timebox in your daily coding practice
For completely new code, start practicing this intense TDD as if you meant it format
When you feel up to the challenge, start looking for ways to use these techniques in an existing (legacy) codebase
Do you know the object calisthenics? No? Then look it up
Yes? Then why don’t you combine that with these formats and techniques?
While practicing, don’t make it easy on yourself
Do the attendees need a laptop?