aspose file tools*
The moose likes Agile and Other Processes and the fly likes What is CMMi, PCMM and CMM? Which is good for Quality Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "What is CMMi, PCMM and CMM? Which is good for Quality" Watch "What is CMMi, PCMM and CMM? Which is good for Quality" New topic
Author

What is CMMi, PCMM and CMM? Which is good for Quality

Srinivas Pasumarti
Greenhorn

Joined: Jan 17, 2006
Posts: 1
I need some information about the Quality levels. I am working in CMM Level5, which is also PCMM Level 5 company. But I need some information about the good Certification for Quality? :roll:

[please use the forum, not email. Thanks - Ilja]
[ January 18, 2006: Message edited by: Ilja Preuss ]
Shameer Subedar
Greenhorn

Joined: Apr 08, 2004
Posts: 22
Srinivas, you can go to SEI website to find most of the info on CMM and CMMI since they developed it and do the assessments.

SEI Home page

good Certification for Quality?


I am not too sure what you mean by this. CMM and CMMI define a process that may produce "High quality" software. If you are in a company that is CMM 5, then you should have access to all software production processes etc and references to quality.

Maybe even chat with the QA's they will provide more information in regards to quality.

Hope this helps,
Shameer
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30537
    
150

CMMi replaced CMM. This description of PCMM explains the differences between PCMM and CMM/CMMi well. In particular:
Some argue the CMM focuses too heavily on process or technology, not people.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
These process frameworks don't ensure quality, and frankly they may even prevent it and instead promote uneccessary bureaucracy.

Agile techniques such as TDD and more importantly Refactoring promote quality.

- Scott


<a href="http://www-306.ibm.com/software/rational/bios/ambler.html" target="_blank" rel="nofollow">Scott W. Ambler</a><br />Practice Leader Agile Development, IBM Rational<br /> <br />Now available: <a href="http://www.ambysoft.com/books/refactoringDatabases.html" target="_blank" rel="nofollow">Refactoring Databases: Evolutionary Database Design</a>
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
From what I've heard, *CMM* mostly encourage repeatability and discourage taking risks - which isn't exactly what you want to do if you need to produce *innovative* high quality products.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Ramasubbhu Allur Kuppusamy
Ranch Hand

Joined: Sep 16, 2005
Posts: 120
Hi Scott & Ilja,
I would like to raise my doubts too. I live in Bangalore,India where CMM/CMMi/PCMM are hyped too much. Industry experts over here take pride in the fact that Bangalore has the highest number of CMM Level 5 Companies in the world.
I am learning OOA/D at the beginner level using books authored by Craig Larman,Philip Kruchten. I use some web resources as well including ambysoft.com as suggested by Scott. My questions are :
1. Is it acually worthy for these companies to get CMM/CMMi/PCMM Certified, since you suggest that these process frameworks don't assure quality?
2. Are CMM/CMMi/PCMM outdated?
3. Where does Agile Model stand? Is it an extension of CMM/CMMi/PCMM or is it an alternative to CMM/CMMi/PCMM?
4. If it is an alternative to CMM/CMMi/PCMM, are there any assessment bodies to certify the practising companies at a certain level?
5. Despite getting to know about Agile methods, I am forced to work in a CMMi environment in my organization that does Big Design Up Front. I don't find too many companies following agile methods over here in India. It is very much in its infancy over here. When would the situation change?
I look forward to your replies.
Thanks very much both of you. I have benefiited a lot from your previous replies.


Regards,<br />Ram.<br />SCJP 1.4
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
1. Is it acually worthy for these companies to get CMM/CMMi/PCMM Certified, since you suggest that these process frameworks don't assure quality?



Absolutely. Having the CMMI level X gold star is absolutely critical to your company's marketing efforts to your clients in the US and Europe. Your clients believe in this rubbish and look for it.

2. Are CMM/CMMi/PCMM outdated?


Yes. They really weren't leading edge at any point in time, from what I can tell. The CMM/... comes from the US DoD, the worst organization in the world at developing software.


3. Where does Agile Model stand? Is it an extension of CMM/CMMi/PCMM or is it an alternative to CMM/CMMi/PCMM?


Agile development techniques focus on repeatable results, not repeatable processes. We're far more interested in developing high-quality, working software which meets the changing needs of our stakeholders. Furthermore, agile techniques come from people who actually build software for a living. How many of the SEI people do you think actually code on a regular basis?


