Tuesday, October 21, 2014


A simple design always takes less time to finish than a complex one. Maybe not always. But it should. So always do the simplest thing that could possibly work. If you find something that is complex replace it with something simple. It's always faster and cheaper to replace complex code now, before you waste a lot more time on it. Keep things as simple as possible as long as possible by never adding functionality before it is scheduled. Beware though, keeping a design simple is hard work.



Jouni Aro said...

Actually, the simple design is usually not easy to make. The first efforts are almost always complex and only when you learn enough about it, you can simplify the design to a minimum. Since this simplification often does not happen, we are left with the complex designs...

But you are right that you should try to limit the design to the absolutely necessary parts, in order to avoid too much complexity in the beginning. Still, the first design is never perfect.

Chris Bensen said...

Very true. It is very hard to boil down all of the pieces into a simple design. This is where refactoring is nice but it doesn't stop there. And of course as you mentioned we always ship the prototype :-)

Post a Comment