Received wisdom is that if you spend time up front getting the design right, you avoid costs later. But the longer you spend getting the design right, the more your upfront costs are, and the longer it takes for the software to start earning.

– Kent Beck