Tuesday, February 28, 2012

Understanding CMMI with bird-eye view.


This is the fourth of a series of How to be Software Quality Professional, and we will look two major frameworks that are widely implemented by thousands of organization. As a Software Quality newbie you don’t need to be certified in CMMI or ISO, you only need to know the basics of these standards and process improvement framework. The subsequent posts will talk over in greater detail.

As the Software Industry is growing around the globe and companies are willing to remain intact with their clientele by providing quality software solutions to them. By this willingness there comes an idea of Standards and Best Practices to win the customers or at least sustain them. In order to lower the threats of organization losing their customers some international organization produces some standards and best practices which are widely accepted and practiced around the world in every software development organization to a minimum to maximum extent. This post will describe high level overview of some common quality standards which help in implementing robust Quality Management Systems – QMS

CMMI

CMMI –Capability Maturity Model Integration, one of the robust and widely implemented process improvement standards developed by Software Engineering Institute, Carnegie Mellon University. This process improvement framework provides a five step ladder to achieve the unmatched maturity in software development industry and most of the time CMMI becomes the competitive advantage for the organizations in question. CMMI Levels and their definitions are as follows.

            Level 5:            Continuous Improvement OR Optimized
            Level 4:            Quantitatively Manage
            Level 3:            Defined
            Level 2:            Managed
            Level 1:            Initial OR Performed

In order to achieve any of the above level any organization must implement the corresponding process areas also known as Key Process Areas (KPAs). For instance, If an organization willing to achieve Level 2 maturity it should implement all the applicable process areas correspond to Level 2 (i.e. Managed). All of the levels have some specific goals and generic goals. Specific Goals are related to each process area while Generic Goals are related to individual Maturity Level.

For example, Project Planning is one of the process area belongs to Level 2; it has 3 Specific Goals namely:

  1. Establish estimates
  2. Develop a Project Plan
  3. Obtain commitment to the plan
The generic goals of each maturity levels are as follows:

  1. Achieve Specific Goals
  2. Institutionalize a managed process
  3. Institutionalize a defined process
  4. Institutionalize a quantitatively managed process
  5. Institutionalize an optimizing process

Mark C. Paulk, Ph.D (http://www.cs.cmu.edu/~mcp/) has rightly defined the need of process improvement and common misunderstanding about process framework implementation he say, “Much of the software crisis is self-inflicted, as when a CIO says, “I would rather have it wrong than have it late, we can always fix it later”.

Implementing processes standards doesn’t make you late on the project; it takes you well on the project with estimated cost, effort and quality.


3 comments:

  1. Very Nice and fine post Muzaffar..
    Muzaffar if you could define the basics for all the 5 Levels in a bit more but not much, it will be great.

    Thanks

    ReplyDelete
  2. Sure, I'd try to post the CMMI Levels in greater details in subsequent posts, if you have any specific details you may ask, we can have healthy and knowledgeable discussion here.

    Thanks.

    ReplyDelete
  3. IQI consulting provides a standard CMMI rating mechanism for organizations to help analyze and enhance the prime capabilities that accommodate its performance and quality.

    ReplyDelete