|
|
Usability is an increasingly important competitive issue in the software industry. Software usability engineering is a structured approach to building software systems that meet the needs of users in various environments with varying levels of computer experience. This approach emphasizes observation of people using software systems to learn what people want and need from software systems. The three principal activities of software usability engineering are on-site observations of and interviews with system users, usability specification development, and evolutionary delivery of the system. These activities are parallel steps in the development cycle.
Computer system designers have not always adopted a user-centered perspective on software design. Instead, many designers resolved design questions about the human-computer interface by using introspective criteria such as personal preference or conceptual appeal.
This introspective approach to user-interface design might produce a usable system when software engineers represent actual users. However, computer systems today are being built for a wide range of people whose needs often have little in common with the needs of system designers.
In response to market demand for systems that satisfy a growing and varied user community, usability is becoming an increasingly important competitive issue.
IbleSoft believes that engineers must learn about the needs and preferences of actual users and should build systems to accommodate them. With an understanding of customer environments, an awareness of technological possibilities, and imagination, we have produced many ideas for products that meet users' needs.
The Software Usability Engineering Process
The role of engineering is to apply scientific knowledge to produce working systems that are economically devised and fulfill specific needs. IbleSoft has adapted engineering techniques to the design of user interfaces.
To understand user needs, engineers must observe people while they are actually using computer systems and collect data from them on system usability. Observation and data collection can be approached in the following ways:
• Visiting people while they use computers in the workplace
• Inviting people to test prototypes or participate in usability evaluations at the engineering site
• Soliciting feedback on early versions of systems under development
• Providing users with instrumented systems that record usage statistics
IbleSoft uses these methods to gather information directly from users, not through second hand reports. We use these methods to study the usability of current versions of our products, competitive systems, prototypes of new systems, and manual paper-based systems.
IbleSoft follow three principal activities:
| • |
Visiting customers to understand their needs. By understanding a customer's current experience with a system, we gain insight into our opportunities to engineer new and better systems. We collect data on users' experiences primarily through contextual interviews, that is, interviews conducted while users perform their work. |
| |
|
| • |
Developing an operational usability specification for the system. We base the system specification on our understanding of users' needs, competitive analysis, and the resources needed to produce the system. This specification is a measurable definition of usability that is shared by all members of the project team. |
| |
|
| • |
Adopting an evolutionary delivery approach to system development. Developers start by building a small subset of the system and then "growing" the system throughout the development process. We continue to study users as the system evolves. Evolutionary delivery is an effective method for coping with changing requirements -- a fundamental aspect of the development process. |
| |
|
These three development activities are parallel, not sequential. We do not view user-interface design as a separate and initial part of the development process but as an ongoing process in system development.
|