Outside-In TDD part 1

12 May 2015


Oustide-In TDD (part I)

Different from the previous screencasts, this one is not meant for TDD beginners. Inspired by recent discussions on Twitter and a public discussion about TDD and Software Design (see video below), Sandro Mancuso decided to record a video showing how he normally codes, which is different from how he normally teaches.

In this 3-part screencast you will be able to follow Sandro's "just in time" design approach and understand the rationale behind some of his recent comments. You will notice that he not always follow rules and how he relies more on his intuition to drive his design. Thinking out loud throughout the video, it becomes quite easy to understand everything that he is considering while writing each test and refactoring his code. This video provides a very good example of Outside-In TDD and how it differs from the Classicist approach.

If you are TDD novice, don't follow the advice from these videos blindly. Favour the classicist approach, design less up-front, and get feedback from your code before evolving your design.

For more about the differences between TDD styles, please check Sandro's blog post Does TDD really lead to good design?