Progression of the software development approaches
Between the 1980s and 1990s, the awareness of the software crisis led to the rise of various “silver-bullet” approaches that did not, however, provide a definitive solution. The famous article, No Silver Bullets, written by Fred Brooks, took the problem head-on and brought to the attention of the reader that there are mainly two different kinds of complexity; essential and accidental (you will read in depth about them in Chapter 2).
In Steve McConnell’s book, Software Estimation: Demystifying the Black Art, there is a really interesting concept called “cone of uncertainty,” which exposes part of the problem with a simple diagram (Figure 1.1). This diagram points out that estimates created early in the project are subject to a high degree of error. As you can see, these estimates can be off by a factor of four both in high and lower ends. The application of this concept was in the estimate process...