Chapter 14. The CASE for Iteration

Measure one thousand times; cut once.

—ancient Chinese proverb

Design one thousand times; code once.

—modern software engineering proverb

Plan to throw one away; you will, anyhow.

—Frederick P. Brooks, Jr., The Mythical Man Month

The first solution a software engineer devises for a problem is rarely the best solution. During the process of designing a solution, we gain a much better understanding of the problem, making our first approach inferior to the one we would take if only we had a chance to start over. This is the rationale behind “planning to throw one away.” It is also the premise of prototyping, in which we create a partial or exploratory solution to a problem and tweak it until (1) we thoroughly ...

Get Creating a Software Engineering Culture 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.