Using an outside-in approach focused on the usecase, we achieve high decoupling, great level of isolation, cohesion and extremely fast feedbacks (<1sec).

Our tests let us refactor and take decisions fast(fast enough as a ctrl-s keystroke^^).

Our hexagon rarely bothers about changes that happens to the left (controller, api version, view models changes…) or to the right ( database schema changes, database framework upgrade ou replacement…).

All it matters is the usecase through expected behaviour according to domain invariants for 80% of our tests.

Any thoughts? Please feel free to comment or ask :)

https://lnkd.in/eDdbMBnU

📎 BUILD STUFF'13: Ian Cooper - TDD, where did it all go wrong