The other day a colleague mentioned that he was about to embark on a project with a single feature—one card—estimated at 700 points. That’s one very big card. It worked out to be a single deliverable estimated at about one year. It’s clearly not where he wants to be, but we both agreed: it’s a plan.
It’s true this may not be the best plan in the world. It definitely needs work. But it works as a starting point. There is a huge amount of uncertainty in this plan. In fact it’s undoubtedly wrong, as almost all plans are. But he knows he’s able to start adding detail and clarity to the plan. He can start removing the uncertainty. And at some point—not right now, but maybe soon—some software engineers can start cutting some code.
All Agile projects run with some degree of uncertainty and risk. Agile distinguishes itself from the more traditional “waterfall” approach in that it is able to work with risk and uncertainty more effectively. As the project progresses so uncertainty is reduced and risks are dealt with. It’s just a matter of degree.
A single deliverable after one year is too much uncertainty and risk. But on the other hand it is almost certainly unnecessarily cautious to delay starting until all the user stories have been broken out of the 700 points. The plan will be refined. Stakeholders need to be kept informed of progress and changes, and they can deal with issues if the refinement means the project starts straying out of the bounds of acceptability.
For now, my colleague and the others involved have something to work with.