Writing software for money is a Closed Loop Control System.
- The Reference is our needed performance - cost, schedule, and technical - to achieve the project's goals. These goals include providing the needed business value, at the needed cost, on the needed day. Since each of these is a random variable, we can't state Exactly what they are, but we can make a statement about their range and the confidence that the will fall inside that range in order to meet the business goals.
This reference can have probabilistic behaviors and requires estimates of this behavior to understand the stability of the target to steer toward.
- The System is the development process that takes money, time, and requirements and turns them into code.
The behaviours for the system are probabilistic as well. This can be stationary or variable. Understanding the probabilistic nature of the requires estimating not only the behaviour, but the consequences of this behaviour.
- The Sensor is the measurement system for the project. This starts with assessing the delivered code to assure it meets some intended capability, requirement, or business value. The target units of measure are defined before the work starts for any particular piece of code, so when that code is delivered we can know that it accomplished what we wanted it to do.
The sensor has probabilistic behaviours. Noise, nonlinearities, aleatory uncertainties of the measurements, epistemic uncertainties of the measurements - All requireing estimating
- The Error Signal comes from comparing the difference between the desired state - cost, schedule, technical, value, or any other measure - and the actual state. This error signal is then used to adjust or take corrective action to put the system back in balance so it can achieve the desired outcome.
The Error Signal is noisy as well. Estimating the dynamic behaviors of the error signal are required
Without the Desired State, the Current State, the comparison of the two, the Error Signal, the project is running open loop. We'll arrive when we arrive at the rate of progress we are performing at, for the cost we are consuming. There is no information available to show what the needed performance of cost, schedule, or value production needs to be to arrive, on time, on budget, and on value (or near enough to call it close).
And when you hear about control systems and they don't follow the picture at the top, they're not Closed Loop. They may be Open Loop, but they are not Close Loop.