Hi Tim, great question, especially as those are all fab books! While all of those books are focussed on code, my book is really about technical leadership and putting some high-level building blocks in place before you start coding. In other words, it's about putting a vision in place that a team can follow in a consistent and coherent way. In real terms, my book is about doing "just enough" up front design to help you create that initial vision, which is based upon understanding what your key architectural drivers are and how they influence the resulting architecture. As an example, if you know that security is important, I recommend thinking about this up front because retrofitting it into an existing codebase can be tricky. The book is also about how to communicate the resulting architecture, using a collection of simple sketches rather than a hundred and one different UML diagrams. My approach is based upon decomposing a software system into it's constituent components, which can then provide a framework for doing TDD. In my view, the book complements the books you've listed rather than competing with them. Having said that, if you're already building well-structured systems, I would continue with what you're doing because it seems to be working!