Tuesday, December 11, 2012

Capability Maturity Model Integration (CMMI)



         Capability Maturity Model Integration (CMMI) is a model that involves process improvement which is used by many organizations to rate the maturity of their processes. The levels of maturity of the processes are (as shown in Figure 1):  Level 1 – Initial (Chaotic); Level 2 – Repeatable; Level 3 – Defined; Level 4 – Managed; and Level 5 – Optimizing. Moreover, it describes the best practices in managing, measuring and monitoring [software development] processes. However, it mostly describes the processes that should be implemented and not so much on how to implement them.

Figure 1. Maturity Levels and Its Characteristics
               CMMI is CMM (Capability Maturity Model)’s successor and both were developed at the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh, Pa.  CMMI was made to solve the problem brought by CMM when applied to software development process which is the inefficiency in handling multiple models that are not integrated.
             Lastly, CMMI comes in two representations – staged and continuous. The staged representation is the one the one that groups the process areas into 5 maturity levels and is the representation used to achieve a "CMMI Level Rating" from a SCAMPI appraisal. On the other hand, the continuous representation defines capability levels within each profile. Furthermore, an organization can’t be a CMMI certified but can be a CMMI ‘appraised’ instead.

Questions:
  1. How is integration of multiple models done in CMMI?
  2. Is CMMI’s integration of different models into one framework equally significant to small and large organizations/companies? Why? Why not?
  3. When is a [SCAMPI] appraisal can be done and who conducts it?
  4. Is SCAMPI appraisal equally important to small and large organizations/companies? Why? Why not?
  5. Aside from being able to integrate multiple models into one framework, what makes CMMI better than others?

Sources:
(n.d.). What is Capability Maturity Model Integration? (CMMI).
Retrieved December 11, 2012 from
http://www.selectbs.com/process-maturity/what-is-capability-maturity-model-integration

(n.d.). WHAT IS CMMI?. Retrieved December 11, 2012 from
http://jcse.org.za/cmmi

(n.d.). Capability Maturity Model Integration. Retrieved December 11, 2012 from
http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
                                                 

Wednesday, November 21, 2012

What is Quality?



          Watts S. Humprey is known as the “Father of Software Quality”. He was the one who developed the Capability Maturity Model. He earned his Bachelor of Science of in Physics degree from University of Chicago, Master of Science in Physics degree from Illinois Institute of Technology Physics Department, and Master of Business Administration degree from University of Chicago Graduate School of Business. He was previously the Vice President of IBM but he retired in 1986 and joined the Software Engineering Institute located at Carnegie Mellon University in Pittsburgh, Pennsylvania. It is also in that year that the active development of this model began. Due to U.S. Air Force’s request, he began formalizing his Process Maturity Framework which originally aims to help the U.S. Department of Defense in evaluating the capability of software contractors as part of awarding contracts.
          Humphrey used Philip B. Crosby’s Quality Management Maturity Grid as a basis to his framework. What differs Humphrey’s approach from Crosby’s is his unique insight that organizations mature their processes in stages based on solving process problems in a specific order. Thus, although at first his model was intended for the benefit of U.S. Department of Defense, it became a general and powerful tool for understanding and improving general business process performance used by different organizations (e.g. software developers).
           For Watt S. Humphrey, [software] quality refers to achieving excellent levels of fitness for use. It is the result of having good software process management which holds the principle that if the development process is under statistical control, a consistently better result can only be produced by improving the process. And the development process is gauged by maturity levels which is a 5-level process maturity continuum - where the uppermost (5th) level is a notional ideal state where processes would be systematically managed by a combination of process optimization and continuous process improvement. The levels are: Level 1 – Initial (Chaotic) ; Level 2 – Repeatable ; Level 3 – Defined ; Level 4 – Managed; and Level 5 – Optimizing.

PPT Link [Google Docs]: Capability Maturity Model

Sources:
(n.d.). Capability Maturity Model. Retrieved November 21, 2012 from           http://en.wikipedia.org/wiki/Capability_Maturity_Model#Development_at_SEI

(n.d.). Guide to the Software Engineering Body of Knowledge (SWEBOK)Retrieved November 21, 2012 from http://www.computer.org/portal/web/swebok/html/ch11

(n.d.). Watts HumphreyRetrieved November 21, 2012 from http://en.wikipedia.org/wiki/Watts_Humphrey

Humphrey, W. S. (1987). 
Characterizing the Software Process: A Maturity Framework. Retrieved November 21, 2012 from ftp://ftp.sei.cmu.edu/pub/documents/87.reports/pdf/tr11.pdf.