A retrospective is a meeting held at the end of an iteration in agile software development where the team inspects their process and work to improve. Retrospectives aim to build better products faster by raising happiness and satisfaction. They have a structured format including setting the stage, gathering data on what went well and poorly, generating insights, deciding on actions, and closing. Common data gathering techniques are having everyone share perspectives, constructing a puzzle of notes, and using a boat or value stream mapping format. The team then prioritizes actions, assigns owners, and sets deadlines to solve issues. Regular retrospectives help teams continuously improve their processes.