How do you make a design easy to understand?

A lot of people probably think that in order for something to be easily understandable, it needs to be simple. And sure, while simplicity is always nice, I don’t think it’s required for understanding your software designs. This episode describes two other factors I think will serve you much better, familiarity and consistency.

the next time you come up with a wildly new design, ask yourself if it’s really worth it. Because anytime you introduce something new, you risk confusing a lot of people. Sometimes the change is worth it. Especially when the new design catches on and becomes widely adopted. It then becomes familiar. But if it’s a new design with limited use either in scope or in time, then it may not be worth it. Stick with a design that is common.

A long time ago, light switches used to be two push buttons. I remember when my grandparents moved into an old house and the fun I used to have pushing the buttons on the walls. At some point, this style of switch went out of favor and a toggle switch became normal that flipped up or down. And then not too long ago, more houses started using flat toggle switches that while still toggle up and down actually have a lot in common with the old double push buttons. My point is that what’s common and familiar can and will change. It also takes a huge effort to change major trends. This is just something to keep in mind because it can have a major impact on whether or not your software designs are understandable.

The other factor is consistency. This is different than being familiar and works to help your designs be more understandable in the short term. Don’t make other developers keep track of special cases. Keep everything consistent and you’ll find even if your design is complex, it’s a lot more understandable.