An assessment of the CMM Implementation at CIS - Sy, Susan A. (University of the Philippines Diliman, Quezon City Technology Management Center, 2009)
The concern for quality has become an international movement, and a very popular way to improve quality is to improve the software process. Software Process Improvement (SPI) is thus defined as : the application of technology and disciplines to improve software development and maintenance processes. This project aimed to conduct an assessment on the effectiveness of the Capability Maturity Model (CMM) implementation at Company XYZ. It provided a reality check with respect to the effects of the implementation on the business performance and organizational behavior of the Company. Also, the compliance and degree of assimilation, acceptance and process fidelity have been examined. Specifically, this project aimed to identify the major issues evolved in implementing the CMM Level 3 for the SPI movement, and then recommendations are to be proposed, and lessons learned are also cited. The scope of this study included only the employees of the Company's Solution Center, the department that is responsible for delivering software projects; these employees are all technically skilled personnel who are knowledgeable in the software developmental process. For the methods of research, the proponent used Internet and library research in order to obtain the relevant information needed for the project. Interviews and surveys were conducted among the proponent's colleagues for her to avail of the first hand information as guide in achieving the project objectives. Started as a spin-off company from the Electronic Data Processing (EDP) department of Company ABC last 1974, Company XYZ has eventually established its place in the local Information Technology (IT) market, and has been started to venture into the International IT market. The Company, under the directive of its new leader, had set its eye at the international market, and it is counting on the accreditation of CMM Level 3 as another credential for it to acquire the approval of international prospective clients. And thus the Company had launched a Software Process Improvement (SPI) movement, using the CMM as its process model framework. CMM is a common-sense application of the process management and quality improvement concepts to software development and maintenance. It is an IT community-developed guide for evolving towards a culture of software engineering excellence; a model for organizational improvement; and the underlying structure for reliable and consistent software process assessments and software capability evaluations. Moreover, CMM has emerged as the quality standard in the software services arena, it is often used by the CIOs as a mechanism to rank and rate service providers. This process model that was created and maintained by the Software Engineering Institute is a project in response to the United States Air Force's frustration with its software buying process in the 80's. Company XYZ attained SW-CMM (Capability Maturity Model for Software) Level 3 rating from an authorized SEI lead appraiser, making it the first Filipino-owned IT Company to earn this distinctive recognition. This achievement re-emphasizes the Company's continuous commitment to product quality and customer service. In preparation for the CMM accreditation, Company XYZ adopted a set of guidelines by following the IDEAL framework in defining the steps necessary to establish a continuous improvement program based on the CMM : 1. Set up a process improvement team, 2. Model the existing process. 3. Conduct qualitative process. 4. Define and document an action plan. 5. Set up a measurement program. 6. Perform a pilot project. 7. Change the process and the organization. In 2003, the organization familiarized itself with a software process standard named SW-CMM. There was an assumption that this specialized process model would provide a clearer direction for the improvement of the software process. The SW-CMM was chosen due to some considerations : 1. SW-CMM provides a road map for process improvement. 2. SW-CMM is an accepted industry standard. 3. Management was most attracted by the general project and quality management practices. 4. SW-CMM is based on actual experience and reflects the best practices. 5. Numerous success stories of how the SW-CMM can improve productivity and time to market, and decrease product defects. The decision was made to start a SPI effort to achieve SW-CMM Level 3 compliance. The results of this effort are presented in this paper. Here are presented the main issues and problems encountered in the improvement efforts : 1. Organizational Scope. Because the initiative is not carried out organization-wide, the project managers don't feel assured, that the decisions made, and procedures created, especially when they somehow involve other organizational units (for example, relations with the Sales and Marketing Department), will be supported. This way they are less motivated to change.
2. Organizational Structure. While the organizational structure at the company level is well defined, the organizational structure inside the department is flat. The situation is rather typical : in small projects, teams usually have a flat structure, resulting in developers being assigned several roles due to scarce resources. This contrasts with the team structure and positions suggested by the SW-CMM practices and make the implementation of some practices difficult. 3. Human Factor. One of the highest priority tasks is to motivate the project managers to the SPI. They have to be convinced that it will be useful and they will eventually see benefits in their day to day activities of project management. For now, they are only convinced that it "needs to be done", because the management needs it to be done. And they are trying to achieve that changing as little as possible. 4. Lack of Resources. Employees are often expected to be involved in all aspects of the software engineering process; therefore they expect to influence decisions that affect the way they work. As already mentioned, the project managers are the key persons that must be involved in the SPI effort. On the other hand they are extremely occupied in their own projects, and don't have much that much attention to give to the SPI. 5. Lack of Knowledge. One of the biggest difficulties working on the software process is to ensure common understanding of various concepts and practices. They also perceive the model as a restriction that has to be followed to the letter, and don't see the ways to do it. This leads to frustration and resistance. Below are the lessons learned that arrived based on the study : 1. Senior mangement's commitment is the most essential element in the success or failure of software process improvement. Organizations must obtain commitment from senior management before starting any improvement activities. Organizations must take the time to work out a detailed plan with clearly defined goals and objectives to avoid false starts, unsustainable progress and unclear expectation of the results. 2. Maturity Levels are meaningless if they cannot be explained in terms of business objectives. Maturity levels are milestones on the improvement journey and must never be intended as the goal. If process improvement is not directly aligned with business goals and objectives, it has no value to management and should not be allowed to continue. 3. Process improvement requires the most experienced and skilled people in the organization. SEPG members need to be communicators and motivators; they must have the skills and experience to do their job successfully. SEPG members must be selected from projects and rotate in and out of process improvement activities for experience. SEPG is a challenging job that requires 'Change Agent' skills and should never be treated as dead-end jobs. 4. Organizational standard software processes are established to ensure project consistency, improve product quality, avoid unnecessary project costs and reduce risks. Established organizational standard processes do not prevent "creativity" since engineers can tailor them to fit the project as appropriate. Identify project "unique standards" as additional to (not replacement for) the organizational standard software processes. As for the conclusion, so far the organization has not succeeded in one of the main objectives of the SPI-to stress quality, not CMM compliance. The software engineers of the Solutions Center see "Achieving SW-CMM level 3" as their goal, not the process improvement. While for them it makes it easier to justify their wish no to change anything, however for the SPI it raises risks for useless solutions, made to "satisfy the requirements". To succeed with software process improvement, focus on meeting organizational and company objectives with the help of improved software processes. Do not simply try to conform to the expectations of an established framework like the CMM. It is not enough to simply create documented procedures to satisfy the letter of some improvement framework; an organization must also satisfy the spirit of the framework by actually following those procedures in the daily project work.
In partial fulfillment of the requirements in TM 299.2
Thesis
Keywords: Computer software -- Quality control; CMM Implementation