Variable scope – Fundamental premise of Agile Software delivery.

Once upon a time, in a land not so far away, there was a pizza shop “The Piazza”. It was a specialty pizza shop. Having been in operation for over 3 decades, they had perfected the art of making exquisite pizzas. Most days were busy with the hustle and bustle of customers from far and wide – coming specially for the pizza hearing of its glory. On one such busy day, walked two customers, a man and a woman who came and sat down at that corner table. They looked very tired and hungry. Glancing over the menu quickly, they ordered a 14″ ‘Piazza Chef’s Special’. Now the special bread needed for this one was over. They had enough dough to make a 9″ one. It was below the restaurant’s reputation to say no or suggest a different option. The customer must be given what they ordered. So they started to make the dough and bake the 14″ bread. Since they were short on time and the customer was already upset and making a lot of noise, they pulled it out of the oven a couple of minutes early and delivered on time. They thought the customer won’t notice the difference. And most customer’s wont have.

Unfortunately this time, the woman was a food critic. While her husband enjoyed the pizza, she noticed that the pizza was slightly undercooked. Next morning the newspaper carried a story about the bad quality of “The Piazza”. When the owner of the “Piazza” saw the news, he was terribly upset. He had worked hard to build the reputation and in business, reputation is all that matters. He figured that the root cause of the issue was that they were not managing inventory properly. He set about to fix the process so that the restaurant would never be short of any ingredients. He hired consultants who studied the operations and gave him advice on the right inventory levels he need to maintain. He also installed an advanced software to track inventory and automatically order when stocks deplete. After spending hundreds of thousands of dollars to “fix” the problem, he felt satisfied and engaged another reporter to run a cover story on how ‘The Piazza” had turned things around.

The owner now called upon the unsatisfied customers to visit again. With some ado, they agreed and visited. After enjoying the great pizza and  sumptuous toppings, the owner explained to them how on that fateful day they struggled because of not having the right size pizza bread they ordered. And how the problem was resolved now. He told them that if they had the new system in place that day, they would never have to put up with bad quality pizza and would have enjoyed his famous “Piazza Chef’s Special”.

The food critic pondered over this and said “Well it was possible that day too. The size did not really matter. Quality did. All you had to do was to deliver the 9″ pizza”.

The taste of the pizza (quality) and time (they needed it fast) were uncompromisable . However the size was up for discussion – it was the variable. When developing and delivering software to your customers, what is your “variable” ? Fixing all three corners (scope, time and cost) of the iron triangle does not help – it leads nowhere. The definite thing that goes for a toss in that case is the quality. Quality is uncompromisable. Quality is what defines the customer experience.  Cost is seldom the variable for obvious reasons. Time is also not because the customer would like to see things happening – see things moving forward. That leaves only one option – scope – that can be variable and up for discussion. The scope is what you discuss with the customer. The scope is what you can prioritize together with the customer. Deciding together what will be delivered next helps everyone have a much better experience.

Delivering something that works is far better than delivering everything that does not work. Variable scope is the fundamental premise of agile software delivery. It leads to far better discussions…..and decisions.

You may also like

Leave a Reply

Your email address will not be published. Required fields are marked *