Uday GajendarFeb 25, 20152 min read
The Pragmatic Designer’s 10 Things
Just a quick memo to myself, shared with the world.
- There is no perfect design. Everything is iterative: code + pixels
(and beyond). - Design is making imperfect choices with imperfect information among imperfect trade-offs, to achieve some perfect goal.
- Your goal is not to make everyone happy (or like you). It’s to help your customer be successful. That means making tough, unpopular choices. And then you can iterate based on feedback. (hence, prototyping!)
- Balance the system’s integrity with where it makes sense to break it. Weigh risks, difficulties, problems.
- Often the best choice is the least imperfect choice. Swallow the jagged pill and move forward. Make 10% progress every day, even with the smallest design choices.
- Pick and choose your battles. Design is a highly political activity. Cash in your chips for the right battles of the right impact at the right time. Takes foresight, principles & patience to sense that moment. Not easy!
- “Like” is not a design word. Instead use “works” or “doesn’t work”, downplays the personal subjectivity.
- Look, everyone has an opinion. Even “data” (which is either other people’s opinions, or interpreted by someone with biases). That’s OK! Don’t fight opinions. Triage, focus & decide, no matter how imperfectly.
- Instead of insisting on the perfect choice, learn how to “satisfice”: Do what’s necessary yet sufficient, to make forward progress. And iterate!
- Finally, it’s not about “making Engineering (or Product Management) do your design”. It’s about creating a context and process where everyone participates in an imperfect, iterative, compromise-heavy, constraint-driven, decision-making model where there is no one right answer. But we figured something out together, as best as we could…and we keep iterating until we’re awesome.
And remember, there is no perfect design :-)