How often/When do you review you
development process?
All the time.
How do you validate the changes in
your process are effective?
By monitoring and evaluating everything all the time.
This may sound unbelievable, but where I work we do not stop reviewing. Apart from the formal release post-mortem with regard to planned and realised issues (and why some were postponed or brought forward), and the usual HRM "performance reviews" we do not have a formal schedule for evaluations.
We evaluate and learn. All the time. No schedule. Whenever we encounter something that we would rather not have happen again, we try to work out a way to prevent it happening again. Whenever something goes especially well, we try to figure out what it is that is making it go better than other times so we can replicate that in the future.
It is informal and very ad hoc, but very to the point and very effective as well. For one because any disection of a situation is immediate, which means everything is still fresh for all involved. For another because if you weren't involved in the situation and/or are not part of figuring out the solution, you do not have to waste time in scheduled meetings to which you may have nothing to contribute.
Personally, I like this continual (continuous?) attention to how we can improve our product, our processes and ourselves. You can't do this in any ol' team though. It requires:
- A very clear idea of the priorities in all aspects of the product and its development.
- A team of very open minded people.
- An absence of ego's/ego-tripping. Nobody is perfect and prima donna's just get in everybody's way.
- No code ownership by individuals. No one is the sole master of a piece of code, everybody can work on anything. Though expertise is taken into account, knowledge transfer is equally important.
- An atmosphere where it is recognized that errors happen and everybody can make a mistake or misjudge the impact/required time for an issue. This does not mean we like errors or mistakes. We certainly don't like to see the same error by the same person more than once.