Transitioning to agile, I always faced the same dilemma.
- On one hand, we try to timebox iterations, minimize batch size, work in priority on what makes sense, use relative estimates, demonstrate progress at the end of every iteration…
- On the other hand, managers who are used to traditional approaches want to make sure that what was planed at the beginning of the project will be produced at the due date.
The first point that can lead to disagreements is that we don’t focus on the same level: development teams focus on their iteration, while managers focus on the release. That sounds pretty normal to me. It’s not related to traditional or agile approaches. We need to bridge the gap. That’s where releases come in. We need to have visibility at both levels:
- estimate your release backlog. To avoid spending useless time on this exercise, estimates get more approximate as backlog items get further in the future. But you need to maintain your global backlog.
- reach a stable enough velocity. If you can’t define a reliable mean velocity, then you can’t know when you can deliver what.
The second point is that traditional managers expect you to release a predefined scope. That sounds unacceptable to all agilists. But once again, it’s not necessarily just a bad habit. That’s how we negotiate contracts, we don’t always have a precise view on what users/customers expect, we can often mix up big functional topics with detailed stories… We need to convince every stakeholder that we can modify the scope in the interest of everyone. If we did our job correctly, we bridged the gap between users and the team. But did we include every stakeholder in this negotiation? When we can show everyone that users and developers agree for the project globally, then no one can disagree with decisions.
We always go back to this: it’s all about trust! There are practices to help you reach this state, but they are nothing on their own. We need to show a clean and complete backlog, a stable progression, bridge the gap between all stakeholders, and make sure that all these go beyond charts and figures. Figures serve reality, not the contrary. Collaboration and agreements need to be deeper than what the process suggests.