Boundary Breaks
Scope
The target is states in which assumptions about boundaries separating the inside and outside of a system can no longer be maintained. What is addressed here is not specific external APIs or communication methods, but types of breakdown observed during operations.
Definition
Boundary breaks describes a state in which assumptions such as input format, response content, availability, and temporal constraints that were assumed to hold when a system interacts with the outside partially collapse, and internal processing no longer holds based on those assumptions.
Symptoms
- Unexpected input or responses cross boundaries and internal state cannot be handled as assumed
- Situations are observed where changes to external specifications affect assumptions of internal processing without being detected
- Situations are observed where timeouts or partial failures are incorporated into happy-path assumptions rather than treated as exceptions
- Situations are observed where responsibility and decisions crossing boundaries are treated as part of internal logic
Typical Triggers
- States continue where the behavior of external systems is embedded in code as implicit assumptions
- States are treated as assumptions where error handling or fallback is partially implemented
- Input is trusted while verification of boundary conditions is omitted
- Operations continue without assumptions regarding boundaries being made explicit
Diagnostic Questions
- Is it a state where values passed from the outside are trusted unconditionally? Is it a state where guarantees and non-guarantees at boundaries can be clearly explained?
- Is it a state where states during timeout or failure can be grasped?
- Is it a state where paths through which changes crossing boundaries propagate internally can be enumerated?
What This Is Not
- This does not indicate best practices for API design
- This does not aim to completely eliminate external dependencies
- This does not refer to single communication errors or failure cases
Connections
- Why It Breaks: Context Erosion, Decision Avoidance