Capability Maturity Model Integration (CMMI)

8 downloads 628 Views 443KB Size Report
Software Development and Implementation. NUR RAZIA MOHD ... user requirements and are reliable in the Malaysian market. At present, there ... To present an overall picture of CMMI implementation in Software Company in. Malaysia, this ...
Capability Maturity Model Integration (CMMI) Assessment as Quality Model in Software Development and Implementation NUR RAZIA MOHD SURADI* & HASSAN MOHAMED

ABSTRACT Software quality is an important element to ensure that developed software products meet user requirements and are reliable in the Malaysian market. At present, there are many software quality models available for quality assurance purposes, based on their characteristics and capabilities. The quality of software largely depends on the quality of the process used to develop, budget allocated and how to maintain it. One of the most widely used models is CMMI. Limited research has been done to find out the usage of CMMI in software industry in Malaysia. In this research, by investigating most of the organizations who have been appraised, reasons, success factors and benefits of CMMI implementation are identified. Data on the use of CMMI were gathered in a survey. Statistical analysis was done to study the trend of CMMI adoption among the respondents. Keywords: CMMI, Software Quality Model

INTRODUCTION There are various software standards and guides available in the markets for software product development. Based on previous experiences, the establishment of standards in an organization is necessary to guide the process of successful products especially for very high profile software projects. The problems arise when everyone in an organization has their delivered is bugsfree, and meets customer expectation are not an easy task. A guideline model or framework must be followed. One of the popular software quality models, CMMI is chosen to address the aforementioned problem. Here, CMMI is chosen as a software quality model because they include major software assessment and improvement own style or paradigm of software development and implementation processes. It is important to have a standard whereby every project implementation must follow the same process to ensure the success of the software development. This paradigm can be described as in Figure 1 To ensure that the product delivered is bugs-free, and meets customer expectation are not an easy task. A guideline model or framework must be followed. One of the popular software quality models, CMMI is chosen to address the aforementioned problem. Here, CMMI is chosen as a software quality model because they include major software assessment and improvement models in use today.

To present an overall picture of CMMI implementation in Software Company in Malaysia, this paper researched background information of most organizations that have been appraised. Therefore, survey forms were sent to software companies. From the data gained and through analyzing it, this paper aimed to answer question – who is using CMMI, and why? Also what are the benefits of using CMMI? What is the problem faced while using this quality model? Recommendations are made to the problem raised and it is hoped that these would help the current practice of CMMI user and those who intend to use CMMI.

Figure 1 : Transition from old process to Well-Defined Business Way

DEFINITON CMMI can be referred to as Capability Maturity Model Integration. It has been developed by the Software Engineering Institute and was first released in 1990 [1].This model has seen been widely accepted around the world, especially in India where the CMM helped many software companies to grow [2]. CMMI is also best described as:a - Collection of best practices b - Framework for organizing and prioritizing activities c - Support for the coordination of multi–disciplined activities that might be required to successfully build a project.

The following table simplifies various levels of CMMI (Level 1 – Level 5). Table 1 : Different Levels in CMMI Level

Description

Level 1 (Initial)

This represents a process maturity characterized by unpredictable results e.g. ad hoc approaches, methods and undocumented documents or guideline

Level 2 (Managed)

This represents a process maturity characterized by repeatable project performance. The activities include requirement management, project planning, project monitoring and control, supplier management, product and process quality assurance - PLAN AND TRACK

Level 3 (Defined)

This represents a process maturity characterized by improved project performance within an organization e.g. Requirements development, technical solution etc. – CONSISTENT PROCESS

Level 4 (Quantitatively managed)

This represents a process maturity characterized by improved organizational performance. Basically using historical Level 3 projects. – PREDICTABLE PROCESS

Level 5 (Optimized)

This represents a process maturity characterized by reconfigurable organizational performance. Process areas involved are best practice reinforcement – CONTINOUSLY IMPROVING PROCESS

CMMI is built based on three elements which are process area, goal and practices.

Figure 2 : Source Taken from [2] Structure of CMMI

Figure 2 shows how Process Area (PA) is mapped to the objective goal of the organization. Each process area is mapped to a specific practice to achieve organization goal. An example of the process area is Risk Management. This process area is to identify potential problems which may occur along the project or product life cycle. So, with these risk activities, it would be able to handle any problems that may affect the objectives of the project. Under PA, there are three specific goals (SG):SG 1: Prepare for Risk Management. This involves the identification of all possible risks that might occur and their category (HIGH, MEDIUM, LOW), the risk parameter and strategy to handle all risks. SG 2: Identify and Analyze Risk This involves the identification of the risks and evaluate, categorize and also prioritize the risks (URGENT, KIV) SG 3: Mitigate Risks This involves the development and implementation of risk mitigation plan. Taking Developing portal in web-based application using JAVA technology as an example; before developing a portal, it is necessary to identify all risks in the project. This involves SG1. The possible risks are:1) Staffs /Developers are not proficient or skillful to develop the portal. The category is HIGH. 2) Development machine needs to be purchased. The category is HIGH. 3) Developer/Software team is not adequate. The category is HIGH. After defining all risks, then the next step is to identify and analyze the risks (SG2). All the risks listed have to be prioritized based on the urgency. The risk which has HIGH category needs more urgent action that can be categorized as URGENT whereas the less important risk could be categorized as KIV. Next, all the risks should have a mitigation plan on how to handle them. DATA AND METHODOLOGY A survey has been designed to investigate CMMI implementation in Malaysia. A survey consists of the following section:1. Drivers for using CMMI 2. Usefulness of CMMI implementation 3. Benefits 4. Problems 5. Continues improvement

