The flexibility–usability tradeoff is a design principle maintaining that, as the flexibility of a system increases, its usability decreases. The tradeoff exists because accommodating flexibility requires satisfying a larger set of requirements, which results in complexity and usability compromises.[1]
Design theory maintains that over their lifecycle, systems shift from supporting multiple uses inefficiently, towards efficiently supporting a single use as users' needs become more defined and better understood, both by themselves and designers.
When weighting the relative importance of flexibility versus usability, designers are advised to consider how well the needs of the user are understood. If user needs are well understood, designers should bias toward simple less-flexible systems. Otherwise, designers should create flexible designs that support multiple future applications.[2]