There are people who think that retrospectives should be stopped. I guess the idea would be to have continuous reflection on work processes, in the same way that daily meetings have continuous reflection on the product itself.
I think we should have both. If you have a rock in your shoe, you just remove it. You don’t need retrospectives or reflection for that. If something bugs the team’s work process, just change the process.
On the other hand, I like the idea to have a retrospective at the end of each sprint for the following reasons:
- For some changes it takes sprint or two to see if it works or not. If you keep changing too rapidly, you might not have big enough sample to really know if the change is needed.
- People like predictability. As a scrum master I wouldn’t want to shout “hey, let’s have a 15 min extra reflection!”. There is a time and place for people to bitch about the process and make some changes. During the sprint people can expect just to deliver kick-ass software.
- I prefer to have sprints ending at Friday, and have a retrospective on afternoon. I like the idea of cleaning the table, perhaps even let some steam out, perhaps have a beer afterwards and then starting a fresh new sprint on Monday.
The way I see it, a sprint is lot like a hockey or football match. During the match you concentrate on the game, maybe do some small tactical changes. After the match there is time and place to watch the game video and make larger changes.