  Technical debt has become a well-known metaphor among software professionals,
illustrating how shortcuts taken during development can accumulate and become a
burden for software projects. In the traditional notion of technical debt,
software developers borrow from the maintainability and extensibility of a
software system for a short-term speed up in development time. In the future,
they are the ones who pay the interest in form of longer development times.
User experience (UX) debt, on the other hand, focuses on shortcuts taken to
speed up development at the expense of subpar usability, thus mainly borrowing
from user efficiency. Most research considers code-centric technical debt,
focusing on the implementation. With this article, we want to build awareness
for the often overlooked UX debt of software systems, shifting the focus from
the source code towards users. We outline three classes of UX debt that we
observed in practice: code-centric, architecture-centric, and process-centric
UX debt. In an expert survey, we validated those classes, with code-centric and
process-centric UX debt getting the strongest support. We discuss our
participants' feedback and present recommendations on how software development
teams can mitigate UX debt in their user-facing applications.
