Test-Driven Development (TDD) is a mature methodology now, right? So how do you get it right? Carl and Richard talk to Justin Searls about his experiences helping teams implement TDD. As Justin says, TDD is just a tool in the toolbox for making long-lived software. In its maturity, different flavors of TDD have emerged, and Justin digs into the Detroit or Classical TDD versus the London TDD. It's all about testing, but with some style variations. How do you keep your tests resilient as software evolves? Justin talks about the right amount of abstraction and organizing a hierarchy of tests so that you can manage change effectively. TDD works!