This post is written in response to the post Globe article on EMRs: status and the safety issue on the e-patients.net blog.
The abundance of hard-to-use software is the only issue that repeatedly gives me reason to reconsider my decision to leave the programming field.
Here's my take on the origin of the problem:
In order to develop software with good (much less excellent) usability, the design process must include collecting data about day-to-day operations in the context where the software will be used. That rarely happens. Instead, the standard process is to meet with a ‘customer’ and discuss their requirements. Often, the ‘customer’ in that meeting is a management-level company representative with little personal experience with the nitty-gritty of those day-to-day operations and who will seldom (if ever) use the software that's being developed.
It's a poor substitute, at best, and leads to a functional but hard to use end-product. At best, the result is cream of the crap.
An better approach would borrow an number of methods, including participant observation, from cultural anthropology to gather data about how information is obtained, used, and communicated in day-to-day operations.
For EMR software, this would mean data collection in in various healthcare facilities. It would require following staff to observe information flow; perhaps even hands-on experience working in an information-saturated non-clinical role.
The executive rumored to have scoffed at the idea of usability as a criterion probably understood this—specifically, he probably understood the kind of time and resources (i.e. money) necessary to develop software specifications the right way. That is, he understood that it would cut into his bottom line more than he was willing to accept.
After all, the only thing with such amazing ability to trump common sense is concern for one's own wallet.