But no matter how attentive your team is to its users, and no matter how airtight your approach, there’s another usability problem that is sure to materialize with time: design debt.
Design debt is the natural accumulation of design-related inconsistencies within a product (or a family of products) over time. It degrades product performance, creates unnecessary friction for users, and undermines team efficiency in tangible, measurable ways that affect your bottom line. Design debt can also be measured in the additional time, effort, and resources needed to correct deferred UX issues within a product.
Much like interest on a loan, design debt has a way of compounding over time. And, like all debts with compounding interest, it can pretty quickly get out of control if you don’t take it seriously.
In this article — the first in a series on design debt and design systems — we’ll explore the basics of design debt and offer a few useful tips to pay it down.
Design debt is unavoidable. It’s a natural and even expected byproduct of a product’s initial development and subsequent patches, updates, and releases. The most forward-thinking product teams can certainly minimize design debt, but they can’t avoid it altogether.
Design debt is created:
Design debt may be a normal part of product development and maintenance, but it can cause major problems if you let it go unchecked.
In any given year, how much time does your entire UX team spend designing, developing, validating, and testing buttons? How about menus and form validations?
If you were to really stop and look, you might be surprised at how much redundancy exists across different parts of your product (let alone a suite of products). Spending time and intellectual energy on that redundancy slows down releases, introduces inconsistencies that undermine the experience for your customers, and prevents your team from focusing on the bigger and harder problems.
Product teams that are stuck in a reactive design debt cycle spend more time trying to pay down a never-ending mountain of compounding interest than they do actually paying down principal. In other words, they are so busy reconciling the many inconsistencies within their products that they ultimately spend less time innovating or producing new functionality and enhancements that their customers really want.
Furthermore, the additional work you must do to remediate poor UX decisions is harder than the original work. Eliminating design debt demands its own compromises — meaning your fixes won’t be released as quickly or be as effective as doing it right the first time.
Design debt undermines your product’s UX. It does so by creating unnecessary friction as users consciously or subconsciously seek to compensate for inconsistencies within the product. When a product is weighed down by too much design debt, tasks that should be easy to understand and efficient to perform become challenging and cumbersome.
For example, let’s say your product has two workflows that require similar tasks, such as filtering a large list of items. If those tasks use different patterns, your users are unnecessarily forced to remember and recall two different methods rather than one. Even if your users can still accomplish their goals, the result is likely to be confusion and frustration.
A poor user experience will eventually cause your customers to lose trust in your product. What if they don’t get consistent, predictable results? Or worse, what if your product creates more work for them rather than making their lives easier? They’ll start looking elsewhere for another product that does a better job of meeting their needs.
The more you allow design debt to multiply, the more expensive it is to fix. Think about it: The more debt you have, the more complex the default design system becomes. That complexity places artificial constraints on each attempt at remediation.
Design debt makes it much harder to identify and maintain a single source of truth. Among the three patterns used in your product for adding multiple items from a list, which one is right? Maybe the second pattern makes the most sense, but aligning with that solution also conflicts with other conventions that have already been established.
Those complexities slow down decision-making and make it increasingly difficult to identify a clean solution to any given problem. As that happens, the costs in terms of time, money, and resources rises.
For example, let’s say you have multiple variants of text form fields and need to cull it down to one set of text field components. That doesn’t sound like such a big deal, does it? But let’s take a closer look at the numbers.
A modest product could easily have 30 text field permutations. And every one of those permutations (empty, filled, enabled, disabled, focused, error, and so on) will need to be designed, validated, documented, developed and tested.
Now let’s assume that it takes your team an average of 10 hours to perform all the tasks necessary to finalize each text field permutation. Let’s also say an hour of your team’s time costs you $100. All of a sudden, that “little” form field problem costs you $30,000.
But proactive product teams can learn to nip existing design debt in the bud and head off the majority of new inconsistencies. Doing so protects your product investment and makes for happier users, too.
Stay tuned for the next article in this series, in which we take a closer look at design systems and explain why they should be seen as a crucial element of any product roadmap.