“Let’s build a low-quality product,” said nobody ever. Yet, somehow, the world is full of them. You’re probably painfully aware of the ways in which your product isn’t high-quality, and you may have even made the decisions that got it there.
Those trade-offs are necessary, usually painful, and often difficult to navigate: how do you know when to compromise on product quality vs. insist on it? How can you ensure you’re doing it deliberately vs. by accident? How do you stand tall and defend those decisions in the face of entirely reasonable criticism from users and leaders alike?
To begin with, it’s worth nailing down an actual definition of “product quality.”
What is product quality?
Product quality describes the degree to which we elegantly meet user needs, and encompasses the following:
- Complete: For a given feature, did we solve a real problem in a complete and effective way? Or does the target user regularly have to hack her way around its deficiencies or lean on our support team? (Note that this means we have a clear definition of our target user.) Does adding it as designed leave our product in a state that feels whole and consistent?
- Opinionated: Did we embed our understanding of what the target user will want to do and how she’ll best accomplish it? Are we clear with our recommended / default next action? Were we willing to inconvenience less-important personas to support more-important ones?
- Usable: Can our target user figure out how to use this without undue cognitive load? Is our terminology, iconography, and flow consistent with user expectations? Do clickable elements have clear, consistent affordances? Does it conform to known usability heuristics? (Note that Usable isn’t always the same as discoverable. One doesn’t pick up Photoshop without training, and that’s fine — it’s a pro tool. The same expectation doesn’t hold for Apple Photos.)
- Polished: Are colors, fonts, and dimensions consistent with our design system and is everything aligned? Are icons and images rendering properly? Did we use animations to preserve context? Do actions provide effective feedback? Did we write grammatical and sensible copy? Is it stable?