Capability Maturity Model Integration (CMMI) is a process maturity model focused on helping organizations mature how they create things (CMMI for Development), provide
services (CMMI for Services), or buy things (CMMI for Acquisition). The predecessor to CMMI, CMM, was created back in the late 80’s and early 90’s due, in part, to systemic issues with software development in support of Department of Defense projects.
CMMI often gets a bad wrap for being a bureaucratic, paperwork-heavy set of compliance checklists that doesn’t help anyone and is really annoying. While it certainly can be, if you focus on using it to make your processes better (and not just check the boxes to get a rating) it can be a great way to mature how a company operates. I’ve been really impressed with how powerful it can be, especially for small technology companies where processes are not formalized, and project teams depend on heroes from each team, with prior training and experience to ensure project success.
CMMI can be a very valuable investment, that transforms a company into one that has projects that are more predictable and lower risk, and an organization that is continually improving; but the investment isn’t small (think on the order of $100K). Some of the big cost areas are:
- Sending people to take classes in CMMI
- Allocating people’s time toward planning, creating, and training process development and improvement
- Bringing in consultants to coach and support process improvement
- Bringing in a Lead Appraiser to formally assess an organization for compliance to CMMI
If you’re interested in pursuing CMMI for your organization, I’d caution you that it’s a big undertaking, and you shouldn’t pursue if it you’re just doing it to try to be impressive to potential clients or get the ability to bid on work that requires CMMI. If you don’t buy into the idea of investing time and money into making processes better, you’re going to spend lots of money making everyone’s life worse at your company
If you are excited about making that investment in how your organization runs (very much working on your business instead of in your business, see E-Myth Revisited), make sure you take your time in selecting people to support your pursuit who are great at what they do and bought in to how you do business. If you’re a big Agile development shop, don’t work with someone who has “taken an Agile class or two” — you want to work with people who really know your business model and business perspective well.
- Take the 3 day Introduction to CMMI from a great teacher — someone like Bill Smith, who makes CMMI interesting and engaging
- Go to a CMMI conference (SEPG) if you can — this is a pretty small community, so it’s a very accessible community to go to one conference and get to chat with the thought leaders and meet companies like yours
- Get a hardcopy of the CMMI book for the constellation you want to pursue (e.g. CMMI for Development) and actually read through some of it. It’s a big intimidating book, but the introductory content and the overviews of each of the practice areas is pretty accessible. You’ll want to keep a copy of this and mark it up as you learn more about it and how it relates to your business.
- If you get consulting support (which is critical, unless you have a CMMI pro on your team), shop around and really interview them well to understand their style, areas of expertise, and level of experience — I’ve been really impressed with consulting from thought leaders like Broadsword, who know the Agile-CMMI intersection very well (and their senior leaders, such as Jeff and Ross put out great blog and webinar content), and great appraisers like Frank Koch who really help companies understand what CMMI really means for a company like theirs
- Don’t try to “do CMMI” in a vacuum from other parts of your organization — any other process improvement activities, such as ISO 9001, back-office process development, or overall organizational process architecture should be integrated (or you’ll have to spend more energy integrating them later)
- Don’t over-engineer — it’s important to avoid letting technical people create too much process instead of focusing on the most valuable process improvement work
- Ask questions — the CMMI community is full of people who want to help people make their companies better