With agile methods, we deliver more value ahead of schedule and with quality. Even so, some people still ask, “When will it be ready?” It’s a valid question, but this is not the most important question. We do have to be ready to answer it and there are several techniques that make it simpler to provide an answer:
Story Points, Planning Poker, #noestimates, the Monte Carlo algorithm, among others.
There are other, more relevant inquiries:
– When will the first version go live?
– How often will we update the product?
– Are we delivering the most important things with each version?
– What is the earliest point at which we will stop the project?
– Which is our Lead Team?
A question that has been distorted for a long time:
When we shift from the “all in” waterfall model to an iterative incremental model, the business must change the way it makes demands on the development team.
Subway vs Airplane Analogy
What is the planning required for a plane trip with the purpose of participating in an international conference?
Tickets, hotel, money, passport, visa, maybe even a vaccine.
What happens if you miss the flight?
If there is another flight shortly after and you pay a fortune, you might make it. However, it’s very likely that a new opportunity will only come along one year later, at the following edition of the conference.
Long-term projects are like that. If you miss that opportunity, you have to wait another year. By the way, this makes the list of requirements even worse, because we ask for all the information at the beginning, and we even say, “If you don’t request everything now, you can only add new requests in a year, to be delivered in two years.”
So, of course, the client will ask for things that may not even be necessary, just to be safe.
What is the planning required to take a subway?
What happens if you miss that subway?
There will be another one in six minutes. Just hop on.
This is what happens with agile methods. There is a subway leaving the station every hour. The need for advance planning is significantly smaller. If you miss one, you’ll have another opportunity soon. If I forgot to request that feature, I can do it next week, at the following iteration.
Extending the Subway vs Airplane Analogy
Imagine that you are an airplane inspector. Asking when the plane is leaving is crucial, because you need to know the exact hour and minute of departure. But now imagine that you’re a subway inspector. The questions are different. It doesn’t make sense to ask what time the train will depart. The questions that make sense are: how often do the trains leave? How many passengers do they take at each departure? Do the most important ones leave first?
Asking when it will be ready is still important, but not as important as the questions listed at the top of the post. Besides the development team being agile, the business needs to think in an agile manner, without using old project planning paradigms.