When developing software in an Agile environment for enterprise and end-user services, agencies need to remember that non-functional requirements are equally important to the functional ones. One of these non-functional requirements is how usability goes beyond a software’s base functionality to improve the end user’s overall experience. While the functional component ensures that the code itself is fully operational, the usability component ensures that the code can be used by the end-user efficiently and effectively. According to the Nielson Norman Group, a leading consulting firm in the User Experience (UX) field, “on the Web, usability is a necessary condition for survival.” Looking at the characteristics of the system rather than looking mainly at the functionality throughout the entire development cycle allows for streamlined development that targets the system’s audience.
The first step to understanding usability is understanding its place within User Experience (UX). Usability is the component within UX that defines how accessible the information or tasks are within a software for the end user. The Nielson Norman Group defines usability along five attributes: learnability, efficiency, memorability, errors, and satisfaction.
Learnability describes how easy it is for the first-time users to learn and operate the system. Efficiency examines whether or not users are able to efficiently operate, navigate, and understand what they are trying to achieve. Memorability is similar to learnability in that memorability describes how easy it is for the users to retain what they learned. The fourth aspect, errors, not only looks at the frequency of errors made by the user but also at how well the system allows the users to recognize and recover from these errors. The last aspect is the user’s subjective satisfaction, which really speaks to all aspects of usability because it shows if users are less likely to use it effectively or at all: “There's no such thing as a user reading a website manual or otherwise spending much time trying to figure out an interface [..] leaving is the first line of defense” (Nielson Norman Group). When looking at these aspects of good usability, they can all be achieved through an intuitive design focused on the specific audience the system is being deployed to. Through preliminary persona and taxonomy research, as well as iterative usability testing, the system can be designed and developed to not only be operational but also fine-tuned to its respected users.
When determining what kind of preliminary research must be performed for a system to have good usability, there must be a focus on who the audience is, what their needs are, and how they will interact with the system to fulfill their needs. Demographic and ethnographic research provides insight into the regional and cultural subtleties that make up the system’s audience. With this information, base personas or representative user types can be created. These personas allow designers and developers to gain a clear understanding of who they are building a system for and how they might adapt it to that user’s needs. The personas and user types can be explored through focus groups and subject matter expert (SME) interviews. Interactions with focus groups allow designers and developers to understand the preferences and reasoning of the users, while SME interviews allow for focused expert reasoning. For example, when making educational software for a student base, there might be a focus group with students on how they have retained the information in the past, as well as SME interviews with professors on how they have taught information. Another component that provides depth to the personas is understanding how the users naturally perceive information so that the system can mimic it. This kind of user information can be gathered and incorporated into design elements through tests like task analyses, card sorting, and tree testing. In an interview, Luke Wroblewski, author of “Site-Seeing: A Visual Approach to Web Usability,” said, “The way each element [on the screen] is presented tells you a lot about it: is it more or less important than other elements; is it similar or different from other elements; can you take action on it? This type of information helps you ascribe meaning to what you see on the screen.” This lets designers and developers map the user’s natural sense of perception within the system’s navigation and actions, which gives the user an intuitive and natural experience: “When properly applied, visual design is all about communication. The better at communicating we are, the easier it is for our users to use and appreciate the web sites we design.”
Once development begins, additional usability testing can be performed as early as the initial design stage. These tests can include the verbal protocol analysis, commonly known as the think-aloud analysis, cognitive walkthroughs, and contextual interviews. With tests like the think-aloud analysis, participants are encouraged to speak aloud while they perform a range of tasks within the system. By doing this, the facilitator can observe how a participant reacts to the system within the five aspects of usability and probe for further detail when unclear. For example, if a participant makes an error, the facilitator can potentially see why the user made the error and how, if at all, the user corrected the error. With cognitive walkthroughs, participants run through a specific set of commonly used tasks with facilitators paying special focus on the learnability aspect of the user’s experience. Similarly, contextual interviews let the facilitator observe the participant using the system in his or her natural environment. This limits external factors not present when the user is normally using the system: “The results are usually qualitative, observed data, rather than quantitative, measured data” (Contextual Interview).
When interpreting these results, it is important to look at them both objectively and subjectively to gain proper insight. Look for trends along the user base and aggregate them in a way that can be transformed into design changes. With tests like the think-aloud analysis, results can be gathered with as little as five participants, allowing for trends among the users to easily be identified and prioritized. It’s not always about what the user wants but instead about why the user wants that specific change. Correlate these base motivations with other users’ feedback to find the root issues. Prioritizing results by impact on design, impact on user satisfaction, and frequency of occurrence focuses the subjective qualitative data into actionable results.
The end result of implementing this kind of user-centered design process is a system made specifically for the end users. With iterative research, testing, and design built into the development process, the system can be built and used by the end user more efficiently. While there are many tools that can assist with these analyses, beneficial results can still be gathered with minimal resources. Since the end user is considered throughout the entire development process, there is less need for reworks and patches. This is because issues are caught early in development, allowing for quicker changes rather than full reworks. The goal is to have a product that lets the user achieve his or her desired goal as naturally and effortlessly as possible. The less time and energy a user spends struggling to understand the system, the more he or she is able to spend on the task at hand.