How to Effectively Address the Usability Debt Within Your Product
A structure for getting your organization aligned on making usability improvements that matter
Many companies fall into a dreaded pattern of continuing to ship new features without going back and iterating upon things that were previously shipped based on research and insights. As a result, both big and small usability issues continue to pile up and it becomes difficult to address them. Beyond the process and product development strategy reasons why this can happen, 0ne reason why usability issues aren’t always addressed is that it’s difficult to see the real impact of each usability issue in isolation. Even if you thoroughly keep track of each problem in a project management tool such as Jira, Asana, Trello, etc., these issues can easily get lost and difficult to prioritize. Without a visible burning problem in front of your team, it’s easy to cast aside these issues as something you’ll come back to “when you have time.”
As designers, we deeply understand how usability issues compound into a degraded user experience that can have a big impact on our products’ and customers’ ability to be successful. It’s important for us to come up with a way of organizing and communicating usability issues to our team in a way that helps articulate this impact and that leads to actually getting them addressed.
What You Need in Order to Address Usability Debt
At SalesforceIQ, we initiated an effort to address the “usability debt” that our products had accumulated over time. In order to do this effectively, we identified that we needed the following:
- A shared language for discussing usability issues across the product
- Defined methods for finding and gathering usability issues
- A structure for organizing and classifying the issues
- A method for prioritizing usability improvements and getting them into work streams
- Ways to meaningfully measure the impact of usability improvements
1. Define a Shared Language for Discussing Usability Issues
Usability issues are often initially discussed in terms of very specific changes necessary within a product’s UI. However, sometimes the real problems exist at a higher level than what might be initially visible to the team. The following structure has made it easier to map individual issues back to the higher level task and goal that they support so that we can make sure we’re addressing the core of the problem:
- User Goals: What the user is ultimately trying to accomplish in their lives, which may be outside of the product itself. Goals are identified by conducting high-level user research and developing personas. They’re used as inputs to identify opportunities to optimize tasks or introduce new features. Example: Achieve my personal quota for call volume.
- Tasks: High-level flows the user does in the product to achieve their goals. Tasks are identified by watching users use the product or through task-oriented usability testing. They’re used to identify entire flows or workflows that can be improved. Example: Update contact information.
- Problems: The issues the user is having while they attempt to complete their task. Problems are identified by conducting either qualitative or quantitative research. They’re used to identify what issues are preventing a user from completing a task. Example: I can’t figure out which phone number is the one that I should contact first.
- Usability Improvements: The solutions to user problems that will make it easier for the user to complete a task. Improvements are determined by the product, design, content, and development teams and often validated through research. They’re used to create tasks for the team to work on that will solve a problem (or at least make it better). Example: More clearly visually differentiate primary phone numbers from secondary phone numbers.
Using consistent terminology to discuss these concepts helps the team get aligned on where the problem exists. One benefit of this structure is you will start to identify multiple tasks related to a single goal, multiple problems for each major task, and multiple potential solutions to a problem. You may also identify a suggested usability improvement that may end up solving multiple problems. This hierarchy allows you to start to see how solving multiple problems can significantly improve the broader task the user is trying to do and goal that the user is trying to achieve. Otherwise, you risk addressing a lot of usability issues in isolation that may not have a measurable impact.
2. Find and Gather Usability Issues
In order to start addressing your product’s usability issues, you need to be able to keep track of them and see them in one place. These issues may come from a variety of sources, including (but not limited to):
- Direct conversations with your customers
- Usability testing
- Product feedback channels such as email, UserVoice, Get Satisfaction, etc.
- Heuristic evaluations
- Internal team feedback
Put each issue into a centralized repository that will allow you to track and manage the issues. The simplest version of this is likely a spreadsheet, but you can also use a wide variety of project management tools. The goal is to reduce friction to getting the issues in one place, so aim for the simplest solution until you need something more complicated. In some cases you may have an issue reported in the form of a problem, and in other cases it may come in as a requested feature or improvement (a proposed solution to a problem). Keep track of both, so that you can ultimately investigate the core of the problem and how it relates to a broader user task and goal.
3. Organize and Classify the Usability Issues
Each usability issue should be tracked along with metadata that helps give context to the issue and makes it easier to slice and dice the data.
Here are the things you should keep track of for each usability improvement along with its associated problem, task, and user goal:
- Type: Does the usability improvement require a change to existing functionality or new functionality? Again, this may not reflect the final solution, but is helpful to keep track of so that you can start to get a sense of which issues may require new project work vs. which may be a quicker win that can improve existing functionality. You may not think of new features as usability improvements, but in order to fully address a usability problem that exists in your product, you may need to create something new in the experience.
- Source: Where did the problem or improvement suggestion come from? This helps you refer back to the original source and reach out to any specific users for additional information as necessary. If the problem comes from multiple sources, you may want to keep track of each instance or simply have one representative example.
- Value: What is the relative value of addressing the problem? This is definitely subjective, but it’s important to understand a particular solution’s relative impact on the experience. At SalesforceIQ we’ve used a scale of 1–5 where 1 = very low value and 5 = very high value. For our team, value is determined by weighing the number of users it impacts, how often the issue is faced, whether it is part of a core workflow, and how it impacts conversions. When a single person is unable to accurately make this assessment, you can ask for input from several members of your team and investigate any notable disagreements.
- Feasibility: Tracking feasibility on a relative scale can help in the prioritization process (see below). It won’t be possible to accurately gauge feasibility until a solid solution is in place, but where possible you can use scale such as 1 = trivial to fix and 5 = significant effort to fix. This obviously has a lot of sub-factors within it, but you’re going for a ballpark estimate. It’s ok to hold off on estimating feasibility until you investigate and validate the problem.
4. Prioritize Usability Improvements
When you reach a point where you have identified the value of solving a particular problem, have investigated potential usability improvements, and have identified the feasibility of implementing those solutions, you can prioritize which issues to tackle first.
The value/feasibility scales will result in four key buckets of effort:
- High Value/High Feasibility: The “low-hanging fruit” quick wins that will bring the most visible benefit to your users in the shortest amount of time. Have a work track on your team that focuses on getting as many of these improvements done as possible.
- High Value/Low Feasibility: Be careful not to dismiss these improvements because they will take more time to implement. Prioritize these efforts as larger project work and include them on your roadmap.
- Low Value/High Feasibility: Just because a usability improvement may not bring a lot of initial value to your users, it may be combined with other improvements to show more value. Include these improvements along with others, or “sneak” them into other projects to achieve incremental improvements to the overall experience.
- Low Value/Low Feasibility: Out of all of the potential improvements you can make to your product, some will have to fall below the line. De-prioritize those that will both take significant effort to address and bring relatively low value to your users. If other potential solutions are discovered that could solve the problem in a different way, consider re-evaluating and re-prioritizing them.
One key thing to remember when prioritizing usability improvements is that you want to bring visible value to your users, not just make a lot of 0ne-off fixes.
Your goal is to address the broader problems that your users have with the product, and that make them more efficient at completing their tasks.
For improvements that may not be obvious quick wins, try and prioritize them in groups so that you address several improvements to a problem or several problems related to a task all at once. This will show you more meaningful improvements than if you addressed each issue independently.
5. Measure the Impact of Improvements
There are many metrics you can use to show the benefit of addressing usability issues within your product. These include:
- Number of improvements implemented in total
- Number of problems those improvements helped to address
- % increase in task completion
- % of improvements made to address known problems for a task
- % decrease in time to complete task
- % reduction in reported problems or problems experienced in usability testing
The Goal > Task > Problem > Usability Improvement hierarchy will help you report on more meaningful metrics than if you only tracked the improvements themselves. It will also help show your team and stakeholders the value of addressing usability problems within your product when they are put in context of problems solved and tasks improved. The ROI of usability will become clear, and you will start to move your team away from simply building feature after feature, and toward building quality user experiences.