Set up a 'retrospective mailbox' at the beginning of the iteration. Whenever something significant happens or someone has an idea for improvement, they write it down and 'post' it. (Alternatively the 'mailbox' can be a visible place. This can spark discussion during the iteration.) Go through the notes and discuss them. A mailbox is great for long iterations and forgetful teams.
'Imagine you could time travel to the end of the next iteration (or release). You learn that it was the best, most productive iteration yet! How do your future selves describe it? What do you see and hear?' Give the team a little time to imagine this state and jot down some keywords to aid their memory. Then let everyone describe their vision of a perfect iteration. Follow up with 'What changes did we implement that resulted in such a productive and satisfying future?'Write down the answers on index cards to use in the next phase.
Asking and answering go around the team circle - an excellent way to reach consensus Source:
Everyone sits in a circle. Begin by stating that you'll go round asking questions to find out what you want to do as a group. You start by asking your neighbor the first question, e.g. 'What is the most important thing we should start in the next iteration?' Your neighbor answers and asks her neighbor a related question. Stop when consensus emerges or the time is up. Go around at least once, so that everybody is heard!
Let team members appreciate each other and end positively Source:
Agile Retrospectives who took it from 'The Satir Model: Family Therapy and Beyond'
Start by giving a sincere appreciation of one of the participants. It can be anything they contributed: help to the team or you, a solved problem, ...Then invite others and wait for someone to work up the nerve. Close, when no one has talked for a minute.