profile picture

London vs Chicago

It's an integration, not a choice

November 20, 2021 - 468 words - 3 mins Found a typo? Edit me
tdd software


There are two known schools in TDD: the mockist school (aka Outside-in) and the classicist school (aka Inside-out).

Why London and Chicago?

Two companies, one from London and another from Chicago, claimed to do TDD, but they were focused on different aspects. The London company was building software from outside-in, while the Chicago company from inside-out. Let’s see them in more detail.

Outside-in: London School

It provides a behavior-driven approach to TDD. Starting from the outside of the application and working in moving to lower layers. For example, starting from the API/Controllers down to the application or domain layers.



Inside-out: Chicago School

It’s an informal, exploratory, state-based approach of TDD. Starting from the inside of the application (usually the domain) and works out towards the APIs.




It’s not about choosing one over the other. It’s about understanding your context and driving optimization towards those qualities that need to be optimized. London and Chicago each have their pros and cons. The best approach to TDD is an integrated adoption of these two schools.