Table of Contents |
Recall that application software is described as software that does something useful. With regard to computer software, usefulness is described as the degree to which the uses of software can meet the goals they were designed to meet. The primary aspects of a software application’s usefulness are its utility and usability. Utility describes the capacity of a software application to perform a task or set of tasks. The more tasks a software application is designed to perform, the more utility it has.
Usability describes how easy it is for a user to interact with software to perform a task. However, as related to software development, usability describes a user-centric approach to software design. This approach to software development seeks to consider the concerns of the user at every phase of the development process, thus making it the most critical aspect of usability. Coincidentally, it is the aspect that is often overlooked in software design. In order to develop software in this way, development teams conduct frequent usability tests where users are able to provide feedback regarding the software’s interface. The primary reason for developing software in this manner is to save time, money, and other resources toward the end of the development cycle. The idea is that if the user provides feedback at every phase of development, the software can be continually adapted, until the best user-centric solution has been reached.
IN CONTEXT
A software development team is creating an app for a pizzeria to improve their online ordering interface. The goal is to make online ordering a quick, straightforward, and painless experience. The business believes that if customers enjoy using the online ordering system, they are more likely to become loyal customers and less likely to place orders at other pizzerias.
The development team selected a group of representative users to test the app during iterative design so that they can identify usability problems and address these issues in the next design iteration. The users downloaded beta versions of the app on their phones, and navigated through the app as they normally would as customers: they skimmed the menu for ingredients and pricing information, added items to their shopping cart, and placed their orders for delivery.
During the usability test, a common theme from users was that they wanted information in real time about the status of their delivery after placing an order. This prompted the development team to incorporate this feedback into their next iteration. New specifications and requirements are then developed to support delivery tracking in the app, so that customers can see on the app if their order is being prepped in the kitchen, or is en route to their location.
A user-centric approach to software development ensures that software will meet its goal of being useful, while still maintaining a large degree of utility. Listed below are the five dimensions of usability.
Dimension of Usability | Description | How This Dimension Is Tested |
---|---|---|
Learnability |
Refers to how easy a user can adapt to the software interface Related to helpfulness of the interface Refers to training documentation/user guides |
One way learnability is tested is to take a group of users and assign them to complete the same task within a software application. The time it takes each user to complete the task is used to determine the general learnability of the task. |
Efficiency |
Refers to how fast a user can complete their tasks Related to user interface navigation scheme, keyboard shortcuts, placement of on screen controls |
One way efficiency is tested is to measure the time it takes to complete a task. |
Visibility |
Refers to the overall effectiveness of the user interface Related to the efficiency with which a user can complete a desired task or set of tasks |
One way usability is tested is to use the “hallway method.” In this method, developers are focused on identifying the early stage interface problems. Testers randomly select people from within the company or general public and ask them to use the software product. |
Error Management | Refers to the capacity of the user interface to deter user errors; if user does commit an error, can the user recover from the error based on the ease of the user interface | One way error management is tested is to ask people knowledgeable in IT or the related area to anticipate what might go wrong with the application, then make appropriate requirement changes, and then repeat so that error management is an iterative process. |
Satisfaction | Refers to how enjoyable or pleasant the user interface is to use | One way satisfaction is tested is to use rating scales, such as Likert scales, for attitude or preferences. Likert scales ask users to rate their satisfaction or preferences on a scale, typically ranging from strongly disagree to strongly agree, with 3-5 options in between. |