In this survey, our respondents use CMMI as the quality model in their organizations. The respondents are also in different capability models. 30 respondents from several software industries participated in the study. 75% of the respondents are working in companies who have been using CMMI as software standards for at least 2 years. Almost half (44.8%) of the respondents’ companies have 2 years of experience with CMMI. Four companies (about 14%) have used CMMI for three years. Respondents participating in the study are mainly software-related executives, such as are software engineers (nearly 36%), software developer (10.7%), and software configuration manager (10.7%). Other respondents are senior managers (14.3%), researchers (16.7%) and senior engineers (7.2%). Nearly majority (65.5%) of the respondents said that they do not use other software standards beside CMMI. The other one-third of the respondents confirmed that their companies use other software standards beside CMMI, which popularly include six sigma, ISO 27001 and PCMM. Reasons for using or choosing CMMI are as listed in Table 3. The study finds that the common reasons for choosing CMMI as the software standard are related to the good track record or image of CMMI as a software standard. 42%. Besides these, respondents stated the budget allocation, global nature of the companies and software process improvement

Table 2: List of Selection on choice Popular Reasons for choosing CMMI 1. Top management’s instruction/ decision 2. Best practice 3. Well known and recognized standards

Frequency 6 6 5

Percentage 20.7 20.7 17.2

Respondents were asked whether CMMI is helpful in helping their organizations to meet business needs and also solve their problems. Table shows the respondents’ responses towards the question. As reported, almost all respondents (~98%) are satisfied with the usefulness of the software. Nearly 60% said that CMMI is somewhat helpful, whereas 30.8% said that the software is very helpful. Table 3: Helpfulness of CMMI

Not very helpful Somewhat helpful Very helpful Not sure Not good for environment

Frequency 1 15 8 1 1

Percentage 3.8 57.7 30.8 3.8 3.8

In Malaysia, the use of CMMI as a software standard in software industries is not yet extensive. Respondents of the study who are currently using CMMI in their companies were asked to state the problems they face in CMMI implementation. The most common problem faced by the respondents is time consumption of the software (50%), too much documentation and too many processes to follow, and the initial rejections by the employees that usually happen when new systems or new initiatives take place. In fact, the latter problems, finally contribute to the time consumption, project delay in the implementation of CMMI in software industries. Besides, the needs for training and gaining knowledge and know-how among users must be seriously looked into and fulfilled to facilitate the CMMI implementations. Thus, in order to speed up the use of CMMI as a software standard in software industries, respondents are asked about the areas of improvement. Table 4 lists areas of improvement as suggested by the respondents. Table 4: Improvement to enhance CMMI implementation No. 1. 2. 3. 4. 5. 6.

Suggestions for Improvement Provide training, case studies, awareness program and exposure to employees Model simplification Create research culture among employees Provide consultations Lower software price Translation to Bahasa Melayu

CONCLUSION From the discussions, it can be concluded that that software quality standards have their own advantages. Many factors need to be considered in choosing the best standard for the organization. All of the factors mentioned above must be in place for the organization intends to implement CMMI in their organization. This is to ensure that the top management is aware of the organization focus and direction otherwise it is hard and difficult to make it CMMI reality. Also, the whole organization must ready to accept new changes in the organization compared to the old technique which already apply in the organization before. For companies who want to ensure that developed products are successfully delivered and with enough budgets, they surely will not regret from investing this software quality model. The main important thing is the standard framework for development standard and guidelines. Securing these issues, the product would be more stable and robust with small bugs which could be waived and tolerated by the user.

ACKNOWLEDGEMENT We would like to thank the anonymous reviewers for their valuable comments on an earlier version of the paper.

REFERENCES [1] SEI (2007) Capability Maturity Model Integration (CMMI) Version 1.2 Overview. http://www.sei.cmu.edu/cmmi/adoption/pdf/cmmi-overview07. pdf [2] SEI: Process Maturity Profile of the Software Community, Aug (2004)

Nur Razia Mohd Suradi* Faculty of Industrial Information Technology Bestari Jaya Campus University Industri Selangor 45600 Bestari Jaya Malaysia Hassan Mohamed University Industri Selangor Faculty of Industrial Information Technology Bestari Jaya Campus 45600 Bestari Jaya Malaysia

*Corresponding author; email: [email protected], [email protected]