You are on page 1of 10

Pittsburgh, PA 15213-3890

Proceedings of the First International Research Workshop for Process Improvement in Small Settings, 2005
CMU/SEI-2006-SR-001

Suzanne Garcia Caroline Graettinger Keith Kost

January 2006

Software Engineering Process Management

Unlimited distribution subject to the copyright.

3.2

MoProSoft: A Software Process Model for Small Enterprises

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.

Evaluation of Selected Standards and Reference Models


The suitability criteria for the software process reference model and assessment method for the Mexican industry were defined as follows: C1. Proper for small and medium-sized enterprises (SME) with low maturity levels. C2. Not expensive to adopt and assess. C3. Permissible as a national standard. C4. Specific for software development and maintenance organizations. C5. Defined as a set of processes based on internationally recognized practices. Those criteria were applied to evaluate the suitability of the selected standards and models. Table 9 summarizes the evaluation results. A Yes/No value means that the standard or model fulfills/does not fulfill the criteria. The question mark (?) means that there is no evidence for the decision being made. Table 9: Model ISO 9000: 2000 CMM /CMMI ISO/IEC 12207 ISO/IEC 15504 Model Comparison C1 Yes Yes ? ? C2 Yes No ? ? C3 Yes No Yes Yes C4 No Yes Yes Yes C5 No Yes Yes No

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 Documentation Pattern


The process pattern is a framework of elements needed to document a process. It contains three sections: General Process Definition, Practices, and Tailoring Guidelines. General Process Definition includes: process name, category, purpose, abstract of process activities, goals, goals indicators, quantitative objectives for goals, roles of responsibility and authority, sub-processes (if any), related processes, inputs, outputs, internal products, and bibliographical references. The Practices section (a) identifies the roles involved in the process and the training required, (b) describes details of the activities associating them to the process goals and to the roles involved, (c) includes the UML activity diagram, (d) describes the products verifications and validations required, (e) lists the products that should be incorporated into the organization knowledge base, (f) identifies the infrastructure resources necessary to support the activities, (g) exemplifies the process measurements for each goal indicator, as well as (i) recommended training practices, (j) exceptional situation management, and (k) the use of lessons learned. Tailoring Guidelines suggest possible process modifications that should not affect the achievement of the process goals.

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

28.18 24.88 36.94 7.62 21.28

Conclusions and Future Work


The tests of MoProSoft and EvalProSoft confirmed that both fulfill the C1-C5 criteria mentioned in section 2. Due to the results of this experiment the Secretary of the Economy decided to formally make MoProSoft and EvalProSoft a Mexican standard. The future work is to monitor the test companies so as to observe their process capability improvement and its relationship to the capability improvement of its internal Process Management process. Another direction is to increase the number of companies using MoProSoft, and compare their results with the first trial group.

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.

[El Emam 97]

[Estudio del nivel 05]

[EvalProSoft 04]

[Industria Mexicana de Software 04] [ISO 00]

[ISO/IEC 03]

[ISO/IEC 95]

[MoProSoft 04] [Paulk 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

You might also like