The Butterfly flaps its wings. Is TDD complex or simple?

A session at SPA 2012

  • James Dobson

Wednesday 4th July, 2012

9:30am to 12:15pm (GMT)

One-line description: Do the starting conditions affect design in TDD?

Session format: Workshop (150 mins)

Abstract:Inspired by a long discussion with Jamie Dobson at XpDay and a couple of false starts, this session is an experiment to see how forcing different constraints might affect the result of Test Driven Development.

The idea is to have each pair program up a common example, an Engima machine, but with different starting conditions. Some will be environmental, such as functional vs. OO languages, others will be more about approach, for example:
- introduce domain types immediately
- extract domain types from strings and integers
- model the physical machine (rotors, etc)
- don't model the physical machine
- "TDD as if you meant it" style

We can also force the initial test choices, for example:
- a one rotor machine completely implemented
- a minimal machine with 3 rotors

We will ask people to checkpoint the code at intervals during the session to see how the design is evolving. We could try gathering some arbitrary statistics, such as number of lines, classes, methods, etc.

Audience background: Programmers experienced in Test Driven Development.

Benefits of participating: Increase the world's sum of knowledge and perhaps understand more about how we make our design choices. We don't really have objectives clearer than that, but we expect the SPA audience to find us some.

Materials provided:Description of the Enigma machine (various generations), a collection of constraints to follow. We will use some training material Romilly has been developing around the Enigma machine example.

Process:Explain the intention and the design of the Enigma machine.

Pair programming for most of the time, periodically collecting versions and statistics. We can set up a VCS instance somewhere that people can commit to.


About the speakers

This person is speaking at this event.
James Dobson
This person is speaking at this event.
Steve Freeman

Software developer, coach, and trainer. London UK

Sign in to add slides, notes or videos to this session

SPA 2012

England England, London

1st4th July 2012

Tell your friends!


Time 9:30am12:15pm GMT

Date Wed 4th July 2012

Short URL


View the schedule


Books by speaker

  • Growing Object-Oriented Software, Guided by Tests

See something wrong?

Report an issue with this session