Graceful degradation can be a highly effective strategy across multiple systems and decisions in a world-class company.
A graceful degradation is when you attempt to execute the best/ideal option; if you fail, you fall back to the next best option. You repeat down the stack ranked options.
The intent is to attempt to execute the best possible option at all times - while always having a backup plan.
Don’t skip steps, or you are typically acting in a sub-optimal way - by definition.
Here are just a few examples of the graceful degradation heuristics I use…
💡Improving user experiences
Improve the visual metaphor
Improve the affordances
Improve the word choice/copy
Short in-line explainers
Clear and instructive empty states
Coach marks/first-time walkthroughs
Embedded video tutorials on empty states
In-line help chat (with AI first tier)
Documentation center
Self-serve pre-recorded training programs
Live training programs lead by people
💡Dealing with regulatory constraints
Figure out the ideal, ethical, user-centric approach
Minimize exposure to regulatory regimes through a clear separation of concerns/jobs to be done
Add concise disclaimers to further carve out or skirt around regulatory regimes
Make minimal adjustments to words to further adjust interpretation (without creating excessive vagueness or confusion for UX)
Engage with regulators to make a case for the value and intent of your product
Make compromises to comply
💡 System uptime
Design systems to be fault-tolerant, scalable and self-monitoring
Isolate features and systems so that they fail independently
Attempt to establish an “active-active” production environment so that there is no downtime between production and backup
Have great downtime messages and outage tracking
Ensure smooth downtime recovery tools exist
Ensure disaster recovery processes exist
💡Cross-Squad Collaboration
Squad missions are designed, staffed, and empowered to act independently
Squads rely on other squad’s pre-built extensible services to configure or extend for their purposes
Squads ask other squads to add essential changes to their roadmaps
Squads do the work themselves with validation from other squad