Keeping it Simple
Simplicity is usually the goal of good design. Simplicity is also one of the hardest virtues to inculcate in large product organisations at scale. As products grow, things tend to trend towards complex thinking, complex solutions and complex execution. Like tight alignment, simplicity is a goal that demands constant and conscious effort.
The burden of pushing for simplicity in the org falls on the few who can devise and implement a consistent framework, project after project. There’s one such framework that I have created for myself. Having tested it over the course of ~2 years of rigorous product development, I am fairly confident in its day-to-day utility.
So here goes – every time I sit down to edit solution approaches, I run it through these 10 points:
- Simple is when it’s fast
- Simple is when there are no complicated choices to make
- Simple is when it’s so intuitive that I can move forward with my brain pretty much on autopilot
- Simple is when it fits into my existing behaviour and builds on my existing understanding
- Simple is when it’s clear when an action is expected from me
- Simple is when I can confidently predict what happens next
- Simple is when it’s sequentially linear where I perform one thing at a time
- Simple is when my mistakes are tolerated with generous affordances to fix them
- Simple is when it obeys the laws of physics and hence feels ‘natural’ in its form
- Simple is when it remains consistently reliable over time
Every time you think you’ve arrived at something simple, know that you’re at least a couple of points off from this list. Iterate.
This framework helps evade a majority of issues with any design.
Obvious caveat: Don’t apply this when you’re building something innovative and groundbreaking.