When we talk about any process control, we talk about three elements:
- Input
- Process (structured set of activities designed to accomplish a specific objective)
- Output
If inputs and processes are in control and are reliable, we can get reliable outputs (which are generally the case with Waterfall model). The problem arises when inputs and processes cannot be controlled rigidly which generally means that the outputs would be unreliable (the Agile/Scrum scenario). In such circumstances we need to look beyond the waterfall model and focus on Empirical Process Control which simply means you need to look at the outputs more frequently and if it is not as per your liking you go back to inputs and processes and tweak it accordingly.
In Scrum, decisions are made based on observation and experimentation rather than on detailed upfront planning. Empirical process control relies on the three main ideas of transparency, inspection, and adaptation.
Transparency
Transparency allows all facets of any Scrum process to be observed by anyone. This promotes an easy and transparent flow of information throughout the organization and creates an open work culture.
Inspection
Inspection in Scrum is depicted through the following:
- Use of a common Scrumboard and other information radiators which show the progress of the Scrum Team on completing the tasks in the current Sprint
- Collection of feedback from the customer and other stakeholders during the Develop Epic(s), Create Prioritized Product Backlog , and Conduct Release Planning processes
- Inspection and approval of the Deliverables by the Product Owner and the customer in the Demonstrate and Validate Sprint process.
Adaptation
Adaptation happens as the Scrum Core Team and Stakeholders learn through transparency and inspection and then adapt by making improvements in the work they are doing.