Capability Maturity Model is a reference model of mature practices in a specified discipline, used to assess a group's capability to perform that discipline. CMM is a collection of instructions an organization can follow with the purpose to gain better control over its Software development process. Capability Maturity Models differ by discipline, structure (staged versus continuous), how maturity is defined and how capability is defined. CMM are used in process Improvement, Process Definition, Competency Assessment, Risk Management and Communication.
There are two structural representation of CMM and these are the continuous and staged representation. The continuous representation is a capability maturity model …show more content…
structure wherein capability levels provide a recommended order for approaching process improvement within each specified process area. The Staged representation is a model structure wherein attaining the goals of a set of process areas establishes a maturity level; each level builds a foundation for subsequent levels.
The CMM ranks software development organizations in a hierarchy of five stages or levels, each with a progressively greater capability of producing quality software.
Each stage is described as a level of maturity and these 5 levels are equipped with different number of instructions to follow. The five stages of the CMM model are Initial, Repeatable, Defined, Managed and Optimizing. The Initiation Stage describe the processes that are ad-hoc, chaotic or actually few processes are defined. In Repeatable Stage, basic processes are established and there is a level of discipline to stick to these processes. The Defined Stage is all processes that are defined, documented, standardized and integrated into each other. Managed Stage is processes that are measured by collecting detailed data on the processes and their quality. And Optimizing Stage are the continuous process improvement that is adopted and in place by quantitative feedback and from piloting new ideas and …show more content…
technologies.
There are lots of issues of why do CMM based software process improvements. Some of these issues are do the projects complete on schedule, project has met the budgeted project costs, morale issue, quality problem.
CMM provides a structure to support the prioritization of actions in a phased approach for improvement. CMM is a systematic ordered approach to process improvement and it has means of measuring organizational maturity as well as has proven to bring significant return on investment in productivity and quality. CMM are used in process improvement, process definition, competency assessment, risk management and communication.
I have read an article about The Outsourcing Evolution and its all about the evolution of software services outsourcing, business's changing expectations, and three major trends impacting the industry today. According to the article that cost savings is a driving factor in most companies' decision to outsource application services. However, now that many companies have some experience working with outsourced service providers, they are more likely to look beyond an hourly development rate and place greater emphasis on criteria such as industry experience, specific technology expertise, and flexibility in development processes. More companies today appreciate that gaining long-term business value means entering into a partnership with their services provider, and allowing the vendor to understand their business needs at a deeper level. Such companies place greater importance on issues of communication, project management, and organizational "chemistry." However, trying to ground such "soft" criteria in quantitative goals and measures can be challenging. That problem is in part what has pushed the industry to embrace the SEI Capability Maturity Model (CMM). CMM ultimately attempts to quantify softer factors and promote ongoing process improvements that will benefit both the provider and its clients. While CMM certification is only one indicator of a service provider's capabilities, it has gained importance in the minds of buyers partly because of the need for some standard baseline in what can be a somewhat confusing marketplace, but also its focus on promoting these "soft" benefits.
I learned that the CMM reliably assesses an organization's sophistication about software development.
It was invented to give military officers a quick way to assess and describe contractors' abilities to provide correct software on time. There are lots of benefits that CMM can provide to the developers, employees, project managers and team leaders and with the management. For the developers, these benefits consist of defined process, reduced induction efforts, provide consistency, process orientation and seamless transition from one project to another. For the Project Manager / Team Leader, these are good monitoring facility, management by fact (Metrics), centralized repository of process assets and use of statistical tools And For Management, These benefits include understand process capability, set goals and improvement in targets, process oriented approach, better visibility of processes and more efficient communication.
But in every praises there are always criticisms on the side. Some of the criticisms are the CMM does not describe how to create an effective software development organization. The traits it measures are in practice very hard to develop in an organization, even though they are very easy to recognize. Also, CMM has failed to take over the world. The CMM has been criticized for being overly bureaucratic and for promoting process over
substance.
I have read that some of the problems of CMM include it has no formal theoretical basis. It's based on the experience of very knowledgeable people. The CMM encourages displacement of goals from the true mission of improving process to the artificial mission of achieving a higher maturity level.
The CMM does not describe how to create an effective software development organization. The CMM contains behaviors or best practices that successful projects have demonstrated. Being CMM compliant is not a guarantee that a project will be successful, however being compliant can increase a project's chances of being successful.
But nevertheless, the main objective of the CMM solution is to provide good software engineering and management practices for any project in any environment. It is easily applicable to large organisations, virtual projects, geographically distributed projects, software services organisations and small projects and organisations. CMM can also be used by the SME segment even for small projects. In summary, the focus should be on identifying the pertinent problems, institutionalising core practices like planning, training, etc, within the company and combining software process improvement with business objectives.
Bibliographical Reference:
Schwalbe, Kathy, Information Technology Project Management,
Thomson Learning Asia., p 218.
http://en.wikipedia.org/wiki/Cmm
http://www.teachtime.com/en/wikipedia/c/ca/capability_maturity_model.html
http://www.trigent.com/news/insights8.htm