Usability in software development
The main reason for applying usabilitytechniques when developing a software sys-tem is to increase user efficiency and satis-faction and, consequently, productivity.Us-ability techniques, therefore, can help anysoftware system reach its goal by helping theusers perform their tasks. Furthermore, goodusability is gaining importance in a world inwhich users are less computer literate andcan’t afford to spend a long time learninghow a system works. Usability is critical foruser system acceptance: If users don’t thinkthe system will help them perform their tasks,they are less likely to accept it. It’s possiblethey won’t use the system at all or will use itinefficiently after deployment. If we don’tproperly support the user task, we are notmeeting user needs and are missing the mainobjective of building a software system.For a software development organizationoperating in a competitive market, failure toaddress usability can lead to a loss of marketshare should a competitor release a productwith higher usability. Also, a software prod-uct with better usability will result in re-duced support costs (in terms of hotlines,customer support service, and so forth).Even if a system is being used, it does notnecessarily mean it has a high level of us-ability. There are other aspects of a softwareproduct that condition its usage, such asprice, possibility of choice, or previoustraining. In addition, because users are stillmore intelligent than computers, it is usu-ally the human who adapts to the computerin human–computer interaction. However,we shouldn’t force the user to adapt to soft-ware with poor usability, because this adap-tation can negatively influence efficiency, ef-fectiveness, and satisfaction. Usability is akey aspect of a software product’s success.
The usability process
As we mentioned, a system’s usability de-pends on the interaction design. Therefore,we must deal with system usability through-out the entire development process. Usabil-ity testing alone is not enough to output ahighly usable product, because usability test-ing uncovers but does not fix design prob-lems. Furthermore, usability testing has beenviewed as similar to other types of softwarequality assurance testing, so developers of-ten apply the techniques late in the develop-ment cycle—when major usability problemsare very costly, if not impossible, to fix.Therefore, it is crucial to evaluate all resultsduring the product development process,which ultimately leads to an iterative devel-opment process. A pure waterfall approachto software development makes introducingusability techniques fairly impossible.All software applications are tools thathelp users accomplish certain tasks. However,before we can build usable software tools—or, rather, design a UI—we need informationabout the people who will use the tool:
Who are the system users?
What will they need to accomplish?
What will they need from the system toaccomplish this?
How should the system supply whatthey need?The usability process helps user interac-tion designers answer these questions dur-ing the analysis phase and supports the de-sign in the design phase (see Figure 1).There are many usability methods—allessentially based on the same usabilityprocess—so we have abstracted a generic us-ability process from the different approachesto usability mentioned earlier. We hope thismakes it easier for the reader to understandthe different usability techniques we will bedescribing.
Usability analysis phase
First, we have to get to know the users andtheir needs, expectations, interests, behav-iors, and responsibilities, all of which charac-terize their relationship with the system.
There are numerous ap-proaches for gathering information aboutusers, depending on each individual systemunder development and the effort or timeconstraints for this phase. The main meth-ods are
.The primary source for user informationis site visits. Developers observe the users intheir working environment, using the sys-tem to be replaced or performing their tasksmanually if there is no existing tool. In ad-dition, developers interview the users to un-derstand their motivation and the strategybehind their actions. A well-known method
Usability testingalone is notenough tooutput a highlyusable product,because ituncovers butdoes not fixdesignproblems.
Authorized licensed use limited to: Universidad Federal de Pernambuco. Downloaded on October 13, 2008 at 11:07 from IEEE Xplore. Restrictions apply.