Paying Down Design Debt

Paying Down Design Debt

As part of an iterative design and development process, we are continuously updating our products by adding new functionality, refining existing features, or removing under-utilized features. In this environment, it is not uncommon for various design and user experience inconsistencies and issues to develop over time.

These issues can be anything from an inconsistent use of color, an inefficient user-flow, clunky copywriting, or an unnecessary duplication of an existing pattern. They represent imperfections that develop when we’re operating under time and resource constraints. In isolation, these imperfections may be minimal, but in aggregate, they can seriously erode the user experience and brand perception.

Borrowing from the concept of “technical debt” in the software development world, “design debt” refers to the future cost that we’ll have to pay to correct these issues in order to make for a cohesive and excellent user experience.

While we can and should try our best to prevent design debt from occuring, a certain amount is inevitable in a project. In a world where we're shipping fast and shipping often, it is impossible to catch all design debt from getting out the door. And as we learn more about our users, and design trends and patterns evolve, some times the new work makes the old patterns and interactions obsolete. We then incur design debt by having to refactor our legacy work.

If we have methods and processes in place for us to pay down design debt, we can tackle it strategically in ways that don’t keep us from making continuous progress in other areas of the product and before it becomes a problem for our users.

Document and Prioritize Design Debt

First, document any known design debt that you may come across. This isn’t only the responsibility of the design team, anybody from development, QA and product management should be able to contribute to this list. Then, as a team prioritize your list based on visibility, user impact, and level of effort. Now that we have our list, we can start to tackle it using a combination of methods.

In Small Bites, Over Time

During each sprint or development cycle, the team is ideally spending a majority of their effort on high value enhancements. These big-ticket items should take up most of the developer effort during the sprint. However, there usually is some spare capacity for low-effort tickets. This is a great opportunity to chip away at your design debt backlog.

Bundled with Feature Enhancements

Anytime you’re tackling a feature or a section of your site, it’s a good time to clean up any issues that you or your team come across. Austin Knight refers to this as the “Boy Scout Rule” which states that you “always leave the campground cleaner than you found it.” It’s a great strategy for prioritizing design debt in areas that are a current focus for the company.

All at Once, Regularly

Optimizely regularly dedicates time known as “Polish Days” where they get design and front-end engineering together regularly to tackle multiple design debt tickets in a single afternoon. Some days are organized around a certain theme, some are a random assortment of high-priority or especially annoying defects.

It All Adds Up

No matter how you decide to tackle it, being proactive about removing design debt can keep your user experience from becoming disjointed and incoherent. While each one of these tickets by themselves may have a small effect, all together they can make a large impact on your brand experience. And by getting everybody involved, not just designers, you can provide easy ways for others to help improve the overall user experience.

More Reading

Pay Down Design Debt with Polish Day - Dave Rau
Design Debt - Austin Knight
Design debt and how to pay it off - Jeroen van den Eijkhof