What's That Noise?! [Ian Kallen's Weblog]

All | LAMP | Music | Java | Ruby | The Agilist | Musings | Commute | Ball
Main | Next day (Jul 10, 2004) »

20040709 Friday July 09, 2004

A CMM For Operations The Capability Maturity Model (CMM) provides a framework for evaluating the how well equipped a software development organization is deliver high quality software on-time and on-budget. There are five CMM levels, each with distinctive Key Process Areas (KPA). Is there an equivalent for website or service provider operations? I'd sure like to see it as formally explored as the CMM.

CMM level one is adhoc and chaotic, project success is pretty much built on a lot of good luck and heroics from competent individuals. Level five is a self-improving managed development lifecycle. In between there are a bunch of KPAs. Here's the spectrum:

Level
Focus
Key Process Area
1 - Initial
Competent people and heroics
2 - Repeatable
Project management processes
Requirements Management
Software Project Planning
Software Project Tracking & Oversight
Software Subcontract Management
Software Quality Assurance
Software Configuration Management
3 - Defined
Engineering  processes and organizational support
Organization Process Focus
Organization Process Definition
Training Program
Integrated Software Management
Software Product Engineering
Intergroup Coordination
Peer Reviews
4 - Managed
Product and process quality
Quantitative Process Management
Software Quality Management
5 - Optimizing
Continual process improvement
Defect Prevention
Technology Change Management
Process Change Management

One interesting aspect to the CMM is that it's typically not possible leapfrog to new levels. You can't really jump from level one to level three, getting the level two stuff right first is part of getting to level three.

Web site and service provider operations seem to have a similar spectrum. I don't have the KPAs clarified yet and there are some fundamental differences between operations and development: where software development is a collaborative process of invention, operations is predominantly about production and maintenance. Let's give it a try, we'll call this an Operational Maturity Model:

  1. Ad hoc
    Relies on competent people and heroics for success but maintenance is reactive and interupt-driven. Production is manual and loosely planned. Capacity planning? Hah!
  2. Repeatable
    Maintenance is still reactive but production is scripted. Future capacity requirements are reactively assessed.
  3. Defined
    Maintenance is proactive, standard operating procedures (SOP) are codified and production is automated. Capacity planning is based on qualitative projections.
  4. Managed
    Maintenance and production is highly automated and metric driven. Trends are studied and capacity planning is based on quantitative projectons. Provisioning has been made for high availability and failover (HA/FO) requirements.
  5. Optimizing
    Systems are self healing and deployed redundantly with HA/FO provisioned. Production is automated, proactive and metric drivem. SOPs are metric driven so the time to resolution of system faults are measured and refined.
OK, so this might be a stretch. I don't have a big list of KPAs delineated for ops, I'm kinduva software guy. Further, it may be possible to leap frog to different OMM levels (unlike CMM). I don't know, until the KPAs are understood, it's tough to say. Big Managed Service Provider (MSP) endeavors like Loudcloud, SiteSmith and Logictier have come and gone (or at least re-invented into something else) and you'd think that there'd be more of an established science to these things by now. It's 2004.

Anyway, here are some things I've checked out or amused myself with here and there on the matter:

Why is this important to me? If ops is always descending into madness because things aren't functioning on a more mature level, guess who has to jump into the fray? Yea.

Looking for more on this...
( Jul 09 2004, 10:58:30 PM PDT ) Permalink