Simplicity/Sanity Driven Development (SDD)

📄 wiki page | 🕑 Last updated: Nov 16, 2022

Simplicity/Sanity Driven Development (SDD) is a term I like to use in a contrast to popular software development practices of Resume-Driven Development, Hype-Driven Development (HDD), and cargo-cult programming.

It basically comes down to keeping things simple and selecting the most reliable tool for the job instead of following the hype trains or trying to pad your resume.

  1. Try to keep your software simple, reliable, and fast (in that order). Simplicity is the main prerequisite for reliability.

  2. Simple is not easy. In many ways, achieving simplicity is the hardest part of software development. Once introduced, complexity is almost impossible to remove.

  3. We tend to be drawn to complexity, as we tend to conflate complexity with sophistication. In the end, the opposite is true - simplicity is the ultimate sophistication.

Comments and suggestions

You can use this form to submit a suggestion or a comment.

If you find this site useful, please consider supporting it. Supporters also get access to some extras.