My Authors
Read all threads
Are you ready for a little thread on a few aspects of software (re-)design, sparkled with inspirational quotes around the topic?

Let's go!
"Life is really simple, but we insist on making it complicated."
― Confucius
When we get the chance for a (rewrite or re-)design, there is a temptation that we should resist, from a technical perspective as well as from a business perspective. That temptation is to equate "better" with "more". And that's wrong.
"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."
― Antoine de Saint-Exupery
The more we want from the new system, the longer it will take to create it, the longer it will take for the old system to still be used, the more there will be a demand to keep the old system alive as well, the more there will be competition between the old and the new system.
The old system will be like a zombie, draining the life out of the new system, occupying valuable resources, causing opportunity cost. The replacement of the old system by the new system should happen quickly to avoid that.
Let go of unnecessary features, prioritize. Better isn't more, better is simpler. Do the simplest thing that could possibly work. Avoid the "Second System Effect" en.wikipedia.org/wiki/Second-sy…
"Everything should be made as simple as possible, but not simpler."
― Albert Einstein
Another problem with complexity is that it's not a good starting point. If your (new) system is too complex, it may crash under its own weight before it even gets started. Or at least it may be difficult to get it to work. Start simple, small. Travel lightweight.
"A complex system that works is invariably found to have evolved from a simple system that worked."
― "Gall's Law" by John Gall
The four rules of simple design are (in the order of their priority):
1. Passes all the tests (almost implies TDD)
2. Communicates Intent (not only how but also why)
3. No Duplication (DRY, SOLID)
4. Fewest elements
(by Kent Beck @KentBeck)
3 of these rules address simplicity:
• Communicates intent
• No duplication
• Fewest elements
And the first one (passes the tests) is an essential scaffold for simplicity. It detects/prevents regression when we continuously refactor to improve (simplify) the design.
Simplicity is one of the 5 Values of Extreme Programming:
• Communication
• Simplicity
• Feedback
• Courage
• Respect
"Simplicity is the ultimate sophistication"
― Leonardo da Vinci
Simplicity applies to all forms of design:
• User interface design
• Volume of features
• Technical design
This is especially hard to follow for large organizations, which is why it's so easy to disrupt them.
Other well-known ideas around this:
• YAGNI - You Ain't Gonna Need It, which connects the idea of simplicity with flow, process, and the elimination and avoidance of waste - Lean
• KISS - Keep It Simple, Sweety
• DRY - Don't Repeat Yourself
"Less is more."

If you liked it, please share it. ■
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Christian Hujer #BLM 🏴‍☠️🖦🧙🏻‍♂️🕊

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!