Graceful degradation means your system provides partial functionality when something goes wrong, rather than failing completely. Think of it like a car losing one headlight β it is not ideal, but you can still drive. Compare that to the engine dying β you cannot move at all.
Two ends of the spectrum:
| Approach | What Happens on Failure | User Experience |
|---|---|---|
| Fail Hard | System returns an error or crashes | User sees an error page or gets no response |
| Graceful Degradation | System serves reduced functionality | User gets partial or stale data, but can still use the app |
Simple analogy:
Imagine a coffee shop. If the espresso machine breaks: