I talked a bit about empirical process control, upon which the Scrum framework is based, in one of my earlier posts last year (https://www.agileaces.net/importance-sprint-retrospective/). But I wanted to dive more into empirical process control, including what it is, the difference between empirical process control (evolutionary product planning) and defined process control (traditional fixed planning), and how empirical process control makes Scrum such an effective framework of agile.
- In Scrum, an empirical process is implemented where progress is based on observation and experimentation instead of detailed, upfront planning and defined processes. Using empirical process control is working in a fact-based, experience-based, and evidence-based manner. Defined process control, on the other hand, is a process with a well-defined set of steps. Given the same inputs, a defined process should produce the same output every time.
- With empirical process control, you expect the unexpected. With defined process control, every piece of work is understood.
- With empirical process control, because the processes are imperfectly defined, one can generate unpredictable and unrepeatable output. With defined process control, a defined process can be started and allowed (expected) to run with the same results every single time.
- And finally, with empirical process control, that control is exercised through inspection and adaptation. With defined process control, defined processes provide repeatability and predictability.
Evolutionary product planning in an empirical environment differs from traditional fixed planning in the following ways:
- Processes are not repeatable, are visible, and promote inspection and adaptation
- Work/process steps may not be understood
- Impacted by factors such as past performance and capacity differences
- Improvement and direction guided by experiments and experience
Let’s look at an example. A coffee shop normally serves standard black coffee. To make the coffee, it involves processing the input (coffee grounds and water) so they get the desired output (coffee) using tools (coffeemaker, coffee pot, filter) and techniques (heating the water, brewing mechanism). These processes are known, repeatable, predictable, every part of the process is understood, and the process can be started and run with the same results every single time (hot, black coffee).
Now this same coffee shop wants to start to make cappuccinos. They’ve never made it before, and they don’t know the process to follow, let alone the tools and techniques to use. This is a good example of evolutionary product planning. The only way they will be able to make this product is through inspection and adaptation – experimenting with a new process, inspecting that process, and adapting or making changes to that process, until they achieve a desired result – or in this example, a good cup of cappuccino.