Iteration demos are a great way to show the progress that the team is making. They can help to keep the extended team up to date on the state of the application. They can generate feedback on where to go next. A few tips to get the most out of them:
- Keep it user focused. No slides. No code (unless you're developing external API's). Just working software. Show it from the user's point of view. Show the value that they'll get out of the new software. If your users could attend and get value out of the meeting, then you're doing it right.
- Accept stories before the demo. If you save acceptance until the demo, you'll have no chance to correct issues. Instead keep the product owner involved throughout the iteration and accept the stories as soon as they're done. Another reason not to accept stories in the demo: you have to go into more detail than the rest of the participants will want to see.
- Involve the extended team. Demos are a great way to keep everyone up to speed. They can help to give your stakeholders confidence in the team. I've seen many an upper manager get excited about attending. It can also be a way to keep support and sales consultants up to speed so that they can hit the ground running when you release. If possible, bring in users.
- If your project involves multiple teams, demo together. This helps to give people the sense that they're part of a larger team. It also aids in keeping everyone aware of where things are heading in the bigger picture. And it makes it easier for extended team members to attend.
- Keep it short. Time box them to an hour (for one or two teams) or two (for larger projects). You don't have to demo every detail. Focus on the things that will have the most significant impact. Too long and people will lose interest.
- Encourage feedback, but not too much. Demos are a great way to spark ideas. But if you let the meeting go off on a tangent, you're going to lose most of the attendees. Keep feedback high level. If it gets into too much detail, spawn off follow up meetings.
- Schedule well in advance. And do them at a consistent time. This will make it easier for a larger number of people to attend. Consider recording them for people that missed due to vacation, traveling, etc.
A demo should be an exciting event. It is an opportunity for the team to show off what they've accomplished. Keep it simple. Keep it sharp. Learn from it and use it to jump start your next iteration.