https://dev.to/ben/the-hawaii-missile-alert-was-the-software-developers-fault-2bidThe Hawaii Missile Alert Was the Software Developer's Fault
The employee who accidentally triggered the missile alert on Saturday pushed the wrong button. It was a disastrous mistake that sent Americans panicking and running for shelter. Needless to say this is the kind of accident that should be avoided at all costs. Check out this passage from the linked Washington Post article. The emphasis is mine.
Around 8:05 a.m., the Hawaii emergency employee initiated the internal test, according to a timeline released by the state. From a drop-down menu on a computer program, he saw two options: “Test missile alert” and “Missile alert.” He was supposed to choose the former; as much of the world now knows, he chose the latter, an initiation of a real-life missile alert.
That's right. The person who made triggered the alert did so by selecting from a dropdown menu and picking the wrong one. That is not a human error, that is a software design error. Failing to account for this incident is absolutely negligent. I'm not sure what other people do, but when I'm designing interfaces with potentially destructive consequences, I do so with a lot of fucking care.
The problem with his argument is that it still doesn't excuse carelessness; it assumes that end users are so incompetent that we must make it foolproof. Which I would agree is critically important for system involving nuclear warfare....and I would stipulate that the end user of a nuclear warfare system should do their
job "with a lot of fucking care."
It seems half my job is making sure that idiots don't tick off the wrong box, press the wrong key or otherwise do what that guy did. And the worst consequences if my stuff fucks up are that some county comptroller gets a nastygram from a vendor because he didn't get paid or some county recorder goes nuts because he or she can't find a mining claim. Nothing with consequences of this scale.
So yeah, I kind of see where the article writer came from. Yeah the end user needs to do their job, but the software should also be designed where a fuck up of that magnitude is difficult to make.