4. If it is an alternative to CMM/CMMi/PCMM, are there any assessment bodies to certify the practising companies at a certain level?



I don't know of anybody giving out Agile gold stars yet. Frankly, many people in the Agile community consider that idea to be very repulsive, but the reality is that most organizations will want something like this because they think that it means something.

5. Despite getting to know about Agile methods, I am forced to work in a CMMi environment in my organization that does Big Design Up Front. I don't find too many companies following agile methods over here in India. It is very much in its infancy over here. When would the situation change?


It's changing now. I was in India last year giving agile talks and consulting to some of the services vendors. People want to change, but their client base isn't letting them. Plus, they've spent significant effort building up their existing organizations, and it's hard to change things.

- Scott
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Scott Ambler:
I don't know of anybody giving out Agile gold stars yet. Frankly, many people in the Agile community consider that idea to be very repulsive, but the reality is that most organizations will want something like this because they think that it means something.


Well, there is the Scrum-Master certification, and I think the DSDM consortium provides something similar?

It's far from being similar to CMM certification, though. And even those "Agile certifications" are quite controversial in the community...
Shameer Subedar
Greenhorn

Joined: Apr 08, 2004
Posts: 22
Scott, you have brought up some interesting points. I have a few questions in regards to the CMM and Agile processes.

Having worked in CMM company for a good 5 years and now working in very ad-hoc environments with no processes, would it be possible to integrate the CMM or CMMI with the Agile methods. The list below from the Agile Alliance homepage lists the following methods:

* AD - Agile Database Techniques
* AM - Agile Modeling
* ASD - Adaptive Software Development
* Crystal
* FDD - Feature Driven Development
* DSDM - Dynamic Systems Development Method
* Lean Software Development
* Scrum
* TDD - Test-Driven Design
* XBreed
* XP - eXtreme Programming

From my understanding and experience of CMM, it describes a set of KPA�s that must be meet. How the organization defines the actual implementation of the KPA's is not specified. This I believe allows an organization to use process/methods from the agile community, to map back to KPA's defined by the CMM

In fact looking at XP, and TDD could even classified as KPA level 5 that maps to defect prevention. That produces higher quality code.

Having said all that, would it be correct to say that CMM / CMMI provides an over arching process model that can integrate with agile, RUP or
process xyz ?

The point you made about "promote unnecessary bureaucracy", I would have to agree with this, good example would the whole change process CCB. This can be an endless cycle that never ends until a decision is made.

The final point I would like to make is that the CMM/CMMI also provides the ability to tailor the process for your current project. In the unlikely event, a project manager (from a CMM company) could say to his team we will follow agile methods for this project. Moreover all projects that are developed by CMM / CMMI company does not have to run at Level 5, just remove KPA's that are not required.

Scott if you could clarify the above that would really appreciated. I am not promoting the CMM/CMMI but trying to better understand the whole agile methods and process as I very new to it.

Many thanks,
Shameer
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30537
    
150

At a talk I attended a few weeks ago, the presenter said that some CMM assessors will let you argue that most agile processes fit CMM. This sounds highly subjective and dependent on the appraiser though.

CMM was written to fit a waterfall approach as used by the Dept of Defense. So sometimes retrofitting it for agile requires stretching.

I think it depends on the process. For example, TDD doesn't conflict with CMM as much as the whole of XP does. We are getting our feet wet with CMM while using iterations and unit tests. So far, there haven't been any conflicts.

On "ensuring quality", I don't think any process can ensure it. Of course some make it more likely than others.

"From what I've heard, *CMM* mostly encourage repeatability and discourage taking risks"
Yes. The idea is to be able to better predict how long things will take and the expected quality. For example, if you typically get 4 defects and an app has 100, you know something is wrong. It doesn't discourage risks per se. More monitoring risks and being on top of them when they occur.
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Here's a neat story about Agile CMM. It winds up not being what most people think of as "agile" or "cmm". Of course it's about MicroSoft where they "embrace and extend" any good idea until it's, um, MicroSoft.


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
The Agile Alliance also has a bunch of links to articles on Agile + CMMx: http://www.agilealliance.org/articles/AgileArticlesCatSearch?category=CMM
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
Answering a few questions at once, sorry for any confusion.

