Introduction to CMMI..1


Last 2 weeks I was busy with CMMI Appraisal of our company. I was one of the Appraisal Team Member (ATM) to evaluate organization processes against CMMI framework and institutionalization of these processes across organization.

This was my second opportunity to work as ATM. During these last 3 years I found that many developers are interested to know what is CMMI but they don’t get any easy reference. So I thought to write about some basics of CMMI.

Capability Maturity ModelĀ® Integration (CMMI) provides organizations with the essential elements of effective processes. This model helps organization to form effective processes. Point to note is CMMI model is not a process, it describes characteristics of effective processes.

Capability - A capable process consistently produces output that is within specifications. Execution of capable process always gives predictable results. In simple words say your organization has certain process for estimating efforts of projects. A capable estimation process will give same results even if you follow process mutiple times with same inputs.

Maturity - Maturity means that whatever the company is doing, the company does it in a way that is well-documented, where everyone knows what is expected of them and perform accordingly, where performance is not dependent on heroes, and where decisions are made on proper analysis of the situation.

Model - Model is a framework or way of doing something. CMMI only provides framwork to define processes at your organization and it does not give exact process details. It only guides to create efficient and effective processes.

Integration basically means that CMMI is a fusion of best practices from a number of different capability maturity models. There were different models at original CMM which are now combined into a single model.

Why Organization should go for CMMI -
CMMI framework is based on best practices collected from various organization. This model is applicable for any organization. By implementing CMMI, organization can be assured of improved processes which gives benefits like -
*  Improved schedule and budget predictability
* Improved cycle time
* Increased productivity
* Improved quality (as measured by defects)
* Increased customer satisfaction
* Improved employee morale
* Increased return on investment
* Decreased cost of quality

Getting started -
For any organization to go appraise itself against CMMI, they should first do Gap Analysis. This is generally performed by a consultant who compares organizations current processes with CMMI Framework. They provides you improvement suggestions. But organization members need to create processes suitable for their organization. Consultant will never define exact processes for your information. Organization forms a SEPG ( Software Engineering Process Group) to work on defining and improving these processes. One more team called as Quality Audit Group (QAG) is formed to audit the implementation of these processes across organization.  Its not necessary to name these groups as mentioned above. Your organization can decide on what names they want for these groups.

Moving ahead -
Once work on findings of Gap Analysis stats organization should educate employees on these processes. All these processes should not be just for sake of following CMMI framework. These processes should be formed on business structure of your organization and suggestions given by all employees so that they are easy to follow and beneficial to their projects.

Next Articles -
Follow this blog for another article that I am going to write on  structure of CMMI Framework

Have you liked it? Why not help me by sharing this :
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • MySpace
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis

Leave a comment

Your comment