Agile teams use Retrospectives at two levels – at the end of each Iteration, and at the end of each Release. In both cases, the goal is to identify not only what didn’t work well for the team, but to acknowledge what did work well. It’s equally important to learn from one’s victories as it is to learn from one’s mistakes!
Retrospectives are always held with the mindset that every person on the project did the best that they could do at the time. This isn’t New Age blather intended to prevent people’s feelings from being hurt – it’s actually quite rare for people to actively sabotage projects! Retrospectives are also not a forum in which to exact revenge for perceived wrongdoing, or simply a blame session. They are used to help the team improve with each and every iteration and release, and are a crucial aspect to remaining Agile in the longer term.