Having said all that, would it be correct to say that CMM / CMMI provides an over arching process model that can integrate with agile, RUP or process xyz ?

In theory, yes. Unfortunately, the CMM/I mindset typically leads to a serial, bureaucratic process. This doesn't fit will with the Agile or RUP mindsets.

The point you made about "promote unnecessary bureaucracy", I would have to agree with this, good example would the whole change process CCB. This can be an endless cycle that never ends until a decision is made.

Yes, that's a great example. Management thinks that's a good strategy, the CMM/I consultants probably think so too, but it dramatically reduces your ability to be agile.

At a talk I attended a few weeks ago, the presenter said that some CMM assessors will let you argue that most agile processes fit CMM. This sounds highly subjective and dependent on the appraiser though.

Yes, CMM/I assessment is highly subjective, no matter how you look at it. Worse yet, in my experience it really doesn't prove much. I've been in several organizations which claim to be CMM level 3, and have been assessed at that level, yet when I ask the developers what process they follow they can't answer me, and sometimes even don't know who to ask.

CMM was written to fit a waterfall approach as used by the Dept of Defense. So sometimes retrofitting it for agile requires stretching.

Yes, and the DoD is the worst organization in the world at software development. Why are we listening to them?

"From what I've heard, *CMM* mostly encourage repeatability and discourage taking risks"
Yes. The idea is to be able to better predict how long things will take and the expected quality. For example, if you typically get 4 defects and an app has 100, you know something is wrong. It doesn't discourage risks per se. More monitoring risks and being on top of them when they occur.

Which is more important -- following a repeatable process or producing repeatable results? CMM/I focuses on repeatable process, agility is about repeatable results (the production of high quality software which meets the changing needs of your stakeholders).

- Scott
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30537
    
150

Originally posted by Scott Ambler:
Which is more important -- following a repeatable process or producing repeatable results? CMM/I focuses on repeatable process, agility is about repeatable results (the production of high quality software which meets the changing needs of your stakeholders).

The theory is that a repeatable process will lead to repeatable results. We haven't been doing CMM long enough to see how that pans out.

Yes, and the DoD is the worst organization in the world at software development. Why are we listening to them?

Good question. And there is also the question of why a process (CMM) that works on 1000 developer projects would automatically be implied to be useful on a 10 person project.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jeanne Boyarsky:

The theory is that a repeatable process will lead to repeatable results.


That would only be a sensible theory, in my opinion, if the repeatable process would be repeatedly applied to the same problem, in the same environment. As a consequence, it builds on the assumption that people are replacable.

Agile Software Development builds on the assumption that it's the people and there interactions that let a project succeed. We have a violent crash of value systems here...
Scott Ambler
author
Ranch Hand

Joined: Dec 12, 2003
Posts: 608
The theory is that a repeatable process will lead to repeatable results. We haven't been doing CMM long enough to see how that pans out.

Yes, but that doesn't seem to be the case at other organizations. Repeatable results definitely result in repeatable results though....

Good question. And there is also the question of why a process (CMM) that works on 1000 developer projects would automatically be implied to be useful on a 10 person project.

I've seen CMM applied to smaller projects too. I've also seem 20 person projects bloat out to 80 person projects as the result of CMM/I. Perhaps the CMM/I's focus should be on economical processes, not on repeatable processes?

The bottom line is that there has never been a study done comparing CMM/I organizations with organizations which are good at software development. I suspect that we all know what the answer is, including the pro-CMM/I people.

- Scott
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30537
    
150

Originally posted by Ilja Preuss:
As a consequence, it builds on the assumption that people are replacable.

Right. That's a central value of CMM. And I agree it isn't something that is logically true. However, if you have the same people and similar projects, it stands to reason that we will get better at estimating. Or maybe that's just wishful thinking.

Originally posted by Scott Ambler:
Repeatable results definitely result in repeatable results though....

Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Jeanne Boyarsky:

However, if you have the same people and similar projects, it stands to reason that we will get better at estimating. Or maybe that's just wishful thinking.


It's certainly not wishful thinking - if you regularly reflect on how you are doing.

You don't really need CMMx for that, though...
 
 
subject: What is CMMi, PCMM and CMM? Which is good for Quality