10 helpful rules for designing software
November 20, 2022
Listed below are some 'rules' I believe to be helpful when designing digital products. Some might seem obvious (1, 3, 4, and 5 for example), but I've been around long enough to know a good many designers and product teams don't do these things. Hell, I don't always do these things! But I try.
Some of the points are specific to design, while others relate to communication within a team.
- Spend the bulk of your time understanding the problem. Solutions will often come easily if you invest time up front.
- Favour the lightest weight solution that solves the core of the problem, then iterate once real world data becomes available.
- Measure what you build.
- Don't reinvent the wheel. Leverage existing patterns and components whenever possible.
- Form follows function. While aesthetics are important, don't get distracted by pretty things at the expense of usability or other product opportunities.
- Always consider subtraction as a design solution. Our default mode is additive... we make progress through growing things. But additive design has a cost. It fuels complexity over time, making your product increasingly hard to reason about. Sometimes the best solution is taking something away or not doing it all!
- Talk with product team colleagues early and often. Use visuals to communicate and never assume alignment in understanding.
- Whenever possible, feel the customer's pain first hand. If you don't use the product often, in a realistic way, you will struggle to grok their complaints, identify points of friction, or sniff out opportunities.
- Communicate only what is necessary for your audience. Be merciless in your editing.
- Bias for Action. Doing something, even the wrong thing, is often better than endless debate and equivocation. The best way to make progress is to Do Something.