Or “How do we deliver to a fixed price contract?”
Or “Why do we do delivery in priority order?”
Or “What do we mean when we say 'trimming the tail'?”
When you move to an agile approach, a lot of people worry about how we deliver to scope. We are very used to planning all our work upfront and then working to meet that plan. An agile approach seems very strange (and concerning) because we change the plan based on feedback.
The fallacy with the traditional approach is that we expect able to get the plan correct in the first instance. As most work we do is “new” (in others words we are doing it the first time) and we are not making 1000 copies of the same thing, then we also know that this planned approach may not make the most sense - we are only pretending that we can know everything at the beginning of the work.
So how do we “control scope”?
It turns out this is the wrong question. Sure we want to understand how much we are spending. But the questions is are we maximizing the value we are producing for the costs. In the end we want to delight the customer with whatever is delivered. Scope is an attempt to represent valuable stuff for the customers, but since we are getting feedback all the time, the scope will change. Agile approaches make the cost of change cheap so we can adjust course easily. But there is more to it, and more opportunities as well when we use an agile approach.
Agile approaches offer a couple of additional “tools” to help. The first is that we aim to deliver thin slices of value that the customer can recognize as valuable. The second is the idea that we implement delivery of value in priority order. So as much as possible, the most valuable item would be delivered first, then the second most valuable item and so on.
This priority order is important. If we are able to do this, then as we deliver work, it will become less and less valuable but per a particular time period of work, and each unit of work will cost the same. Pareto analysis would indicate that 80% of the value would delivered with 20% of the effort.
If this is true, then there is probably going to be a point where you have delivered the majority of the value the customer wants and the amount of additional you are delivering is so small that you should probably deliver that value right now and stop further investment in this work.
Now in reality, the first part of any work we do is not delivering value, but rather often more about risk reduction or learning or analysis and so on. It's important, but is not directly related the delivery of value.
So instead of delivering all the scope we thought we would need, we deliver based on these high value items that the customer wants. Conceptually in comparison to the original we are not going to deliver all the original ideas and so we are going to “trim the tail” end of the scope.
Pictorially this is represented as follows:
You may not think that this happens, but I've had experience where customers say “This is great! Can you give us this right now!” And we can then have an intelligent conversation about whether we should continue working in this vein, or perhaps change directions to work on high value work.
One reason this works is because there is an asymmetric relationship between the amount of value we produce and the amount of effort required.
The reality is that if we want happy customers we want (as Jim Highsmith says) to deliver what the customer wants at the end of the project, not what they thought they wanted at the beginning of the project.