I was looking out my front window the other day and my neighbor across the street is having a new retaining wall built in their garden, around a cluster of trees. It looks beautiful, and I was watching the workers carefully measure and cut the stones to follow these intricate custom curves around the boundary of the area to enclose. I am amazed at how much skill and craftsmanship goes into that work and I also vaguely wonder how well they are able to estimate how much time, labor, and materials goes into the cost estimate.
When I was in high school and college I worked at a fast-food-chain pizza place. Our most popular pizza by far was the medium hand-tossed pepperoni. The business knew to a high degree of precision exactly how much it cost to make that pizza, including labor costs and material costs, because we made them so often. I also knew from experience exactly how long it took to prepare and bake that pizza, and exactly how to make it.
But let’s compare that dining experience to something totally different, where a chef talks with the customer to learn exactly what kind of pizza to make. And suddenly the cost and time estimates are way, way more difficult. Maybe the customer wants a Detroit-style thick crust, and now there’s an extra couple of hours for the dough to proof. Maybe the customer wants a gluten-free crust made with almond flour, and now the chef has to make the dough from scratch instead of using the white flour crust that is already prepared.
Theoretically, this is what Agile is supposed to address. As a customer, you cannot dictate exactly what kind of pizza you want and on what timeframe it needs to be prepared within. You cannot know how long it’s going to take, so instead you can tell your chef exactly what kind of pizza you want and the chef will work diligently until it is complete. Alternatively, you as the customer cannot define the exact type of pizza, but instead work with the chef on what is possible within the time bounds. So for example, if you ask the chef for gluten-free almond crust and are told it will take 2 hours to prepare the dough, or you can have white flour hand tossed immediately, you as the Product Owner get to pick what you want, and be prepared to pay for whichever you choose.
So getting back to the team building the retaining wall. There’s a degree of risk that comes with bidding a firm fixed price for this job. You maybe bid it for 3 calendar days, with three workers, so that’s 8 X 3 X 3 = 72 labor hours. But let’s say that there’s a tricky part of the wall that takes a long time to cut. Let’s say the area being built is an extra long walk from where the truck with the materials and tools is parked. Let’s say there’s a tree root in the way that takes 4 hours to cut out. Now not only is your labor cost more expensive, it is also more than three days so your next job is delayed.
An alternative approach is to not bid the job at a firm fixed price but instead time and materials. Now that extra time is taken care of and you don’t lose money. But there’s a risk now that your customer is not delighted, and annoyed that it took longer and cost more.
As a business leader, you have to make these strategic decisions on where to balance your risk, whether with your customers, or with your financials.