The World’s Best Introduction to Test-Driven Development
Software Delivery Craft Matters
agile development
code quality
design patterns
iterative refinement
imposter syndrome
legacy code
self confidence
software architecture
software development
technical debt
technical excellence
unit tests
Level: General

How do you practise test-driven development (TDD), really?! It feels a bit like chess: the rules are simple to understand and follow, but playing well requires understanding complex strategies, making moves in unclear situations, and playing with confidence. In this workshop, we will discuss and practise the essential strategies that will help you program with more confidence (and less stress), even in unclear situations where "the right move" is highly debatable and success is uncertain.

Here are two key harmful ideas about TDD that I'd like to liberate you from, if you join this workshop:

  1. TDD is a magic set of rules that guarantees success for whoever follows them. (I will, however, give you some simple rules to help you make better decisions when you're not sure what to do next.)

  2. TDD is not a testing technique, but rather a design technique. (Well... for some people some of the time, yes; however, TDD is even more than those two things.)

You will spend two days learning, practising, and gaining confidence in your ability to write code that does what you wanted it to do and change code as you learn more about what it needs to do.

Craft 2024 - J. B. Rainsberger
J. B. Rainsberger
Business/Software Coach, Mentor and Consultant at

J. B. Rainsberger (, is a professional 5-pin bowler who also consults for both software development professionals and the organizations that employ them. He shares what he's learned about programming, managing his workload, interacting with people, and designing his lifestyle, with a focus on helping software development professionals work with less ...