Fog Creek Software
Discussion Board

Beginning the CMMI process

I expect I know the reaction that will be generated, but don't shoot the messenger...

My company wants to move to a CMMI level 2 certification. I work for a consulting company that to date, has not followed any real process on projects. Management hasn't defined anything, so the projects are left to developers to document, code, and complete.

Needless to say, I suspect this push is going to be a disaster since no one seems to know what is involved, myself included.

Has anyone out there gone through this process? I'm looking at the SEI web site and while there is a ton of information, it is difficult to sift through the gravel to find the gold.

I'd love to know if anyone has advice, recommendations, etc. so I can begin learning about CMMI and help my project move towards the desired company goal.

Of course, the best of all worlds would be if I had the clout to recommend not doing CMMI for many reasons that I don't need to say. Unfortunately, I don't have that much authority. :(

Monday, August 9, 2004

actually, i've been through it and am actually trained to sit on an assesment. eek - i'm about to be flamed!

seriously, i wouldn't mention CMMI. Instead, YOU need to look at the model itself. A lot of it is common sense stuff that is involved with good software development.

Use the model to get a good process/framework for developing software, FIRST. Worry about documenting things after that. I would look to try to make this as automated as possible. By this i mean ensure that you defect tracking software can do metrics (ie how many bugs per release).

My point is to have good software before beauracratic paperwork.

Monday, August 9, 2004

>Has anyone out there gone through this process? I'm >looking at the SEI web site and while there is a ton of >information, it is difficult to sift through the gravel to find >the gold.

Yes.  Long, long, long story.  I will post more later.

My basic take on it is that the spirit of CMMI is pretty good, the implementation is pretty darn terrible.

Start with acopy of Gerold Weinberg's "Quality Software Management, Volume I" and look up his descriptions of patterns of software organizations, zero through five. Use that to frame your understanding of the intent of the CMMI.

I have some other documents I can email you that might hekp de-academic-ize the CMMI and real-world-ify it. 

Are you trying to win a DoD contract or something?

More later ... (Matt H.)
Monday, August 9, 2004

The CMMI (CMM Integrated) is kind-of new.  This all started in the 80's with the CMM (now known as the CMM-SW, or Software CMM).  CMMI integrates the Software and Systems part of CMM.

It recommends certain pieces that need to be in place, and you can be graded on those pieces.  You want a process which is documented, is followed, produces quality records showing it is followed, has QA (Quality assurance -- they sign off that the process is being followed) and Configuration Control.  If you have all that you can be CMM level 3.

Ultimately you want a process which is 'improvable' -- ie has a documented process for improving the process.  If you get ALL that working (including all quality records, again) you can be CMM level 5, the ultimate.

Level 1 is basically the 'default' "Chaotic" process (yeah, right -- BTW Microsoft has NEVER gone for CMM, but are they level 1?  CMM might think so, but Microsoft has a VERY disciplined process.)

I believe Watts Humphries has a few books out (of course his name is ALL OVER the CMM website materials).

Monday, August 9, 2004

Matt --

The company is a government consultant, so it may have something to do with other contracts we have, but I don't know for certain. It wouldn't surprise me if it was related to DoD though, given the original intent of CMM.

Any documents you might be able to provide would be fantastic.

The organization I currently work in has some documents for a software development process. Unfortunately, the process is really meant for legacy systems programming, and the documents are pretty outdated and require WAY too much paper pushing.

I'm also looking into using Extreme or Agile methods for some of the process. I've read some things tying either method to CMMI, but without concrete information. I'd love to hear some feedback on this as well.

Monday, August 9, 2004

Andrew, it will probably take your company around a year or 2 just to honestly get to level 2. So taking the time to sit down and read all the literature (yes, I know there is a lot) will be worth it in the long run.

Read the stuff the other guys recommend. Look at the "big chunks" that you will have to get (like source code control, lord knows that probably half the companies in the US lack scc of any kind).

In short, CMM, ISO and all the other quality systems can be paraphrased by the following 3 lines:
1 - Say what you do.
2 - Do what you say.
3 - Prove it.

Monday, August 9, 2004

Monday, August 9, 2004

Back when I was a government contractor, we always had a running gag for some of the development groups...

We called them "CMM-0 Certified" which we defined as "it only works when multiple miracles occur..."

Seriously though, CMM certification is nearly required for some areas/clients, but the *actual usage* of it is completely different.

Start small and build up from there otherwise you'll never get the developers to accept it.  I always start with bugtracking...

Monday, August 9, 2004

do you actually have the authority to switch to a methodology like XP in the Agile world? I personally, think more of Scrum.

ANyways, you can still use Agile methodologies and get CMMI lvl2 as long as you document it.

there is a good freeware/shareware project tracking software. i'll ask an old friend what it is called.

Monday, August 9, 2004

Read the CMM(I) chapter of Alistair Cockburn's new book - Crystal Clear.  See
(and , if you'd like some background on Crystal Clear)

John Rusk
Monday, August 9, 2004

i thought of it ...

there is also an article on the sei/cmm site about using XP and getting certified.

Monday, August 9, 2004

I think our management has adopted the SCUM methodology - I see more and more of these really sleazy people comng in and telling us why we are doing everything all wrong. Apparently, being ranked #1 in customer service year after year is not important, because we are doing everything "wrong". We are just poor, misguided sheep who need to be led into the Promised Land of CMM, ISO 9000, etc...

Data Miner
Wednesday, August 11, 2004

i feel some of the bad rap that CMM/CMMI has gotten is because of how it is presented. this sounds like your case DataMiner.

these people are probably what CMM/CMMI call "ppqa" or "sqa". if it is presently appropriately, then it wouldn't be a problem.

regardless if we are trying to achieve CMM or not we should always try to improve our software.

Wednesday, August 11, 2004

If you look closely, you'll find that CMM level 2 doesn't involve any practices that are under the control of the developers.

Instead, it is saying that it doesn't make much sense to optimize the actual development practices if there's no project planning, the requirements are vague, and so on. All involve management rather than developers.

Only starting with level 3 will a development process have to be defined (which involves what the developers actually do rather than the environment they're in)

Nicolai Czempin
Thursday, August 12, 2004

*  Recent Topics

*  Fog Creek Home