Timo Stollenwerk gave a presentation on test-driven development (TDD) at a Python Barcamp in April 2013. TDD involves writing tests before writing code so that code is only written to pass failing tests, ensuring code works as intended. Following a TDD process results in code that works, is proven to work through testing, has a lower defect rate since it is tested, and is cheaper to fix bugs in. TDD also allows for shorter development cycles and a faster development process since testing is built-in, and makes development more satisfying and fun. Stollenwerk recommended following the practices of no code without a failing test, making the test pass quickly, then refactoring code and tests.