The worst-case scenarios
03 January 2015 No Comments
As developers, it is our responsibility to properly take worst-case scenarios into account.
"Taking worst-case scenarios into account is something that web design does poorly, and usually not at all."
Eric Meyer follows up on his "Inadvertent Algorithmic Cruelty" blog post. The picture of his daughter, who died last year, appeared on a party-like background of his Facebook auto-generated "Year in Review".
I believe his statement can be extended beyond web design considerations. In my experience, all "worst-case scenarios" are poorly taken into account in our industry.
Think about security and the well-known fallacies:
- "This is not likely to happen" (but are you willing to take the risk and pay the price?)
- "Who would target us specifically anyway" (let's not point fingers here)
- and the dreaded "It's going to delay the release" (but even after the release, we won't do anything about it)
Think of any "process" where users are left stranded because their situation was considered unlikely to happen and was discarded based on other fallacies:
- "We'll handle this case manually" (and of course there is no way for the user to reach someone who will help her)
- The now patentable "This is not likely to happen" and its variant "This will happen to what? A dozen of people?" (so let them suffer, that will teach them a lesson)
- "It would make things more complicated for all other users" (then you're probably doing it wrong)
Think about accessibility issues (motor or visual impairment). Often I can sense the manager's conflicted feelings. See that fancy menu item that requires careful clicking and pointing? You know some people won't be able to access it. We should do something about it. We know it's the right thing to do. But it will at best require more time and money. So let's not do it. Then you can look the manager in the eyes with a smirk that says: "I hope you can look at yourself in the mirror" :-)
This is when the worst-cases were not simply overlooked, then ignored when complaints started to flow in (closing your eyes won't make this issue disappear).
Sounds a bit like Dilbert, I know.
Of course, even when you think long and hard, there is not always a perfect or even a satisfactory solution. Our job is to make sure we take the worst-case scenarios in consideration and treat them adequately, whatever that implies in our company context.