Core Idea
Architecture Decision Anti-Patterns are dysfunctional behaviors that undermine the architecture decision-making process, leading to poor decisions, repeated debates, lost context, and inability to evaluate outcomes. The three primary anti-patterns are Covering Your Assets, Groundhog Day, and Email-Driven Architecture.
What Are Architecture Decision Anti-Patterns?
Definition: Architecture decisions shape the long-term structure, characteristics, and constraints of software systems. However, the process of making those decisions can be just as important as the decisions themselves. Architecture Decision Anti-Patterns are recurring dysfunctional patterns in how architectural decisions are made, documented, and communicated.
Process Anti-Patterns: Unlike technical anti-patterns (like Big Ball of Mud or God Objects), these are process anti-patterns:
- Failures in the social and organizational mechanisms around decision-making
- Manifest when architects and teams fail to establish:
- Clear decision-making processes
- Documentation standards
- Accountability mechanisms
Three Critical Anti-Patterns (Richards and Ford):
1. Covering Your Assets:
- Making decisions without clear justification or reasoning
- Leaving room to blame others or avoid accountability if the decision later proves problematic
- Prioritizes personal protection over sound architectural reasoning
- Decisions are deliberately vague or non-committal
- Architect can later claim “I never actually recommended that” or “you misunderstood my position”
2. Groundhog Day:
- Repeatedly debating the same architectural decisions because they were never formally documented or communicated
- Example: Teams find themselves re-arguing whether to use microservices versus a monolith, or which message broker to use, because no record exists of the previous decision and its rationale
- New team members raise the same questions
- Triggers the same debates, consuming time and energy without producing new insights
3. Email-Driven Architecture:
- Making critical architectural decisions through informal email threads, Slack messages, or hallway conversations
- The decision context, alternatives considered, and rationale are scattered across communication channels
- Impossible to reconstruct why a decision was made
- Example: Six months later, when someone asks “why did we choose this approach?”, the answer is buried in a thread no one can find, or in the memory of someone who has since left the team
Common Root Cause: These anti-patterns share a common root cause:
- The absence of structured decision-making processes and documentation
- Without formal Architecture Decision Records (ADRs) or equivalent mechanisms, teams fall into these dysfunctional patterns by default
Why This Matters
Architecture Decision Anti-Patterns create severe long-term consequences:
- Lost institutional knowledge: When decisions aren’t documented, only those present at the time understand the reasoning. As team members leave, context disappears.
- Repeated debates: Without records, teams re-argue the same questions, wasting time and creating frustration.
- Inability to evaluate decisions: If you don’t know why a decision was made, you can’t assess whether it achieved its goals or whether circumstances have changed enough to warrant revisiting it.
- Eroded trust: When decisions lack transparency and accountability, developers lose faith in architects, creating organizational friction.
- Poor onboarding: New team members can’t understand existing architectural choices, leading to proposals that contradict established patterns.
Avoiding these anti-patterns requires deliberate investment in decision documentation practices like Architecture Decision Records (ADRs), which capture the status, context, decision, and consequences of each significant architectural choice.
Related Concepts
- Architecturally-Significant-Decisions
- Architecture-Decision-Records
- ADR-Format-and-Structure
- Covering-Your-Assets-Anti-Pattern
- Groundhog-Day-Anti-Pattern
- Email-Driven-Architecture-Anti-Pattern
- Architectural-Governance
Sources
- Richards, Mark and Neal Ford (2020). Fundamentals of Software Architecture: An Engineering Approach. O’Reilly Media. ISBN: 978-1-492-04345-4.
- Chapter 19: Architecture Decisions
- Available: https://www.oreilly.com/library/view/fundamentals-of-software/9781492043447/
Note
This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.