Had a couple of questions about Sprint / Iteration (hence “Sprint”) Goals recently, so I thought I’d write up a note on thinking.
The basic idea behind Sprint Goals is that they represent a stepping stone in achieving the overall release / program objectives of the team. They are not just a list of stories committed. The way to think about this is to ask “at the end of the Sprint we will have X”. X is the goal. X, in most cases, contributes toward the release / program objectives committed by the Team. X allows to understand that “this was a successful Sprint” (if we achieve itJ). And, by the way, X should be SMART.
In some cases, we might be able to say that we got to the Sprint Goal even though we did not complete all the Stories in the Sprint. For example, as a result of understanding the Sprint Goal and as we work the stories in the Sprint, perhaps we come up with some scathingly brilliant way of achieving the Sprint Goal that makes the stories we have meaningless. In these cases you should aim to achieve the Sprint Goal, not just march through the stories (focus on “outcome / result” not “output / effort”).
It should be noted that the Sprint Goals are not always the directly related to the deliverable work of the Team. Some of them are going to be related to the Improvements the Team is taking on as a result of the Retrospectives. In this Sprint, for example, I would be unsurprised to see Iteration Goal related to BDD, but there are lots of other things we have been actively working through retrospectives. Making these part of the Sprint Goals allows the team to make them happen.
For many Teams I work with the Sprint Goals turn out to be pretty much a list of stories with the result that some teams do not bother. As said, that is not the intent.
Specifically on goals:
Related to the idea of goals: