Professional Documents
Culture Documents
Proceedings of the First International Research Workshop for Process Improvement in Small Settings, 2005
CMU/SEI-2006-SR-001
January 2006
3.2
Author
Hanna Oktaba
Abstract
The high cost of SW-CMM and CMMI adoption in small enterprises and the need for a national standard were the basic reasons to develop a new software process model for the Mexican software industry. The model, which is in Spanish, is called Modelo de Procesos para la Industria de Software (MoProSoft). This model builds on the well-known practices of SW-CMM, ISO 9000:2000, PMBoK and others, and offers a new process structure, some new process documentation elements, a more precise process relationship, and an explicit process improvement mechanism. The model is complemented with the process assessment method EvalProSoft, which is based on the recommendations of ISO IEC 15504 Part 2. The process model and the assessment method were applied to four small enterprises that had a typical Mexican software industry company profile. The results of those trials are presented in this paper.
Introduction
In 2002, the Mexican government started a program to promote the software industry. Of the IT companies in Mexico 92% are small and medium-sized (with less than 100 people) [Industria Mexicana de Software 05]. The average process capability level of the software development companies is 0.9 (in 0 to 5 ISO/IEC 15504 [ISO/IEC 03] scale) [Estudio del nivel 05]. To increase competitiveness the industry needs to adopt a massive software process improvement program, but their resources, capital, and trained people are limited. Providing low cost software process improvement mechanisms is a government strategy for reaching this goal. The selection of the software process reference model and the assessment method, accessible by local industry, was the first problem to resolve. The government and the industry defined the selection criteria (see the section Evaluation of Selected Standards and Reference Models) which were applied to evaluate the suitability of the most popular standards and reference models: SW-CMM [Paulk 95], CMMI [Chrissis 03], ISO/IEC 12207 [ISO/IEC 95], ISO 9000:2000 [ISO 00], ISO/IEC 15504. The conclusion of this analysis was: None of those models fulfills all the criteria. The section Evaluation of Selected Standards and Reference Models contains the results of the model evaluation. As a consequence, the Mexican government decided to develop the national standard of MoProSoft software process reference model [MoProSoft 03] and the EvalProSoft process assessment method [EvalProSoft 04]. The basic requirements for their definition were
CMU/SEI-2006-SR-001 93
meeting the criteria C1-C5 (defined in the next section of this paper) and conforming to the ISO/IEC 15504 Part 2.
The ISO 9000:2000 is not specific for software development organizations (C4) and it is not defined as a set of processes (C5). On the other hand, examples exist of its being adopted by Mexican SME at reasonable costs (C1, C2) and it is already a national standard (C3). SW-CMM or CMMI models fulfill the C1 criteria because they apply to organizations of any size, independent of the organizations maturity level starting point. Also they are specific for software development entities (C4) and defined as a set of (key) process areas (C5). Nevertheless, the cost of its adoption and assessments is one of its drawbacks (C2). Finally, due to the Mexican law, those models cannot be accepted as national standards (C3). The problem with ISO/IEC 12207 and ISO/IEC 15504 is that both have suffered significant modifications during the last three years. In particular, ISO/IEC 15504 Part 5: A Process Assessment Model Sample has not yet been delivered. There are few experiences of its adoption and assessment [El Emam 97], so its suitability for SME (C1) and its adoption costs (C2) are unknown. Both could be national standards (C3) and are specific for software
94 CMU/SEI-2006-SR-001
development organizations (C4). ISO/IEC 12207 is defined as a set of processes (C5), but in the case of ISO/IEC 15504 a specific software process reference model is not addressed (C5). The high cost of adopting SW-CMM and CMMI 6 [Konrad 02] and the need for a national standard were the basic reasons for developing a new software process model. The model, in Spanish, Modelo de Procesos para la Industria de Software (MoProSoft), summarizes the well-known practices of SW-CMM, ISO9000:2000, PMBoK and others, offering a new process structure, some new process documentation elements, a more precise process relationship, and explicit process improvement mechanisms. Multiple sections of this paper briefly describe those characteristics of MoProSoft. The Process Assessment section introduces a very short description of the EvalProSoft process assessment method, based on the recommendations of ISO/IEC 15504 Part 2, and the Trial Experience section summarizes the results of the MoProSoft and EvalProSoft tests on four small enterprises with a typical profile of the Mexican software industry. Finally, the Conclusions and Further Work section presents some conclusions about the use of MoProSoft and EvalProSoft and plans for future work.
Process Structure
To define the structure of the process model, first we analyzed the structure of the software development enterprise. Even the micro-enterprise (having less than 10 people) has a top management group that makes decisions concerning the direction of the business. Also, it has a middle management group that is responsible for project and resource procurement and control. Finally, there exists an operations group that develops projects using assigned resources. The members of those groups acknowledge their responsibilities through their assigned roles. Roles have vertical authority alignment and horizontal collaboration relationships between them. Based on those observations, we decided to group our processes into three categories: Top Management, Management, and Operations. The purpose of this categorization is to provide specialized processes for each functional group. Figure 14 presents the MoProSoft category and process structure in the form of a Unified Modeling Language (UML) package diagram.
From the SEI Report on the May 2002 CMMI Workshop (CMU/SEI-2002-SR-005). This report was only made available to workshop participants.
95
CMU/SEI-2006-SR-001
Figure 14: Process Categories The Top Management category (DIR) includes practices related to business management. It provides the directions for the processes of the Management category, and receives reports from them. This category includes the Business Management process. The Management category (MAN) includes process, project, and resource management practices, which are in line with the business goals of the Top Management category. The MAN category provides the elements for the performance of the Operations category processes, receives and evaluates the information generated by those processes, and informs the Top Management category of the results. Process Management, Project Management, and Resource Management are the processes that comprise the MAN category. The Resource Management process includes three sub-processes: Human Resources and Work Environment, Goods, Services and Infrastructure and Knowledge of the Organization. The Operations category (OPE) addresses the practices of software development and maintenance projects. This category performs the activities using the elements provided by the Management category, and delivers the reports and the generated software products. The OPE category includes the Administration of Specific Project process and the Software Development and Maintenance process.
96
CMU/SEI-2006-SR-001
Process Relationship
The relationship between the processes is based on the exchange of products and the participation of roles. Each output product generated by the process is explicitly identified as the input product in one or more processes. The internal products are consumed by the same process that has generated them. The process relationship based on role participation means that some roles of one process participate in the activities of other processes. For example, the role of Responsible for the Business Management participates in the validation of the Process Plan activity of the Process Management process. This participation is defined in the description of the process activity.
Process Improvement
The process improvement is explicitly included in the model by means of the Process Management process. The purpose of this process is to establish the organization processes based on the Required Processes identified in the Strategic Plan, as well as to define, plan, and implement the corresponding improvement activities. The Strategic Plan is developed by the Business Management process which assures that the process improvement program is in line with the organization business goals. Each process has defined goal indicators and sets up the measurements practices for them. Periodic results of these measurements and suggested improvements for the process are reported to the Process Management process. Based on the reports of all the processes, the
CMU/SEI-2006-SR-001 97
quantitative and qualitative process performance report is elaborated and delivered to the Business Management process.
Process Assessment
The EvalProSoft process assessment method, based on the recommendations of ISO/IEC 15504 Part 2, was developed. The process reference model for the assessment is MoProSoft. It allows for the capacity level of each process to be evaluated. Additionally, we defined the organizations maturity level in terms of the maximum capacity level achieved by all processes.
Trial Experience
In 2004 we have run four tests on small enterprises with a typical profile of the Mexican software industry. The purpose of the tests was to evaluate the ease and usefulness of MoProSoft as a software process model for small companies and the cost of the EvalProSoft assessment method. We conducted the initial assessments to establish the base line capabilities of the enterprise processes. The result was classicbetween 0 and 1. During the next 6 months our consultants coached the companies on MoProSoft tailoring and adoption. Finally, we applied the second assessment to each company. All enterprises achieved a 1.08 average increase of the capacity level of all their processes. Table 10 contains the average capacity level increase by process category. Table 10: Capacity Level Increase by Category Category DIR GES OPE Global Increase 1.00 1.20 0.75 1.08
Table 11 shows the number of employees, total improvement effort in hours and effort per person for each company. The last column includes the average capacity improvement per process. It is interesting to observe the relationship between the effort per person and the average process improvement. The C company has invested the largest number of hours per person and achieved the greatest increment in its process improvement. The average number of employees was 18 and the average effort per person was 21.28 hours during six months.
98
CMU/SEI-2006-SR-001
Table 11: Effort and Improvement Data by Company Company Employees Total effort in hours 479 199 628 221 383 Effort per person Average improvement 1.00 1.00 1.56 0.78 1.08
A B C D Average
17 8 17 29 18
Acknowledgements
I would like to acknowledge the contributions of Claudia Alquicira Esquivel, Anglica Su Ramos, Gloria Quintanilla Osorio, Mara Ruvalcaba Lpez, Francisco Lpez Lira Hinojo, Maria Julia Orozco, Alfonso Martnez Martnez, Maria Elena Rivera Lpez, Yolanda Fernndez Ordoez, Miguel ngel Flores Lemus, Carlos Prez Escobar, Jorge Palacios Elizalde, Cecilia Montero Meja, and Alfredo Calvo to the MoProSoft and EvalProsoft definition. Also, I want to extend very grateful thanks to Ana Isabel Vzquez Urbina and Claudia Gutirrez for their excellent management of the trial project, and to the SGA, ARTEC, MAGNABYTE and E-Genium companies for their enthusiasm and dedication during the experiment. Finally, I would like to thank Mexicos Secretary of the Economy for the confidence in and the support for this project.
CMU/SEI-2006-SR-001
99
References
[Chrissis 03]
Chrissis, Mary Beth; Konrad, Mike; & Shrum, Sandy. CMMI: Guidelines for Process Integration and Product Improvement. Boston, MA: Addison-Wesley, 2003. http://www.sei.cmu.edu/cmmi/publications/cmmi-book.html El Emam, Khaled & Briand, Lionel. Costs and Benefits of Software Process Improvement. International Software Engineering Network Technical Report 97, 12 (1997). Estudio del nivel de madurez y capacidad de procesos de la industria de tecnologas de informacin. http://www.software.net.mx (2004). EvalProSoft Process Assessment Method. Internal Report, 2004. Industria Mexicana de Software. Estudio sobre la industria de software. http://www.software.net.mx (2004). ISO 9000:2000 Quality Management Systems Requirements. 2000. ISO/IEC 15504. Software Process Assessment, part 2. http://isospice.com/standard/tr15504.htm (2003). ISO/IEC 12207/IEC 12207:1995 Information Technology Software Life Cycle Processes. Amd.1, 2002. MoProSoft v. 1.1. http://www.software.net.mx (2004). Paulk Mark C. et al. The Capability Maturity Model Guidelines for Improving the Software Process. Reading, MA: Addison-Wesley, 1995.
[EvalProSoft 04]
[ISO/IEC 03]
[ISO/IEC 95]
Biography
Hanna Oktaba Facultad de Ciencias, Universidad Nacional Autnoma de Mxico (UNAM) ho@fciencias.unam.mx Dr. Hanna Oktaba received a PhD in computer science from the University of Warsaw, Poland, in 1982. Since 1983, she has been a professor of Computer Science at the Universidad Nacional Autnoma de Mxico (UNAM). Her area of interests include software engineering, object-oriented technology, and software process models. She was a member of the group that founded the Mexican Society of Quality for Software Engineering (Asociacin Mexicana para la Calidad en Ingeniera de Software, AMCIS). Currently, she is vice president of this society.
100
CMU/SEI-2006-SR-001
Since 2002, she has been in charge of the MoProSoft and EvalProSoft projects for the Mexican government program PROSOFT. MoProSoft is a software process model for micro and small software development organizations, and EvalProSoft is a process assessment method based on ISO/IEC 15504-2. In August 2005, the model and the method were accepted as the Mexican national standards for the software industry.
CMU/SEI-2006-SR-001
101