Ninety percent of the time and money allocated for your project have been used up. Yesterday your project leadership said, “We’re 90% done.” Today the project leader comes to you and says, “We need more time and money.” “How much more?” you ask. “Oh, about what we have spent up till now.” “What can we deliver now?” “Nothing.”
This was a common scenario back when large ‘waterfall’ projects only attempted to integrate and demonstrate the solution late in the development process. According to the Standish Group’s Chaos Reports, 31% of IT Projects in 1992 failed outright, and another 53% were challenged. By 2012, the percentage that failed had dropped to 18%, largely due to doing smaller projects.
Scrum mitigates delivery risk by taking a big project and splitting it into many small projects. Each mini-project lasts less than one month and creates a potentially shippable version of the product, regardless of whether the product will actually be shipped. There are two reasons for this. First, you prove that you can release. This eliminates delivery risk (also known as ‘integration risk’). Second, you have something to show to stakeholders, clients, and users, which reduces both market risk and stakeholder risk.
What if the team cannot produce a working increment? Especially when a team is just learning to work iteratively, this can be a challenge. It can also be a sign of excessive technical risk or an approach to the solution that is too complex. It could be a problem of team performance, though this is seldom the root cause.
If there is nothing deliverable at each sprint, especially if the situation persists, then this is a warning to the Product Owner, who in the worst case might need to resort to cancelling the development effort.