Agile is about inspecting and adapting, but most of the things that will get in our way during Transformation are actually knowable up front. And those real, knowable constraints are often what make organizational change difficult. - Mike Cottmeyer
Agile is about inspecting and adapting, but that's an after the fact process. What is the baseline metric we are inspecting against? All software development is (are should be) a closed-loop control system. Where are we going is the question that must be addressed. This destination can certainly change - hence the adapting process.
Here's the core elements of a closed-loop control system:
- Reference - the target we are steering towards. These are defined as Capabilities in our Software Intensive System of Systems (SISOS) domain. This target can be one or more of any metric - cost, schedule, capabilities, features, stories per sprint, Hogs Heads † per Furlong. Some measure meaningful to the decision-makers. This is the starting point for answering the question of what does done look like?
- Controller - the mechanisms used to control the work processes. It's through the controller that changes are made to the inputs to the system. If you're driving a car, that would be the accelerator you have your foot on, or the cruise control pushing the accelerator or brake while you watch the car hold it's speed and distance from the car in front of you.
- System - this is the system under control. The car, the project team pouring concrete or writing JAVA code. The system takes in the demand and transforms that demand into an output. Poured concrete or working software
- Sensor - with the output produced by the system and the Reference comparison is made asking did we achieved what we planned to achieve in this cycle of sampling the output?
If the answer to the last question is YES, then the error between plan and actual is zero or low enough to keep going.
This is the Inspect process Mike mentions
If the answer is No, we didn't achieve what we had planned to achieve then corrective or preventive action is needed to get back on track.
This is the adapt process Mike mentions
So What's the Point?
You cannot Inspect and Adapt unless you know where you are headed. How fast you want to drive, how many capabilities you need to produce before you run out of time and money. What number of Features (from the list of Features) you need to produce to enable those Capabilities for those paying for your work before you run out of time and money.
The Basis of Success for agile software development starts and ends with Capabilities Based Planning. Here's a collection of guidance for applying this concept.
By The Way
In the presence of uncertainties found on all projects, speed controls, and concrete pouring managing, estimates are made to keep the system inside the white lines.
The only way a closed-loop control system works without estimates, is There Are No Uncertainties, No Noise, No Variances, No Distributive Events. No real system operates in such an environment.
† In grad school, we used to convert the answers to the Mathematical Physics problems into units not used in modern times, so the TA had to do the conversion to confirm the correctness