Thoughtworks Technology Podcast · Thoughtworks

Architecture antipatterns and pitfalls: Good intentions, bad habits and ugly consequences

·35 min·2 clips
A children's soccer registration website needs no architecture until the National Children's Soccer Association adopts it.
1. The Thoughtworks Technology Podcast episode centers on the early-release O'Reilly book 'Software Architecture Patterns, Anti-Patterns, and Pitfalls' and why it covers what not to do as well as what to do. 2. Host Neil is joined by co-authors Mark Richards, a hands-on software architect and founder of developer2architect.com, and Raju Gandhi, plus Sarah Gray, a development editor at O'Reilly Media who edits the authors' books. 3. The central thesis is that architecture mistakes are expensive to reverse, so the book pairs patterns with anti-patterns and pitfalls and keeps weighing trade-offs, since sometimes the choice is 'the least worst option'. 4. Following Martin Fowler's definition, an anti-pattern initially looks like a pattern and turns bad in hindsight, usually with a way to back out, while a pitfall is bad right away and often an unrecoverable mistake. 5. Mark illustrates the line with a children's soccer registration website that grows from one coach to the National Children's Soccer Association, whereas starting a back-end financial settlement system without an architecture is a pitfall from the start. 6. The authors say other pattern books present each pattern in isolation like an encyclopedia, while this book gives qualitative comparisons, cross-reference tables in chapter two, and 44 chapters with one pattern each to avoid an artificial taxonomy. 7. Raju adds that governance sets the book apart, drawing on Neil's evolutionary architecture work on fitness functions, and the group says they use "responsiveness" instead of "performance" in a shared style sheet. 8. On process, the team uses AsciiDoc in Git on O'Reilly's Atlas platform, Sarah edits in Google Docs with suggestions mode, and Raju puts each sentence on its own line so Git diffs show only the changed lines. 9. An in-person weekend in Atlanta led them to turn each chapter's 'context' header into a question, such as 'When do I need an architecture?', which Sarah helped refine so pattern questions read positive and pitfall questions negative. 10. Software architects and technical authors will get the most from this episode.
Listen to the show on