For software development groups who implement scrum, each project ends with a retrospective meeting. Here, all members of the team (product owner, programmers, software tester, leads) share their thoughts about what happened during development, both good and bad. They list these things and discuss, pointing out places where they did well as well as those where they did not, to the cause of trying to improve from where the team is currently at. It’s an interesting exercise, a group assessment and reflection time whose goal is to put authority to those who are most involved and give power to change existing process, to self-manage themselves, all in order to get better.
That is, if the team actually decides on one or two action items at the end of each meeting and follows through.