The Five principles of risk management, includes the core concept that cost, schedule, and technical performance are inseparable. There are some in the software business that conjecture software is some how immune from that principle.
These risk principles live in a large context of Five Principles, Five Practices, and Five Processes of project management in general. Project management applicable to all project no matter the domain, technology, tools, methods, business strategy, or those applying these.
There was mention on a Twitter conversation that software projects are somehow unique and the statement #3 is not correct. In fact it is, and here's why.
But first let's start with the Principles, Practices and Processes needed for the success for all projects.
So when it is mentioned that software projects are different and most importantly that somehow cost, schedule and technical performance can be separated, let's consider a few of the mechanics of software projects:
- Software projects are dominated by labor costs. Staff hours - labor absorption rate in cost accounting terms - are the primary resource needed to produce the capabilities required for the customer. These labor hours may have varying rates but for simplicity, let's assume a blended rate.
- If the Scope of the project changes, it is highly unlikely that the needed work effort will not change. Since more work is being done to address that increased scope, then the cost goes up if the Period of Performance of the project remains the same.
- More work in the same period, means more people, means moe cost
- If the Period of Performance is changed (and this is a big IF), then more or less staff will be needed to perform the same scope of work in a shorter period of time
- More people for a shorter time means more cost for those people.
- Less people lowers the cost
- If Budget (Cost) changes, then the labor absorption rate must change, since there is less money to pay those doing the work. It is unlikely they will be willing to take a pay cut (happens I know, but this is an idealized story)
- Less money, less staff, schedule can be extended for the same scope
- Less money, less staff, scope can be reduced for new money over the same period of performance.
So here we are again back at the foundation of all project work. Cost, Schedule, and Technical Performance (Scope included in this along with everything else not cost and schedule) are inseparable. In order to increase the probability of success for the project the coupling between these three project drivers needs to have margin. Otherwise the project will be whipped by a change in one of the variables