I've heard the phrases so many times now:
We've learned from our mistakes
We won't make the same mistakes again
However, I've not been privy to an explanation of how this will be ensured. If I make a mistake, how do I make sure that someone else doesn't repeat it? If someone in our US office found serious problems with a tool they use, how do I know and not get burned the same way?
The answer in engineering is Failure Mode and Effects Analysis and this has been applied to software development for many years now.
Everyone tends to do their own slightly home-brewed version of FMEA that fits well with their processes and systems and I'm keen to try the techniques out. As a first step, pooling all existing knowledge about foreseen and unforeseen project problems, delays, failures additional costs and so on should be pooled. This pool of knowledge should then be used as a starting point for any future risk analyses, rather than it being an exercise in memory, intuition and guesswork.
I've been reading around a little and found the following useful:
I think I'll set myself the goal of kicking off a closer look at FMEA as my first personal Kaizen of the New Year and will post back here as usual.