Usability Basics for Software Developers Usability Engineering
Total Page:16
File Type:pdf, Size:1020Kb
focususability engineering Usability Basics for Software Developers Xavier Ferré and Natalia Juristo, Universidad Politécnica de Madrid Helmut Windl, Siemens AG, Germany Larry Constantine, Constantine & Lockwood n recent years, software system usability has made some interesting ad- vances, with more and more organizations starting to take usability seri- ously.1 Unfortunately, the average developer has not adopted these new I concepts, so the usability level of software products has not improved. Contrary to what some might think, us- Usability engineering defines the target us- This tutorial ability is not just the appearance of the user ability level in advance and ensures that the examines the interface (UI). Usability relates to how the software developed reaches that level. The system interacts with the user, and it includes term was coined to reflect the engineering ap- relationship five basic attributes: learnability, efficiency, proach some usability specialists take.3 It is between usability user retention over time, error rate, and sat- “a process through which usability character- and the user isfaction. Here, we present the general us- istics are specified, quantitatively and early in interface and ability process for building a system with the the development process, and measured desired level of usability. This process, which throughout the process.”4 Usability is an is- discusses how most usability practitioners apply with slight sue we can approach from multiple view- the usability variation, is structured around a design- points, which is why many different disci- process follows a evaluate-redesign cycle. Practitioners initiate plines, such as psychology, computer science, design-evaluate- the process by analyzing the targeted users and sociology, are trying to tackle it. Unfor- and the tasks those users will perform. tunately, this results in a lack of standard ter- redesign minology. In fact, the term usability engineer- cycle. It also Clarifying usability concepts ing is not universally accepted—other terms discusses some According to ISO 9241, Part 11, usability used include usage-centered design, contex- management is “the extent to which a product can be used tual design, participatory design, and goal- by specified users to achieve specified goals directed design. All these philosophies adhere issues an with effectiveness, efficiency, and satisfaction to some extent to the core issue of usability organization in a specified context of use.”2 This definition engineering: evaluating usability with real must face when ties a system’s usability to specific conditions, users from the first stages of development. applying usability needs, and users—it requires establishing cer- tain levels of usability based on the five basic Usability attributes techniques. attributes. We can’t define usability as a specific as- 22 IEEE SOFTWARE January/February 2001 0740-7459/00/$10.00 © 2001 IEEE pect of a system. It differs depending on the be carefully designed if it requires both high intended use of the system under develop- learnability and high efficiency—for exam- ment. For example, a museum kiosk must run ple, using accelerators (a combination of keys It’s important a software system that requires minimum to perform a frequent task) usually solves this training, as the majority of users will use it conflict. The point is that a system’s usability to carefully just once in their lifetime. Some aspects of us- is not merely the sum of these attributes’ val- consider the ability—such as efficiency (the number of ues; it is defined as reaching a certain level for interaction tasks per hour)—are irrelevant for this kind each attribute. of system, but ease of learning is critical. We can further divide these attributes to not just when However, a bank cashier’s system would re- precisely address the aspects of usability in designing quire training and would need to be highly ef- which we are most interested. For example, ficient to help reduce customer queuing time. performance in normal use and advanced the visible Because usability is too abstract a term to feature usage are both subattributes of effi- part of the study directly, it is usually divided into the ciency, and first impression is a subattribute user interface, attributes we mentioned at the beginning of of satisfaction. Therefore, when analyzing a the article:5 particular system’s usability, we decompose but also when the most important usability attributes designing the I Learnability: How easy it is to learn the down to the right detail level. main system functionality and gain pro- Usability is not only concerned with soft- rest of the ficiency to complete the job. We usually ware interaction. It is also concerned with system. assess this by measuring the time a user help features, user documentation, and in- spends working with the system before stallation instructions. that user can complete certain tasks in the time it would take an expert to com- Usability and the user interface plete the same tasks. This attribute is We distinguish between the visible part of very important for novice users. the UI (buttons, pull-down menus, check- I Efficiency: The number of tasks per unit boxes, background color, and so forth) and of time that the user can perform using the interaction part of the system to under- the system. We look for the maximum stand the depth and scope of a system’s us- speed of user task performance. The ability. (By interaction, we mean the coordi- higher system usability is, the faster the nation of the information exchange between user can perform the task and complete the user and the system.) It’s important to the job. carefully consider the interaction not just I User retention over time: It is critical for when designing the visible part of the UI, but intermittent users to be able to use the also when designing the rest of the system. system without having to climb the learn- For example, if a system must provide ing curve again. This attribute reflects continuous feedback to the user, the devel- how well the user remembers how the opers need to consider this when designing system works after a period of nonusage. the time-consuming system operations. I Error rate: This attribute contributes neg- They should design the system so it can fre- atively to usability. It does not refer to sys- quently send information to the UI to keep tem errors. On the contrary, it addresses the user informed about the operation’s cur- the number of errors the user makes while rent status. The system could display this in- performing a task. Good usability implies formation as a percentage-completed bar, as a low error rate. Errors reduce efficiency in some software installation programs. and user satisfaction, and they can be Unfortunately, it is not unusual to find de- seen as a failure to communicate to the velopment teams that think they can design user the right way of doing things. the system and then have the “usability team” I Satisfaction: This shows a user’s subjec- make it usable by designing a nice set of con- tive impression of the system. trols, adding the right color combination, and using the right font. This approach is clearly One problem concerning usability is that wrong. Developers must consider user inter- these attributes sometimes conflict. For ex- action from the beginning of the development ample, learnability and efficiency usually in- process. Their understanding of the interac- fluence each other negatively. A system must tion will affect the final product’s usability. January/February 2001 IEEE SOFTWARE 23 Usability in software development ment cycle—when major usability problems The main reason for applying usability are very costly, if not impossible, to fix. Usability testing techniques when developing a software sys- Therefore, it is crucial to evaluate all results tem is to increase user efficiency and satis- during the product development process, alone is not faction and, consequently, productivity. Us- which ultimately leads to an iterative devel- enough to ability techniques, therefore, can help any opment process. A pure waterfall approach output a highly software system reach its goal by helping the to software development makes introducing users perform their tasks. Furthermore, good usability techniques fairly impossible. usable product, usability is gaining importance in a world in All software applications are tools that because it which users are less computer literate and help users accomplish certain tasks. However, can’t afford to spend a long time learning before we can build usable software tools— uncovers but how a system works. Usability is critical for or, rather, design a UI—we need information does not fix user system acceptance: If users don’t think about the people who will use the tool: design the system will help them perform their tasks, they are less likely to accept it. It’s possible I Who are the system users? problems. they won’t use the system at all or will use it I What will they need to accomplish? inefficiently after deployment. If we don’t I What will they need from the system to properly support the user task, we are not accomplish this? meeting user needs and are missing the main I How should the system supply what objective of building a software system. they need? For a software development organization operating in a competitive market, failure to The usability process helps user interac- address usability can lead to a loss of market tion designers answer these questions dur- share should a competitor release a product ing the analysis phase and supports the de- with higher usability. Also, a software prod- sign in the design phase (see Figure 1). uct with better usability will result in re- There are many usability methods—all duced support costs (in terms of hotlines, essentially based on the same usability customer support service, and so forth).