Many teams benefit from reflecting on their process after they complete their project. Any errors in the process, however, have already had their impact. Agile software development includes ways we can improve our lessons learned - not just for software, but for any project. These lessons from agile projects may help your projects too.
Lesson 1: Perform lessons learned sessions during the project.
This lets you benefit from your ideas in time to make a difference.
Lesson 2: Smaller, more frequent meetings flow better.
There aren't as many items to discuss and it becomes easier to focus on observations.
Lesson 3: Don't whine, refine.
Avoid spending a lot of time digging into why problems happened. There won't be enough time to plan for positive changes.
Lesson 4: Follow the cadence of change.
Sometimes we forget the team will be busy with work. Try limiting the changes to two actions. But nail those actions! And don't start new process improvements until the other ideas have been deployed.
Lesson 5: Changes should be by the team, for the team.
Lessons learned should not be viewed as a scorecard -- it will make all the metrics climb to suspiciously good levels. Management should have visibility into the process used and some lessons learned, and anonymous examples of triggers that led to their discovery. But the retrospective itself has to be a judgment-free zone where all problems can be discussed.
If you're using scrum or another agile method, this might sound familiar. Lessons learned or retrospectives are built into your iteration cycle.
How do these tips fit with your project's life cycle model?