Empirical Process Control Part 1: Building An Empirical Wall
6 April 2017 |
Stuart Munton | About a 5 minute read
Empirical Process Control (EPC) is fundamental to Agile practices, however it remains a fairly abstract concept which does not receive the attention it deserves. This first part of a two part blog is written as a metaphor to help paint the picture of the concepts, the second part of this blog will then provide more details on how to implement EPC.
Imagine that you are setting out to build a wall, not the divisive types of walls proposed by some politicians, but a wall around a garden to provide a beautiful backdrop for flowers, shrubs and trees, a good wall…
You are building this wall at the request of your partner who is the keen gardener in your household. As a skilled stonemason you have the skills required to do all of the work needed to shape, position and place the stones.
The building blocks are natural stone which means that they are are different shapes and sizes. The larger blocks you forecast will require proportionally more effort to prepare, shape, position and place, however they clearly take up more space in the wall so move you forward to the goal of completing the wall around the garden.
Day 1 – You set off working and you lay eight linear metres of wall. This is a good start as you have started to understand how to work the materials. Your partner seems pleased with the look of the wall, but seems a bit concerned about the progress.
Day 2 – Taking your knowledge from the previous day you lay twelve linear metres of wall. This is a good improvement from the previous day and you are pleased with progress. Your partner however still does not seem to be very happy with progress.
Day 3 – You crack on with the work, but today you have a bit more intricate work to complete so you complete ten linear metres of wall. In total over the three days you have completed thirty metres of wall in three days. At the end of the day your partner comes over to talk to you, they are not happy, they expected much more progress.
Your partner shares with you that their parents have been invited over in ten days and expectations have been set that they will see the garden and wall completed. However, there are still three hundred linear metres of wall to complete. That evening you think about your options.
Option A – Change your personal effort / efficiency
You have already been working hard and 10 linear metres seems to be the average that you can complete in a day. There will be some days of simple straight wall where you will get more completed, but some where the work is intricate and will be slower.
Option B – Change your capability
You could get some of the stone pre-cut and shaped off site to provide a uniform product that is faster to build with, it will mean the style of the wall looks different but it will be 30% faster to work with as the shaping has already been completed. It will take a few days to get this sorted out with your suppliers and the shaped stone will cost more.
You have seen in building magazines that there are wall building machines that can construct walls from pre-processed stone. The machine should theoretically increase throughput but will cost more. You have not had experience of these machines and are not sure if you could get a machine on site and working in time.
Option C – Change your scope
You could potentially negotiate with your partner to option is to build the rest of the wall one third of the height, then maybe complete the other two thirds after the garden visit.
You could change the the materials that are being used to construct the wall, maybe into something more standard and faster to build with, but this will clearly look odd compared with the rest of the wall.
Option D – Change your capacity
You are only a single stonemason working on your own, you could get more stonemasons involved in building the wall. You know a few stonemasons who could help (assuming they are available). After a short ramp-up time for them to understand the design and materials, this will clearly increase the throughput but will cost more.
Option E – Change external expectations
You did not know at the outset that there was a 13 day deadline for the work. The other feasible options all increase cost to complete the work on time. You need to have a discussion with your partner about either increasing cost or delaying their parents by a further month to give you the time to get the wall completed.
What would you do in this situation?
The answer in reality is going to be a mix of the options rather than just one single option. There are parts of each that you might be able to do together to see if you can resolve the issue. You need to understand which of your constraints (Time, Cost, Scope) are the most immovable and then work with these to complete the work as best you can. Understanding the vision and the core constraints at the outset is fundamental to successful delivery.
So what does this mean to me?
Told as a building metaphor, it becomes simpler to understand the delivery process, constraints, and options that will allow you to move forward, but if you are reading this blog, it is unlikely that you are a stonemason. However, If you make suitable mental substitutions in the metaphor (‘Days’ to ‘Sprints’, ‘Partner’ to ‘Sponsor’, ‘Stonemason’ to ‘Scrum team’, etc.) then you can see that this is exactly the same situation in which many Agile product delivery teams find themselves.
In part 2 of this Blog, we will review why Agile product delivery teams should be obsessed with Empirical Process Control (EPC), what they should be doing, and how this can provide the transparent control that teams and organisations require.
Read More From This Author
Senior Full Stack Developer (London)
Champion software quality and technical vision for AND and our clients, work on large-scale projects and help junior and mid developers grow in their roles.I'm Interested
Full Stack Developer (London)
Put your development expertise to work, building remarkable, digital products in Agile environments using a variety of languages and frameworks.I'm Interested
Tech Lead (Reading)
Bring your expert tech knowledge to the table to influence the direction of projects, whilst coaching and your team through engineering best practices.I'm Interested