The 8-ilities
Eight dimensions that shape a system’s resilience. The goal isn’t perfection — it’s awareness and intentional tradeoffs.
✨ Maintainability
Make the system understandable, operable, and changeable.
Diagnostic prompts
- What component do people avoid touching?
- How long does onboarding take?
- What breaks most often during releases?
✨ Security
Resist unauthorized access and misuse.
Diagnostic prompts
- What is our biggest unmitigated threat today?
- Can we prove authorization correctness?
- How fast can we revoke access everywhere?
✨ Usability
Help intended users achieve outcomes with minimal friction.
Diagnostic prompts
- Who are the primary personas and what are their top outcomes?
- Where do support tickets cluster?
- What requires explanation that shouldn’t?
✨ Scalability
Handle growth and demand variability efficiently.
Diagnostic prompts
- What saturates first under load?
- Do retries amplify incidents?
- Can components scale independently?
✨ Extensibility
Evolve without disruptive redesign.
Diagnostic prompts
- Where does change feel expensive?
- What requires broad coordination?
- Are contracts versioned and explicit?
✨ Availability
Deliver functionality when users need it.
Diagnostic prompts
- What dependency outage hurts most?
- Do we degrade gracefully?
- What is user-perceived uptime vs internal uptime?
✨ Durability
Preserve data/state across failures.
Diagnostic prompts
- When did we last perform a full restore?
- What is our acceptable data loss window?
- Can corruption propagate silently?
✨ Portability
Move across environments and platforms.
Diagnostic prompts
- Could we recreate prod elsewhere in 30 days?
- What is environment-specific today?
- How mobile is our data?
How they work together
Systems rarely fail from a single flaw. They fail when strengths in one dimension hide blind spots in another. Use the model to surface tradeoffs and make them explicit.
- Secure but unusable systems don’t get adopted.
- Scalable but unavailable systems frustrate customers.
- Extensible but unmaintainable systems slow down over time.
- Durable but not portable systems become trapped by platform choices.
