Software quality is increasingly becoming a necessity with growing number of firms dependent on IT infrastructure and mission critical software’s for their business processes. The capability maturity model and SPICE have been the two most comprehensive models for software process development that have resulted in a robust system for improving development process (Marshall, Mitchell 2004). A lot of applications have been developed with the use of such models. However, in spite of a lot of differences between the two models, there has been little focus on the key differences between the two models. While the capability maturity model is the best known software process improvement, the ISO/IEC 15004 is a suite of standards that are expected to affect the continuous evolvement of Software CMM (Paulk 1999). In this essay, the basic aim is thus to lay down the primary and secondary differences between the two maturity models in SPICE and CMMI. Further, through diagrammatic representations, the paper tries to list out the key differences between the models.
If you need assistance with writing your essay, our professional essay writing service is here to help!Essay Writing Service
The capability maturity model (more popularly known as CMM) had its origins from a book published in 1989 by Watts Humphrey in his book “Managing the Software Process”. The basic theme behind the capability maturity model integrated (CMMI) is process improvement (Glazer et al 2008). It must be understood that CMMI is a process model and not a process standard. CMMI consists of process oriented activities that can be used collectively to attain the process area and business goals of an organization. CMMI practices are also meant to encourage organizations to use other process models based on the organization’s need and practices.
Primary Attributes of CMMI:
The capability maturity model has certain primary attributes associated with it. It has been observed by Hoggerl M and Sehorz (2006) that process area, goals and practices are the three key concepts of CMMI. As stated earlier, the CMMi is a list of pre-defined processes that are stated under CMMI. According to the authors (Hoggerl & Serhorz), the CMMI consists of 25 specific process areas within the development processes. Primary attributes of CMMI according to these researchers are thus process management, project management and engineering and support (Hoggerl & Sehorz 2006). There are five basic maturity levels defined in the CMMI model. These are detailed in the table below
Software CMM Maturity Model
Software processes characterized at this level are ad-hoc and occasionally chaotic. At this stage, very few processes are defined and the success of the processes depends on the individual efforts and heroics
The process management processes are defined at this stage. They are basic in nature and are generally derived from earlier successes
The software process for both the management and execution are defined and are well documented during this phase
Detailed measures for the evaluation of the software processes
Continuous improvement processes are carried out using quantitative feedback from the process and from piloting of innovative ideas
Table 1. CMMI Maturity Stages
Secondary Attributes of CMMI:
Within the primary attribute of project management, the authors Hoggerl & Sehorz (2006) suggest that there are some processes which are specific in nature. These are referred to as the secondary attributes of CMMI. Some of the common secondary attributes include planning, monitoring, supplier management and team management. Within process management too, there are certain secondary attributes. Organizational focus, definition, training and innovation are some of the common secondary attributes that can be placed under the process management criterion. The engineering section of the CMMI model has a lot of scope for improvements. Thus, the secondary attributes under this section are vital to the process improvement. Some of the secondary attributes under the engineering section include requirement management, integration, verification and validation (Hoggerl & Sehorz 2006). Within the support section (primary attribute of CMMI), there are some secondary attributes too. These include configuration management, quality assurance, decision analysis and organizational environment (Hoggerl & Sehorz 2006). The entire set of attributes is better presented in the composite features diagram shown below. For understanding a composite feature diagram, it must be noted that the maturity of a software process is best understood in five different levels. Although these levels vary from organization to organization, they can still be generalized as initial, repeatable, defined, managed and optimized (M, Paulk. M, Konrad. S, Garcia.1995;M, Paulk.1999). During the initial level, the processes are not ordered. During this stage the processes are chaotic and mostly depend upon the individual efforts. As per its name, the repeatable processes repeats itself; the success of earlier processes. Therefore, Paulk et al (1999) states that the defined maturity levels in the whole process go through the standards policies to fulfill the process. A proper documented plan of action is one of the most important aspects in the completion of a defined maturity model. However, the managed maturity models are tested quantitatively for the processes and product quality (M, Paulk. M, Konrad. S, Garcia.1995; M, Paulk.1999). The optimized maturity models are concentrated on innovation and continuous improvements through feedback mechanisms. A look at the advantages and disadvantages of CMMI model would be in line with the above discussions.
Advantages of CMMI:
CMMI has a number of benefits. According to Konrad, Shrum and Chrisis (2003), the CMMI model provides a good coverage for the average product life cycle than any other process improvement products when they are used alone. Moreover, CMMI can be integrated with any of the other software improvement models and can be implemented to provide robust functionalities. Although the main focus of CMMI was on product and service engineering, it was also built to provide enterprise-wide process improvement (Chrissis, Konrad, and Shrum 2003).
Disadvantages of CMMI:
Even though CMMI provides with a lot of functionalities for robust functioning, it is still not easy to implement within organizations. CMMI is not a process; it is rather the characteristics defined that should be present within an ideal process. Thus, the problem with process improvement is not that of a missing standard but to implement the standard in the perspective of the organization (M, Niazi. D, Wilson, D, Zowghi.2003). Since CMMI does not provide the actual implementation steps, it is not advisable to use in certain scenarios.
Diagram 1. CFD For CMMI
With such a brief description of CMMI, the concepts about the model are made clear. The next section of the paper discusses about the SPICE or the ISO/IEC 15504 process maturity model.
SPICE: (ISO/IEC 15504):
The SPICE model also known as the ISO/IEC 15504 is an emerging international standard on software process assessment that defines the number of software engineering processes and scales them to measure their capability (Emam, Birk 1999). The basic difference between the CMMI and SPICE is that while CMMI is a model consisting of steps that might be required in an ideal software process; SPICE is a standard for software process implementation that needs to be followed. The emerging ISO/IEC 15504 international standard is an attempt made to harmonize the existing assessment of models that are in the common use. It is an European model that is based on the quantitative score of assessment associated with the performance of the organization or the project (Emam Birk 1999). A software process assessment (SPA) provides a quantitative score that reflects the organization’s or project’s implementation of the best practices as defined in the assessment model. Thus, the more number of best practices that are adopted the more higher the quantitative score is expected to be. This score obtained from the baseline current implementation provides a perfect framework for making process improvement decisions and also serves as a means of tracking improvement efforts.
Attributes of SPICE:
SPICE model is based on five different processes. These processes were created in different nationalities and became accepted internationally. The five processes are customer-supplier, engineering, supporting, management and organization. Each of these processes has a capability level on which it is marked quantitatively. These levels begin from 0 to 5 ranging from incomplete process (0) to an optimized process (5). These processes are further marked using what is called as process attributes. It is the base premise of the software process assessment that the resultant quantitative scores are the predictors of the performance of the project or the organization that is assessed. In all, there are nine attributes in SPICE. As with CMMI, the nine process attributes are linked with the five processes. The nine attributes are
Work Product Management
Similar to CMMI, the ISO/IEC 15004 has five process areas. These are known as levels. Each key process area is described in terms of its key practices that contribute to satisfying its goals and are allocated to produce common features. These key activities describe the specific function of the infrastructure and activities that contribute to produce the most effective implementation and institutionalization of the key process area (Paulk 1999). These five process areas are described in the table below
Key Process areas
Prevention of bugs, defects
Technology Change Management
Process Change Management
Product & process quality
Quantitative process management,
Software quality management
Engineering & organizational support
Organization process focus,
Integrated software management,
Project management processes
Software project planning,
Project Tracking & Oversight
Competent people and heroics
Adapted from: Paulk 1999
Diagram 2. CFD for SPICE:
Differences between SPICE & CMMI:
Primary Attributes: SPICE model is more focused on “Process Improvement”.
Primary Attributes: CMMI model is more generalized as it considers the organization as a whole
Secondary Attributes: Acquire, supply, develop, operate, evolve, and supporting software processes.
Secondary Attributes: Optimizing, managing, defining, re-using the software processes.
SPICE is a European model
CMMI is an American model
Not much difference between the
lead-assessor and the other members of the team. Every member of the team is responsible.
Heavily depending on the lead assessor,
CMM was the earlier version of CMMI.
OO-Spice is the latest version of Spice.
CMMI integrated Spice in one of its process.
ISO/IEC 15504 model.
SPI (Software Process Improvement) model
Thus, the differences between the process maturity models have been highlighted. With these differences, it becomes easier to identify whether or not a particular model (like CMMI) or a standard (like SPICE) might be usable in a given organization’s scenario.
Ideal Model CFD:
The attributes of both the CMMI and SPICE can be integrated to provide an ideal model for software development. This model is represented in the below diagram.
Diagram 3. IDEAL CFD
Conclusions & Recommendations:
Both SPICE and CMMI are said to improve software process development. While the CMMI is a set of standard processes that need to be carried out for the “ideal software development process”, SPICE is a standard that needs to be followed for effective implementation. Although there are some differences and similarities between the two models, both can be used in a combination to provide excellent software development process. The ideal CFD lists out the key processes that are a combination of both SPICE and CMMI that can be used in the software development lifecycle. Both SPICE and CMMI can be used in different circumstances and/or can be combined according to the organization’s needs. After evaluation the advantages and disadvantages of both the models/standards, it can be said that both SPICE and CMMI can be used in a combination to provide the most efficient models for software development. These models can comprise of stages which are a combination of both the recommended models. These combinations would depend according to the requirements of the organizations. For organizations with little time requirement, CMMI would be beneficial since it first maps timings and then plans the modules of the software development phase. On the other hand, if the organization seeks to achieving and maintaining a high standard of implementation that can bring a competitive edge, then it might want to involve more processes out of SPICE or the ISO/IEC 15004 standard. Therefore, the use of a particular model is dependent entirely on the needs and requirement analysis of the organization.
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: