Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way of formally expressing usability requirements? [closed]

I am writing a system requirements document and need to include non-functional requirements relating to the usability of the system, but am not sure of the best way to express this.

"The system shall be easy to use" seems a bit vague to me, and not testable. Are there any 'official' standards/guidelines that can be adhered to relating to the usability of a program?

like image 308
alex77 Avatar asked Feb 04 '09 20:02

alex77


2 Answers

Usually, we try to hash out an application-specific definition of 'easy to use'. For example, for our current project, easy to use means:

-All delays in the system longer than .5 seconds will produce a dialog box that says "Please wait."

-It is possible to reach any given system function from the main window in less than 3 clicks.

-It is possible to accomplish any given task with just the keyboard, without the mouse.

-All buttons in the system will adhere to established button convention (link to established button convention regarding size, naming, position, etc.)

-All screens will have a help button. Each help button on a given screen must provide at least one 'topic' for each control on the screen.

-etc.

These sorts of things are testable, and taken together, constitute a 'pretty good' usability standard. That said, nothing substitutes for actual users trying it out.

like image 178
GWLlosa Avatar answered Oct 20 '22 16:10

GWLlosa


Usability requirements are hard because the only way to know if your system is usable is by having real users try it out. How will you know if your requirements have been met? To do that, you need formal metrics for usability. Those metrics have to somehow be extracted from the results of usability testing, and if you abstract your usability testing to the point where you're just getting metrics out, you're missing out on its usefulness.

Some items like "must be able to do X with Y many clicks" or "system must respond in Z milliseconds or less" are useful, but they're actually functional requirements that have to do with usability, not usability requirements in themselves. It's quite possible (if not likely) that you can design and implement a system that meets all such formal requirements and is still frustrating for the users. Again, the only way to know is through usability testing.

like image 20
Adam Bellaire Avatar answered Oct 20 '22 14:10

Adam Bellaire