Which of the following is based on the premise that the quality of a software product is a direct function of the quality of its associated software development and maintenance processes?
Click on the arrows to vote for the correct answer
A. B. C. D.A.
The Capability Maturity Model (CMM) is a service mark owned by Carnegie Mellon University (CMU) and refers to a development model elicited from actual data.
The data was collected from organizations that contracted with the U.S.
Department of Defense, who funded the research, and became the foundation from which CMU created the Software Engineering Institute (SEI)
Like any model, it is an abstraction of an existing system.
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process.
The model describes a five- level evolutionary path of increasingly organized and systematically more mature processes.
CMM was developed and is promoted by the Software Engineering Institute (SEI), a research and development center sponsored by the U.S.
Department of Defense (DoD)
SEI was founded in 1984 to address software engineering issues and, in a broad sense, to advance software engineering methodologies.
More specifically, SEI was established to optimize the process of developing, acquiring, and maintaining heavily software-reliant systems for the DoD.
Because the processes involved are equally applicable to the software industry as a whole, SEI advocates industry-wide adoption of the CMM.
The CMM is similar to ISO 9001, one of the ISO 9000 series of standards specified by the International Organization for Standardization (ISO)
The ISO 9000 standards specify an effective quality system for manufacturing and service industries; ISO 9001 deals specifically with software development and maintenance.
The main difference between the two systems lies in their respective purposes: ISO 9001 specifies a minimal acceptable quality level for software processes, while the CMM establishes a framework for continuous process improvement and is more explicit than the ISO standard in defining the means to be employed to that end.
CMM's Five Maturity Levels of Software Processes At the initial level, processes are disorganized, even chaotic.
Success is likely to depend on individual efforts, and is not considered to be repeatable, because processes would not be sufficiently defined and documented to allow them to be replicated.
At the repeatable level, basic project management techniques are established, and successes could be repeated, because the requisite processes would have been made established, defined, and documented.
At the defined level, an organization has developed its own standard software process through greater attention to documentation, standardization, and integration.
At the managed level, an organization monitors and controls its own processes through data collection and analysis.
At the optimizing level, processes are constantly being improved through monitoring feedback from current processes and introducing innovative processes to better serve the organization's particular needs.
When it is applied to an existing organization's software development processes, it allows an effective approach toward improving them.
Eventually it became clear that the model could be applied to other processes.
This gave rise to a more general concept that is applied to business processes and to developing people.
CMM is superseded by CMMI - The CMM model proved useful to many organizations, but its application in software development has sometimes been problematic.
Applying multiple models that are not integrated within and across an organization could be costly in terms of training, appraisals, and improvement activities.
The Capability Maturity Model Integration (CMMI) project was formed to sort out the problem of using multiple CMMs.
For software development processes, the CMM has been superseded by Capability Maturity Model Integration (CMMI), though the CMM continues to be a general theoretical process capability model used in the public domain.
CMM is adapted to processes other than software development The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project.
Though it comes from the area of software development, it can be, has been, and continues to be widely applied as a general model of the maturity of processes (e.g., IT Service Management processes) in IS/IT (and other) organizations.
Source: http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci930057,00.html and http://en.wikipedia.org/wiki/Capability_Maturity_Model.
The answer is A. The Software Capability Maturity Model (CMM).
The Software Capability Maturity Model (CMM) is a framework for assessing and improving the quality of software development processes. It is based on the premise that the quality of a software product is a direct function of the quality of its associated software development and maintenance processes. The CMM provides a roadmap for organizations to improve their software development processes and reach higher levels of maturity.
The CMM was developed by the Software Engineering Institute (SEI) at Carnegie Mellon University in the late 1980s. It has since been widely adopted by organizations around the world as a framework for improving software development processes.
The CMM defines five levels of maturity, with each level representing a higher degree of process maturity:
Level 1 - Initial: Processes are ad hoc and chaotic, with little or no formal processes in place. Level 2 - Repeatable: Basic processes are established and repeated for each project. Level 3 - Defined: Processes are well-defined and documented, and are followed consistently across the organization. Level 4 - Managed: Processes are measured and controlled, and the organization has a proactive approach to process improvement. Level 5 - Optimizing: Continuous process improvement is ingrained in the organization's culture, and the organization is constantly striving for excellence.
The CMM provides a framework for organizations to assess their current level of process maturity and identify areas for improvement. By improving their processes, organizations can improve the quality of their software products, reduce costs, and increase customer satisfaction.
In contrast, the Spiral Model and the Waterfall Model are software development models that provide a structured approach to software development but do not specifically address process maturity. The Expert Systems Model is a type of artificial intelligence system and is not related to software development processes.