Monday, August 5, 2019

Differences Between Spice And CMMI Information Technology Essay

Differences Between Spice And CMMI Information Technology Essay Software quality is increasingly becoming a necessity with growing number of firms dependent on IT infrastructure and mission critical softwares 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. CMMI: 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 organizations 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 Description 1. Initial 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 2. Repeatable The process management processes are defined at this stage. They are basic in nature and are generally derived from earlier successes 3. Defined The software process for both the management and execution are defined and are well documented during this phase 4. Managed Detailed measures for the evaluation of the software processes 5. Optimizing 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 con figuration 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 organizations or projects implementation of the best practices as defined in the assessment model. Thus, the more number of best practi ces 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 Process Performance Performance Management Work Product Management Process Definition Process Deployment Process Measurement Process Control Process Innovation Process  Optimization. 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 Level Focus Key Process areas 5 Optimizing Continuous improvement Prevention of bugs, defects Technology Change Management Process Change Management 4 Managed Product process quality Quantitative process management, Software quality management 3 Defined Engineering organizational support Organization process focus, Training programs, Process definitions, Integrated software management, Peer reviews 2 Repeatable Project management processes Requirements Management, Software project planning, Project Tracking Oversight Quality Assurance, Subcontract Management, Configuration Management 1 Initial Competent people and heroics Adapted from: Paulk 1999 Diagram 2. CFD for SPICE: Differences between SPICE CMMI: 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 organizations 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 organizations 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. Thes e 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.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.