Component Sprawl
When teams move fast, similar UI patterns get solved independently. A button variant here, a modal pattern there. Each solution is reasonable in isolation. Collectively, they create a product where the same problem has been solved in four different ways, each with its own behavior, its own edge cases, and its own maintenance burden.
Component sprawl is not just a visual inconsistency problem. It is a cognitive load problem. Engineers navigating the codebase spend time understanding which version of a pattern to use. New team members learn the wrong version first. Changes that should be global become surgical operations across dozens of files.
Observable signals
- Multiple button or form components with similar but not identical behavior
- Design system components and ad-hoc implementations coexisting
- Difficulty making global visual changes without touching many files
- New engineers recreating components that already exist elsewhere