A service should direct all users to a clear outcome, regardless of whether the user is eligible or suitable to use the service. No user should be left behind or stranded within a service without knowing how to continue.
What this means in practice
The service enables a user to achieve the goal they set out to achieve as one, seamless string of events, and does not require the user to piece together their own pathway through a set of separated complex tasks or interactions.
You’ve achieved this when
Your user is able to stray off the desired path of your service at and is able to return without being stranded. At no point will they find themselves in a situation where they are unable to continue without being given a way to resolve their issue.
How to do it
There are six main ways that you can mitigate dead ends in your service:
Provide onward routes for people who aren’t eligible to use your service
Evenly distribute the complexity of your service
Make sure your service doesn’t get unduly complex as you stray further from the beaten track.
Ensure your service is inclusive
Make sure you understand what you’re presuming your users are able to do, and make sure an inability to do one or more of these things isn’t a blocker to users being able to complete their goal
Minimise the number of ‘requirements’ you ask of users
Try to keep the number to things that are absolutely required of users to a minimum to avoid them getting stuck if they can’t do them or don’t have access to that one thing
Treat each new technology as a progressive enhancement on the last, meaning that, when services fail, you can rely on the technology that came before it
Let your service degrade gracefully
Make sure that there are alternative routes for those who can’t do something or don’t have access to something.