Friday, August 15, 2008

Is process experimentation incompatible with the CMMI?

Many companies are gaining benefit from applying the Toyota Production System or Lean Manufacturing and Development. One aspect of TPS encourages experimentation with the process on a small scale to test a hypothesis about possible improvements to the process. If the experiment succeeds, the team changes the process to take advantage of the success.

Is this approach incompatible with CMMI? Does it require documentation of tailoring each time an experiment is run regardless of how large or small?

This is a GREAT question! The short answer is no, of course the CMMI is not incompatible with this idea.

As a matter of fact, there are Process Areas that a specifically designed to address this sort of thing - Organizational Innovation and Deployment (DAR) and Causal Analysis and Resolution (CAR).

These Process Areas employ "Hypothesis Testing" or other SPC techniques to determine if a change should take place, and if the test is "true" then OID is used to pilot, and then deploy, the improved process.

One of the great misunderstanding about the CMMI is that it's a shackle that is placed upon engineering that forces everyone into a single process. ML3, called the "Defined" process level, is entirely dedicated to the OPPOSITE of that notion. Organizations should draw from a SET of standard processes, not a single process, and should "compose" a process for their project based on guidelines (tailoring). If you would like to do "something different" there is no requirement to document the entire thing, but there is a requirement to manage the deviation, and to submit results (lessons learned for instance) back into the process (GP3.2 and IPM SP1.6).

So, maybe I'm contrarian, but I see the CMMI as supporting ultimate flexibility and agility, ESPECIALLY in ML3-5, as opposed to the mythical shackles that so many (and too many "consultants") believe in.

No comments: