The document discusses test-driven development (TDD) in Python. It begins by defining TDD as a way to improve code quality and design through writing unit tests during development. The document then provides an example story of testing the logic for a contest application from initial user creation through game play. It emphasizes the importance of testing both allowed and restricted user actions. The document concludes by stating how TDD leads to better, faster and leaner applications by producing code that is easier to change and less likely to break other parts of the code.