SPA Conference session: Test-driven Development From Hell

One-line description:How many good TDD habits can you break in < 50 lines of code?
 
Session format: Workshop (75 mins) [read about the different session types]
 
Abstract:The aim of this workshop is to reinforce good habits by deliberately attempt to do Test-driven Development as badly as possible with as little code as possible. It aims to promote awareness of good TDD practices by challenging participants to "break every rule in the book" in the most efficient manner they can.

A secondary aim of the session is to demonstrate a useful technique for assessing your skills and highlight areas for improvement.

The developer who breaks all the rules using the least amount of code wins a hat.

 
Audience background:People with OO programming skills. Familiarity with unit testing and TDD.
 
Benefits of participating:Often, by mindfully breaking the rules, we become more aware of them. There's also the chance of winning a hat.
 
Materials provided:A worksheet with my "rules" of TDD for use in scoring
 
Process:An example done by me, then working in pairs.
 
Detailed timetable:Outline:

10 mins - Introducing 13 Good TDD Habits (with examples)

10-20 mins - Demonstration of TDD From Hell (I break as many rules as I can in 10 minutes)

20-60 mins - Participants, working in pairs, try to break all the rules with less code than I wrote, using the same programming kata as the basis

60-70 mins - Discussion & reflection while scores are gathered

75- Awarding of the hat to the winning pair/person
 
Outputs:Hopefully, some funny screencasts. Plus they'll learn a useful technique for assessing skills and habits which has been used successfully on a number of apprenticeship programs since 2008.

And did I mention the hat?
 
History:I've done the demonstration (asking the audience to assess me as I attempt to break all the rules) many times over the last year, inc. at QCon London and Agile Cambridge

http://www.youtube.com/watch?v=L90BH3b6YBU
 
Presenters
1. Jason Gorman
parlezuml.com
2. 3.