There’s an interesting question over on the Project Management Stack Exchange site, that asks:
A sprint has just ended.
All stories, but one were done by the software engineers. Should the
sprint be labeled as ‘failed’ because of the story that was not
completed? What exactly is a failed sprint?
I am personally adverse to the idea of ever saying a sprint ‘failed’.
Scrum uses the term ‘inspect’ 27 times, and ‘adapt’ 16 times over the course of the guide.
Scrum also has no notion of ‘failure’, and the only reference to failure in Scrum is listed here:
Failure to include any of these events results in reduced transparency and is a lost opportunity to inspect and adapt.
Scrum’s purpose isn’t to give you confidence that you will deliver every single story you create, in the sprint they were assigned to. That’s a management artifact that we assign to scrum because we’re human and we like to believe we’re in control.
In fact, in the agile manifesto, they say something very key to determining ‘success’ or ‘failure’:
We are uncovering better ways of developing software by doing it and helping others do it
That doesn’t sound like the manifesto of someone that has all the answers. We are uncovering better ways of developing software — notice the present tense. Software development is an emerging field where hidden constraints of people and machines are uncovered every day. It’s going to happen to you and your team, and it happening — and thus putting a story in jeopardy of being delivered — isn’t a failure, it’s natural.
Scrum’s purpose is to give you short iterations to try to deliver working software in that will be used by the customer, and then adapt to changing circumstances as they come up. “Failure” in the eyes of scrum would be to not change when the circumstances change, to not ‘inspect and adapt’, as it were.
In fact, Scrum doesn’t use the term ‘commitment’ any longer in the Scrum guide — they’ve changed it to forecast, for the exact reason I list above. We may get upset at the weatherperson when they get the forecast wrong, but we still have to have our umbrellas ready if they are wrong.
That’s Scrum. Having your umbrella ready — not firing the weatherperson because they got the forecast wrong.
If your team has inspected and adapted; if they’ve responded to changing circumstances, if they have adapted — then they haven’t failed. They’ve done precisely what agile methodologies and what Scrum dictates.