Who Needs Usability Engineering, Anyway?
“Who needs usability engineering, anyway?” – This is a question that one might hear from people whose experiences with usability engineering services have not been too good.
Issues with Usability Engineering
Some issues that might be raised when criticizing usability engineering projects are:
- Nitpicky feedback
The usability engineer finds fault with aspects of an interface whose impact on user experience seems to be marginal at best, while important factors go unnoticed. A potential cause for this is a lack of understanding concerning the elementary workflows and business logic of the system in question, which results in the usability engineer focusing on superficial issues. - Tons of paper and cumbersome communication
The documentation of the usability engineering process seems to be charged by weight, since the usability engineer produces tons of paper or gigabytes of word files, respectively. The way findings are documented does not match the requirements of the respective audiences, with the consequence that documents are soon “dead” in shelves or on servers. This often happens when the usability engineer has a “standard procedure” that is not adapted to the requirements of the project and client in question. - “Creative” ideas that are never implemented
For optimizing the interface, the usability engineer comes up with ideas that look interesting and creative on paper, but that cannot be implemented (or only with considerable use of resources), so that they have not practical use for the client. This can occur when the usability engineer does not have an in-depth understanding of the client’s technical infrastructure and requirements. - Developing prototypes for usability testing purposes delays the development process
Since prototypes have to be developed specifically to match the tasks of an empirical usability test, the respective resources cannot be used in development of the “real” system, resulting in delays. A lack of alignment between the usability engineer and the user interface developers can lead to this kind of waste of resources.
The Case for Usability Engineering
With all those problems in mind, one could indeed be inclined to judge usability engineering a waste of time. However, certain trends in IT, which were, for example, also focused during this year’s CeBIT, show that it is more important than ever to include the users’ perspectives into the development process. Important trends are:
- Green IT (saving energy in IT)
Even though this is mostly a hardware issue, users can contribute their share to energy savings in IT, by adapting their usage behavior – or by being enabled to adapt their usage behavior. This can be fostered by creating interfaces, for example for private users, that support them in getting their work done quickly and turning off their computer earlier instead of having to spend a lot of time (and energy) on cumbersomely interacting with a system. - Highly specialized tools
The fundamental requirement for creating tools that efficiently address specialized tasks is an exact understanding of the user-task-tool fit. Only on this basis will the system meet the expectations of specialist users who require optimal usability and performance in their individual working contexts - Ubiquitous computing
Interactive systems permeate all areas of our lives. And whereas users may be willing to “adapt” to technology to a certain extent in their working places (whose settings are more or less “prescribed” by others, anyway), they do not want to go out of their way to adapt to technological constraints in their everyday lives. Users expect technologies to adapt to them or not to be noticeable at all (see also “The Invisible Computer” by Don Norman).
These few examples show that usability engineering is not about offering the user a nice “add-on”. Usability Engineering is about addressing basic expectations and being successful in the market.
Agile Usability Engineering
To address these issues with usability engineering and at the same time avoid the pitfalls mentioned above, agile usability engineering methods come handy. Some characteristics of agile usability methods are:
- Adaptation of methods used to current project phase
Depending on the current project phase in user interface development, user-centric and technology-centric aspects vary in their weight. When creating “vision documents”, for example, the users’ perspective can be crucial (“Which benefits do we want to provide the users with?”). During the creation of prototypes, technical aspects can become more important (“Which technologies for creating the user interface are optimally suited for the backend?”). Neither perspective should be completely ignored. It is amongst the usability engineer’s responsibilities to steer the process to make sure that the right balance for each project phase is found, appropriate methods are used and that the right people have the chance to provide their input. - Targeted communication
Instead of wasting tons of paper (or gigabytes of storage), communication should be tailored to the exact needs of the respective audience. Maintaining documentation online, which is made available – and searchable – for all involved persons can be beneficial. In addition, documentation should be as “lean” as possible to provide a basis for coming to good decisions in the most efficient way and help in taking the right action. A “standard documentation procedure” should not be forced upon the client when it is obvious that it will result in an inefficient communication. - Reusable prototypes
For usability engineering and user interface development, is it important to employ prototypes in the most efficient way. For certain questions, paper & pencil prototypes are sufficient. In order to delve deeper, prototypical implementations of the interface in question might have to be used. In order to do this efficiently, experts should create code, which can be used for usability testing purposes and for implementation of the system. In doing so, project resources are optimally used: no delay is caused by programming work that serves exclusively for creating prototypes, which can only be used for usability testing and have to be thrown away afterwards.
All in all, agile usability engineering and its integration into the development process is an efficient approach for creating user-friendly interfaces. Therefore, usability engineering should be more than just a nice add-on: if done right, it is a powerful means to achieve an optimal match between the requirements of users in a world that is more and more permeated by technology on the one hand and systems that need to be created in an efficient way to be competitive.

