It's one of the few technical terms that really describes itself... (think about that, and what that says for our industry!).
Usability is really in the eye of the beholder. Ask 10 people their definition of "quality", and you'll get 10 different answers. Usability is a big part of quality, but it's rare to see it mentioned in any of the so-called "quality methodologies". What is easy to use by one individual is a nightmare for another. That's why the definition of "usable" software has to have several components:
- The Persona. The "definition" of the user who will be using the software. There can be several personnas definined, but it's difficult to design software for personnas on opposite ends of the spectrum.
- The Requirements. Requirements are a description of what the software should "DO".
- The Specifications. Specs are "HOW" the software should accomplish the Requirements. And there's the rub. Some of the best software meets the requirements, but is still unusable. The best way to define specifications are with:
- Storyboards and Prototypes. These are essentially paper prototypes of how the software will look and interact.
- Usability Testing. This is the most overlooked, but most critical piece of software development.
Feature-rich, but usable?
Usability testing is accomplished by asking users (that meet the personas - not techncial people's PERCEPTION of users) to accomplish everyday tasks. They are observed, and asked some questions after they have attempted their tasks. Feedback goes into the next iterative development phase. Without that feedback early and often, the risk of poor usability will always be high.
More to come...