3.2 The Importance of the Requirements Stage
Why are the frontend stages so important? Because they have a profound effect on overall software error rates and productivity. And these are closely related to system costs.
Let's first consider software errors. There's no need to ask where they occur. The answer, as pointed out in Chapter 2, The Search for Dependable Software, is everywhere. More importantly, what is the distribution of these occurrences? Figure 3.9, based on statistics obtained by Tom DeMarco [DEM78], gives a good general guide:
It's not surprising that high error levels occur in the requirements phase. It is, after all, a highly complex procedure to specify fully the requirements of a system. More on this later.
A second important point is the cost impact of these errors. Figure 3.10 illustrates this, again using the statistics from DeMarco: