A practical guide to solving product debt

Most teams produce it, but few know how to fight it.

Laurent Grima
UX Collective

--

In this article, I write about how to eliminate your own debt and stop producing more. This method is mainly inspired from my experience with top software engineering teams and lean manufacturing practices. You will benefit most from this article if you often find yourself struggling with too many things you’d like to fix and not enough time.

In product development, product debt typically refers to anything that either ruins the user experience or the internal productivity, and is caused by how the product is designed. It could be unclear bad information architecture, copy on a button, a confusing workflow, accessibility problems, …

The plan

To solve the problem durably, the plan is to:

  1. Make the problem visible
  2. Stop producing new debt
  3. Absorb the existing debt
A doodle of the 3 steps of the plan. 1) make the problem visible 2) fix the system 3) repay the debt.
Drawing by me

I. Make the problem visible

Why start here?

“If you can’t measure it, you can’t improve it”, said famous management thinker Peter Drucker. Making the UX debt problem visible will be essential for:

  • Showing the impact on the business (and the value in fixing it).
  • Finding the root cause(s).
  • Monitoring progress.

What should be measured?

UX debt has direct and indirect impact on the business. Direct impact could be a confusing checkout page causing low conversion rates. Indirect impact is all the customers that churn because friction in the product is too high, but also how it impacts the current design and engineering work (badly designed features introduce bugs because they are hard to model and code).

The easiest way to measure UX debt is through user feedback.

Catch complaints from customer support, usability tests, feedback from sales during demos, … Track progress with the volume of feedback, and use the content for root-cause analysis as well as evaluating the impact of the existing debt.

II. Fix the root cause

This is the most important step. Without finding (and fixing) the root causes of the UX debt you created, you will keep producing more, and it will be impossible to absorb. You will be just like the Danaïdes. To stop producing debt, you have to make your organization learn from its mistakes.

A painting of the Danaïdes, women trying to fill up a pierced barrel with water.
A typical product team building software circa 2020

Use the defects collected during step 1 to find out more about what went wrong.

To help you identify these root causes more easily, I have compiled the most common ones below.

The build trap

Many product teams fall into the build trap. You are in the build trap when you focus on shipping faster (output) rather than on having an impact (outcome).

Velocity is an easy thing to measure but it has poor leverage. It also pressures teams into designing bad products and writing bad code.

When teams focus on “speed”, two problems arise:

  • No time to think. Features cannot cost too much or they won’t be done. There is no time for user research, or testing, or to iterate more on an idea. Because you have to be fast, corners are cut and debt is created.
  • No time to fix. It is never the right time to fix the debt, so it is never fixed and accumulates. Fixes are often cosmetic patches instead of the needed deeper rework. This is what is referred to as the build trap (Melissa Perri) or “output vs outcome” (Marty Cagan), and also talked about here.
  • How to make this change? This requires an important mindset shift. You will have to act as a barrier at first. It is your responsibility to raise your hand when you see that what you are doing is going to be unsustainable.

Make sure the team understands the future cost of what you are doing. Do less but better. Change expectations: nothing is cheap to design and build, so going for a new feature is not a light decision and should not be rushed.

Bad understanding of the user and the problems they face

Usually teams that are the victim of the agile problem above also have this problem because they don’t take the time to research and understand the subject truly.

Do you find yourself the victim of design by committee, or coming up with weird solutions with unclear concepts, or lots of features that turn out to be useless? Those are dead giveaways that you suffer from this problem.

Fortunately, the solution is simple: go talk to your users (I wrote more about that here) and study the problem space. A Product Manager or Designer title does not give you any legitimacy in making decisions by itself, you must earn it by doing your homework.

Insulation from customer

As a company grows, the people that make decisions about the product get further and further away from the real users. Insulation happens naturally over time and must be fought.

Open a breach in the wall to let user voice flow to the teams. Make the complaints from customers more visible, show customers struggling to use the product through session recordings invite team members to sales demos or usability test sessions…

In 2 companies I worked with, we simply plugged the different customer support channels (Intercom, email, …) to a public Slack channel, with great results. Read more about insulation in this excellent article from Jared Spool.

Low design standards

Great inputs do not automatically translate into great outputs. Design is a difficult craft and the best solutions usually emerge after a lot of iterations.

To know if this is a problem in your organization, every time you encounter UX debt, ask yourself if it could have been avoided with a better design process. Some examples:

  • did the design follow the fundamental heuristics of ux?
  • did you run usability tests?
  • did you use real data when designing?
  • did you miss edge cases?

If this is the case, own your mistake and make the necessary improvements to your system, which in turn will raise the quality of your designs.

III. Repay the debt

Now that you have identified and fixed the holes causing UX debt to leak into your product, it is time to bail the existing one out of it. The current debt won’t evaporate, so accept the situation and roll up your sleeves.

Here is a realistic and practical way to do that.

The strategy

Start by addressing the most critical problems, then enter the steady state and fix the remaining debt little by little. This requires acceptance that the debt must be repaid, sooner or later.

A graph of the bandwidth of the team. At first, spending time on features, then fixing critical problems, then on a mix.
Drawing by me

Why is it the best strategy?

First, it is very likely that fixing the biggest offenders will have more value than shipping whatever new thing you were planning to build.

Unmet expectations hurt more than missing new features. This is a well-known concept that appears in various forms: retention before acquisition, the Kano model, in the various user hierarchy of needs around (Aarron Walter’s hierarchy of user needs, or Stephen Anderson’s), …

Chart representing the impact on user experience of different types of features: problems not fixed cost 100 times more.
Existing problems have a stronger impact on the UX than missing features (Drawing by me)

Second, it will make you move faster earlier. This is a compounding effect, so the earlier you fix it, the faster you will be faster.

Finally, having a whole part of the product working without problems gives incredible peace of mind. By getting rid of all the small distractions, annoyances and emergencies that come with existing debt, you get to focus on what really matters.

The tactic

Prioritizing UX debt against everything else is difficult, and usually leads to never fixing it, because it’s always more tempting to add new things instead.

To avoid that, make a separate list with only debt items, and dedicate a fixed amount of time to fix it. At first, it could be very high (even 100% of your time), but the goal is to progressively lower that amount to reach sustainable mix.

Don’t go for big redesigns that will never see the light of the day. Instead, go for identified scoped chunks.

Priorization can be organic, or be driven by specific sorting criteria. Don’t spend too much time optimizing this, because the biggest problems will be obvious, and the order in which you fix the remaining ones won’t matter.

The culture

The goal is to make improving the UX a natural part of day-to-day work.

Avoid being in a broken-window environment. On the contrary, make space for and encourage continuous improvement. Follow the famous boy scout rule: “Always leave the campground cleaner than you found it”.

Plotting productivity over time with continuous improvement (improves) or without (falls to 0)
Drawing by me

This is the difference between a product getting better and better, or worse and worse. When working on something, ask yourself: are you making things better one bit at a time, or are you the one building debt?

More about this

The UX Collective donates US$1 for each article published in our platform. This story contributed to Bay Area Black Designers: a professional development community for Black people who are digital designers and researchers in the San Francisco Bay Area. By joining together in community, members share inspiration, connection, peer mentorship, professional development, resources, feedback, support, and resilience. Silence against systemic racism is not an option. Build the design community you believe in.

--

--

I write about product design & management • Work with me: https://laugri.com • 🏄‍♂️ 🥘 🪴