Skip to content

Joe Arnold's Blog

Founder / CEO SwiftStack

Vikrama Dhiman: asks:

Hello Joe:
Got to your blog and an interesting first article to read.

Is it by coincidence or design that most of leading product development companies like Yahoo, Google, MSN and others like Thoughtworks etc in recent years have been Agile driven and almost none are CMMi. Is there some significant difference in the way management perceives their role, environment and market-organization dynamics?

Another factor is to have a champion for change and belief in change of his/ her so strong that it comes around.

If you had a memo to write to management thats going towards deterministic processes like company wide formal estimation methods and evaluations – what would you write?

Thanks

Product organizations (such as Yahoo, Google, MSN and others) do not concern themselves with certifying themselves at a CMMI level. Here’s why:

Certainty and traceability associated with CMMI has cost (in terms of being able to predict scope, cost and time of a project). A high CMMI-level rating, while it decreases risk, also has overhead that adds to costs. The higher the level of certainty, the higher the cost.

Product organizations manage risk differently than an internal IT shop or a IT outsourcing firm. These companies plan for failure by executing multiple options – build internally or acquire. Competition from startups and other internet companies is fierce. Time to market is critical. Persuing a CMMI level that would add any costs to product development isn’t acceptable. For example, it wouldn’t be possible for messenger.yahoo.com to catch up to meebo.com if we had CMMI controls in place. Because, guess what, meebo doesn’t either. We have to go as fast, or faster then them.

For an IT outsourcing firm it makes perfect sense to invest in a high CMMI-level rating. After all, they’re selling more than just software. They’re selling a service. And part of that service is certainty. Their customers do not want to take risks, and are willing to pay for certainty. An IT outsourcing firm passes on the costs of the overhead associated with the risk reduction. Unlike a product organization, failure carries punitive damages associated with a failed contract.

It’s also important to note that Agile & CMMI aren’t incompatible. There are many firms that use Agile development methods who certify themselves. Their customers are willing to carry the costs of certainty and tractability and still get benefit from Agile methods. Check out Jeff Sutherland’s work on the topic.

The concept of company-wide process definition is quite different then the pursuit of CMMI certification. CMMI doesn’t tell you how to reach a level of certification, it just tells you what you need to achieve the desired level. Management can do the same, articulate what the organization values and let the individual teams figure out how they can be achieved. There is a lot management can do to articulate organization needs — like minimum performance criteria, security standards or legal compliance.

In the memo to the company that was asking for standards on formal estimation methods and evaluations, I’d ask them to articulate the needs of the organization and challenge teams to find ways to meet those needs. Specifying how each team will operate may be comforting for the management team, but will just be an illusion of control. Management should set goals not dictate how to reach them.

Advertisements

Tags: , , ,

%d bloggers like this: