Design

There is no amount of design at the beginning of a project that will get us closer to the software we actually want at the end of the project. It is time we admit this and stop deluding ourselves. We simply aren't smart enough at the beginning of projects to design working systems that do what we ultimately want.

Most projects spend a very long time on design. I can understand why. Nobody wants to move until he knows the road ahead, but we take this to the extreme. We want to know every step. Impossible. If we come up with the most detailed plan possible for building the software we are sure we want, we will always deviate from the plan. That means the plan was wrong, not the deviation.

Maybe the reason we design software the way we do ...

Get Managing Software for Growth: Without Fear, Control, and the Manufacturing Mindset now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.