In product development we often use iterations to increase the quality and robustness of our products. Why does this work?
To begin, let me clarify my terminology. By “iteration” I mean covering the same ground twice. I do not use the term iteration to mean breaking a larger task into several smaller pieces; I call that batch size reduction. I must mention this because many people in the agile software community to use the term iteration to refer to breaking a project into a number of smaller pieces. It is a superb technique, but I consider it confusing to label it iteration. Continue reading