Issue No.01 - January/February (2001 vol.18)
Published by the IEEE Computer Society
Certainly many of you have had enough frustrating experiences using software to acknowledge that usability strategies, models, and methods are often not applied adequately during software construction. Usability is not a luxury but a basic ingredient in software systems: People's productivity and comfort relate directly to the usability of the software they use.
One definition of usability is quality in use. 1 In simple terms, it reflects how easy the software is to learn and use, how productively users will be able to work, and how much support users will need. A system's usability does not only deal with the user interface; it also relates closely to the software's overall structure and to the concept on which the system is based.
Usability is a difficult attribute to embed in any system—not only software—and it requires specific knowledge and a lot of awareness about the user's likings, requirements, and limitations. However, many software developers would rather work with machines than with people; they show little interest in issues such as how much data should appear on the screen at one time. Additionally, many designers do not realize that their perception of their creation does not provide much information about how others will react to it. That is why we get all those "perfectly obvious to the designer" creations.
We should regard usability as one more quality attribute for consideration during software construction. Of course, we shouldn't concentrate on just a single quality attribute when designing systems: combining software characteristics poses the real challenge.
Usability and Software Development
Integrating usability into the software development process is not easy or obvious. Even the companies that have usability departments have difficulty resolving conflicts between usability staff and software developers, based on the groups' different perspectives.
In the cases where software practitioners have applied usability techniques, they traditionally have done it late in the development cycle, when fixing major problems is costly. Ensuring a certain degree of usability based on the intended user's work practices is very important when designing a good system concept or metaphor and must be integrated early in the design process. Interaction design can greatly affect the application's overall architecture. If you consider usability too late in the life cycle, there is no time left to really make a difference—you can't just toss it in at the last minute, any more than you could a good database schema.
However, when you do introduce usability concepts into your organization, you can cost-justify the investment, 2,3 reduce development time, 3,4 increase sales, improve users' productivity, and reduce support and maintenance costs. You can avoid conflicts with usability staff either by integrating usability experts into the development team or by making some team members usability experts. Depending on how much money you can invest, you can also avoid having to build costly usability labs.
As IBM has stated, usability "makes business effective. It makes business efficient. It makes business sense." 5
Natalia Juristo is a full professor in the Computer Science Department at the Universidad Politécnica de Madrid, where she directs mater's-level courses in knowledge engineering and software engineering. She is also an editorial board member of IEEE Software and the International Journal on Software Engineering and Knowledge Engineering. She has a BS and PhD in computer science from the Technical University of Madrid. She is a senior member of the IEEE Computer Society and a member of the ACM, the American Association for the Advancement of Science, and the New York Academy of Sciences. Contact her at the Facultad de Informática UPM, Campus de Montegancedo, s/n, Boadilla del Monte, 28660 Madrid, Spain; firstname.lastname@example.org.
Helmut Windl leads the User Interface Design Group for Simatic Automation Software at Siemens' Automation & Drives Division, where he has helped define and implement a structured usability process within the software development process. He is an experienced user-interface and visual designer for large-scale software applications and a project leader for usability-focused products. He is also a trainer and presenter in Siemens AG and with Constantine & Lockwood. Contact him at Siemens AG, A&D AS S8, Postfach 4848, D-90327 Nuremberg, Germany; email@example.com.
Larry Constantine is director of research and development at Constantine & Lockwood, a training and consulting firm. He is also an adjunct professor in the School of Computing Sciences at the University of Technology, Sydney, where he teaches software engineering and managing organizational change, and he is on the faculty of the Cutter Consortium. He has authored or coauthored 10 books, including Software for Use: A Practical Guide to the Methods and Models of Usage-Centered Design (Addison Wesley Longman, 1999). Contact him at Constantine & Lockwood, 58 Kathleen Circle, Rowley, MA 01969; larry@forUse.com; www.foruse.com.