🤖▶️ Check out the Design Patterns Overview course by Steve @ardalis Smith!Check it out »Hide




Zen Simplicity

Simplicity is one of the Values of Extreme Programming.  It guides and underlies many XP and Agile Principles and Practices.  From extremeprogramming.org:

We will do what is needed and asked for, but no more.  This will maximize the value created for the investment made to date.  We will take small simple steps to our goal and mitigate failures as they happen.  We will create something we are proud of and maintain it long term for reasonable costs.

The first of the Lean principles is Eliminate Waste.  One source of waste in software development is unnecessary code and/or functionality.  By maintaining Simplicity in our software, we reduce the amount of non-core code and functionality we need to design, code, test, and maintain. We should strive to ensure our code follows the rules of Simple Design, so that it remains easy to update in the future.


"Simplicity is the ultimate sophistication." - Leonardo da Vinci

"Everything should be made as simple as possible, but not simpler." - Albert Einstein

"In character, in manner, in style, in all things, the supreme excellence is simplicity." - Henry Wadsworth Longfellow

"That’s been one of my mantras — focus and simplicity. Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains." - Steve Jobs

"Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away." - Antoine de Saint-Exupéry

"Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it." - Alan Perlis

"Simplicity does not precede complexity, but follows it." - Alan Perlis

See Also






Values of Extreme Programming

Quotations on simplicity in software design

Edit this page on GitHub

On this page

Sponsored by NimblePros