In all production environments, there exists a tension between competing outcomes. Four variables come to mind:
These do not exist independently of one another. Emphasizing any one impacts the others. For example, to compress a project’s schedule, additional staff is typically added which increases the cost. Larger team size also increases communication complexity within a project which leads to more defects (lower quality). The development of software presents a unique issue that may not be present or is at least more muted in manufacturing: non-linearity. Key examples of this are the relationships between cost/effort and schedule and the one between schedule and quality.
Let’s look at some examples. In the charts below, regression trend lines for schedule and effort vs. size were developed from the QSM software project database. The darker center lines represent average schedule and effort outcomes as delivered product size grows. The lighter lines are plus and minus 1 standard deviation. Roughly 2/3 of the projects in the database fall between the standard deviation lines. Note the scale on the axes, which is log-log. This is because the relationship between the amount of software developed and schedule duration or effort is non-linear.
6.5 Month Solution
5.85 Month Solution