Document-driven development.

Reg Braithwaite:

Before implementing a feature, write the documentation for it. If that seems daunting, write the help text for the feature. If that seems daunting, send a colleague an email describing how it will work. If that seems like a lot of work, put a rubber ducky on top of your monitor (I'm shooing my age here, in your grand-father's time, computer monitors were boxes large enough to hold a pizza and generated enough heat to keep it warm). Explain the feature aloud to the ducky.

If it's hard to explain... redesign it until the explanation is simple.