Scrum is powerful because it takes a large amount of work--for which estimating the total effort needed for completion is very difficult--and breaks it up into several 2-4 week long well-defined sprints. At the end of each sprint, the team delivers tested, documented, working code that the customer can immediately interact with and use to inject feedback into the next sprint cycle. Before the code is handed off, the team holds two meetings: the sprint review meeting and the sprint retrospective meeting.
The sprint review meeting is attended by the development team, scrum master, product owner and any other person who is interested in seeing what the team accomplished. During the meeting, the team members demonstrate what they accomplished during the sprint, covering anything from new features to implementation details at the architecture level. We aim to keep the meeting informal, showing code instead of slides and letting the people in the room drive the conversation instead of adhering to a predefined agenda.
The sprint retrospective meeting is attended by the scrum master, product owner, and the development team, and is not open to any other stakeholders. During the meeting, the scrum master asks both the development team and the product owner the following questions:; “What went well?”, “What went poorly?”, “What changes can we make to improve the process moving forward?”. The answers to these questions allow the team to incorporate feedback into their process, that providing immediate improvements that drive team cohesiveness and efficiency.
A huge benefit to the sprint retrospective meeting is that it shows the customer that we are constantly improving our processes based on their feedback, letting us deliver what they need when they need it. Allowing that feedback to drive our process improvements illustrates that our goal is to build a partnership with our customer and that our success is directly coupled to their success.