The #NoEstimates Manifesto - Actually restates Best Practice for estimating and making decisions with those estimates.
- Probabilistic Over Deterministic
- All project work is uncertain
- Uncertainty comes in only two forms
- Aleatory (Irreducible) - statistical variations, which can only be handled with margin
- Epistemic (Reducible) - probabilistic occurrences, which are handled with mitigation buydown, redundancy, fault tolerance, fail-safe or similar intervention and protection systems
- Deterministic estimates are point estimates and Point estimates without a Variance are of little value in the presence of uncertainty
Probabilistic over Deterministic is standard estimating processes in every single book, paper, guideline, policy, and regulations governing the development in use of estimates in commercial (ITIL) and Government (all agency and GAO Estimating handbooks)
- Delivery Time over Development Time
- Delivery times are based on effort and duration
- Development effort is time-dependent
- Both Delivery Time and Development Time are connected to each, based on the productivity of the development service
Development time drives Delivery time. There is no way out of this when using staff to develop software
- MVP Scope over Full Scope
- Full scope is a naive view of software intensive system of systems (SISoS).
- Any non-trivial development system in incremental, iterative, since no one can know the full extent of a non-trivial development project
- Rolling Wave is standard
- Spiral used to be the approach in our Space and Defense Software Intensive System of Systems
- Now it's Incremental Commit
- See The Incremental Commitment Spiral Model: Principles and Practices for Successful Systems and Software, Barry Boehm, Jo Ann Lan, Supannika Koolmanojwong, and Rich Turner.
- A working paper of the same title "Incremental Commitment Spiral Model (ICSM)," Barry Boehm, Jo Ann Lane, Supannika Koolmanojwong, Richard Turner, CSCI577, Software Engineering, Fall 2017, University of Southern California (my alma mater in Systems Engineering)
- And you can hear Barry speak about ICSM at an ACM Webinar
- The Economics of Iterative Software Development: Steering Toward Better Business Results, Walker Royce, Kurt Bittner, and Mike Perrow, Addison Wesley, is another source of the current approach to developing complex software systems
Prioritized delivery of scope, in an order that maximizes the Value Stream, reduces risk, increases the probability of success, which means needed Capabilities, at the needed time, for the needed cost is standard Project Management Best Practices.
- Data over Intuition
- Estimates make use of a broad range of models and data
- Past Performance for similar projects is called Reference Class Forecasts
- Models can be used for estimates using Monte Carlo Simulation or Method of Moments
Intuition is the least desired method to decide anything, when spending other people's money
- Reducing Sources of Variation over Improving Estimation
- Variation cannot be reduced - it's an Aleatory Uncertainty - so that's a fool's errand. Only Margin can protect against variance
- Probabilistic uncertainty (Epistemic) is improved with risk buy down, experiments, past performance in this project
- Estimation is ALWAYS needed to make decisions in the presence of uncertainty
Reducing sources of variation IMPROVES accuracy and precision of Estimation
So if this is the Manifesto for NOT Estimating, it's a restatement of good practices for all project management, product development. But unlike the Agile Manifesto or any other manifesto, it's not clear that the things on the right are anything other than bad practices, where the Agile Manifesto doesn't make that distinction.
And just to remind everyone
There is NO Principle by which you can make decisions in the presence of uncertainty without estimating the impact of that decision