Managing Successful High-Tech Product Introduction

Project complexity can be defined in many ways. In a classical sense, it is related to the quantity of code developed or the number of people assigned to the project. Complexity is further increased through the use of multiple, diverse technologies that are necessary in creating complex modern systems today.
Contemporary work addressing software development has examined the notion of complexity from a number of different angles. The following is presented by Brooks [1] and corroborated by McConnell [2]:
The effort expended (man months) on a project is nonlinear with respect to code size (Figure 5.1);
The actual programming rate decreases as code size increases, exceeding the time allocated to completing the project and resulting in a greater amount of code being generated (Figure 5.2);
The actual debug rate is significantly slower than what is generally estimated (Figure 5.3).
Armed with this information, what should the goal of development be?
To...