Servicios Personalizados
Revista
Articulo
Links relacionados
Compartir
CLEI Electronic Journal
versión On-line ISSN 0717-5000
CLEIej vol.16 no.1 Montevideo abr. 2013
From MoProSoft Level 2 to ISO/IEC 29110 Basic Profile: Bridging the Gap
Miguel E. Morales-Trujillo
Universidad Nacional Autónoma de México,
Posgrado en Ciencia e Ingeniería de la Computación,
Ciudad Universitaria, México, 04510
and
Hanna Oktaba
Universidad Nacional Autónoma de México,
Posgrado en Ciencia e Ingeniería de la Computación,
Ciudad Universitaria, México, 04510
and
Teresa Ventura
Universidad Nacional Autónoma de México,
Dirección General de Cómputo y de Tecnologías de Información y Comunicación,
Ciudad Universitaria, México, 04510
and
Rodrigo Torres
INNEVO,
Servicios de Consultoría de Calidad,
Ciudad de México, México, 02300
Abstract
The spread of the interest and the need for process reference models, specifically for small and medium software development organizations, has been a catalyst for generating ISO/IEC 29110 Software Engineering — Lifecycle profiles for Very Small Entities. Based on the Mexican standard NMX-I-059-NYCE-2005, better known as MoProSoft, ISO/IEC 29110 is the first international standard specifically designed for very small entities.
Thanks to the COMPETISOFT Project and MoProSoft, the background knowledge and models adoption experience have been introduced in Latin America. In Mexico more than 300 organizations have been evaluated in NMX-I-059-NYCE-2005, in 2009 MoProSoft became a national standard in Peru, while COMPETISOFT included the experience and viewpoints of 13 countries and 23 research groups of the region. As a whole, it gives small software development organizations in the region an advantage in adopting an international standard.
This paper clarifies the gap between ISO/IEC 29110 and MoProSoft level 2. As a result of a theoretical and practical review both standards have been mapped defining the coverage level between processes, considering the defined tasks, work products and roles. Several recommendations have been suggested to bridge the gap between these standards. Finally, the effort needed to adopt the Basic Profile of the new international standard starting from the Mexican standard has been estimated. The results have been extended to also consider organizations that adopted COMPETISOFT as their process reference model.
Spanish abstract
La propagación del interés y la necesidad de modelos de referencia de procesos, específicamente dirigidos para las pequeñas y medianas organizaciones desarrolladoras de software, fueron catalizadores para la generación de la norma ISO/IEC 29110 Ingeniería del Software — Perfiles de ciclo de vida para pequeñas organizaciones. Basada en la norma mexicana NMX-I-059-NYCE-2005, mejor conocida como MoProSoft, ISO/IEC 29110 es el primer estándar internacional diseñado específicamente para organizaciones pequeñas.
Gracias al Proyecto COMPETISOFT y MoProSoft, en América Latina se adquirieron el conocimiento previo y la experiencia en adopción de modelos. En México, más de 300 organizaciones han sido evaluadas bajo la NMX-I-059-NYCE-2005; en 2009, en Perú, MoProSoft se convirtió en estándar nacional. Mientras que COMPETISOFT incluyó la experiencia y puntos de vista de 13 países y 23 grupos de investigación de la región. En conjunto, esto da a las pequeñas organizaciones de desarrollo de software de la región una importante ventaja para la adopción de la norma internacional.
Este artículo clarifica la brecha entre la norma ISO/IEC 29110 y MoProSoft nivel 2. Como resultado de la revisión teórica y práctica, ambas normas fueron mapeadas definiendo el nivel de cobertura entre sus procesos, para este mapeo se tomaron en cuenta las tareas, productos de trabajo y roles definidos en ambas normas. Diversas recomendaciones se sugieren para reducir la brecha entre ellas. Por último, se presenta una estimación del esfuerzo necesario para adoptar el Perfil Básico de la nueva norma internacional a partir de la norma mexicana. Los resultados obtenidos de este mapeo se ampliaron para considerar también a aquellas organizaciones que adoptaron COMPETISOFT como modelo de referencia de procesos y quisieran adoptar el Perfil Básico.
Keywords: ISO/IEC 29110, MoProSoft, COMPETISOFT, gap, coverage, adoption, very small entities.
Spanish keywords: ISO/IEC 29110, MoProSoft, COMPETISOFT, brecha, cobertura, adopción, pequeñas organizaciones.
Received: 9/7/2012 Revised: 13/12/2012 Accepted: 29/12/2012
1 Introduction
The increase of the processes capabilities of a software development organization is regularly guided by a process reference model, for that reason the models should be attached to the environment and maturity of the organization.
The need for process reference models, specifically those designed for small and medium organizations, aroused the creation of standards that would fit the particular environment and accomplish objectives of those organizations.
MoProSoft (1), a process reference model developed in Mexico, is one of the first widely known efforts, and then comes its offspring COMPETISOFT (2), generated by the Latin American organizations and research groups, thus bringing to the region a culture of models adoption and increasing competitiveness.
Those attempts were taken into account by Working Group 24 (WG 24) of ISO/IEC (3), who focused on creating an international standard for very small entities ISO/IEC 29110 (4), based on the experience acquired from developing MoProSoft.
Considering the common origins, the similarity of the target audience and objectives that pursue both standards, a mapping between the ISO/IEC 29110 Basic Profile and MoProSoft was carried out and presented in this work. One of our main concerns was the question: What is needed to be done or improved in order to achieve ISO/IEC 29110 Basic Profile if the organization has already adopted MoProSoft level 2?
Finding a clear answer to this question would be a step forward in motivating MoProSoft evaluated organizations to also obtain international recognition adopting ISO/IEC 29110. This work was done by the National Autonomous University of Mexico (UNAM) (5) specialists in software process together with consultants from INNEVO (6) who have experience in the adoption of the Mexican standard and an expert involved in the development of both standards.
This paper is organized as follows: in part 2 we present the Mexican standard for software industry MoProSoft, part 3 shows the origins and structure of ISO/IEC 29110. Later, in part 4 the mapping between standards is presented; part 5 concentrates and analyses the coverage between tasks, work products and roles. Part 6 presents our answer to the initial question making explicit the gap and providing recommendations to bridge it.
In the end, in part 7 an estimated effort, calculated in hours, to fill out the gap is offered and compared against migrating or upgrading to other standards or models. Finally we conclude.
2 MoProSoft
In 2002 the Ministry of Economy in Mexico (7), launched a call for proposals to create a process reference model that would accumulate up-to-date sets of best practices in the industry of software development of the country.
The proposal was developed together with the UNAM, the Mexican Association for the Quality in Software Engineering (AMCIS) (8) and the Ministry of Economy, under the coordination of Hanna Oktaba, a coauthor of this paper.
At the beginning of 2004 the process reference (MoProSoft) and evaluation (EvalProSoft) (9) models were defined and by mid 2004 the controlled testing of both models started.
The controlled testing objective was to demonstrate the feasibility of increasing process capability levels of a software development organization in a short period of time. The group of study was composed of four organizations, each made up of about 18 members.
The average starting process capability level of the organizations was 0.13 and at the end of the test resulted in 1.19, achieving these results in eight months. By the end of the testing period, each organization got to level 1 of MoProSoft, similar to maturity level 2 CMMI (10).
By the third quarter of 2005 MoProSoft was turned into the Mexican standard NMX-I-059-NYCE-2005 – Information Technology – Software – Development and Maintenance Process Reference Model and Evaluation Model (11).
. This Mexican standard is composed of four parts:
- Part 01 Concepts and products definition
- Part 02 Process requirements (MoProSoft)
- Part 03 Process implementation guidelines
- Part 04 Evaluation principles (EvalProSoft)
The normalization work was strictly coordinated by the association of Electronics Standardization and Certification (NYCE) (12).
The MoProSoft process model consists of three layers or categories:
- High Management: contains the Business Management process.
- Management: composed of the Process Management, Projects Management and Resources Management processes.
- Operation: includes the Specific Project Management process (SPM), Software Development and Maintenance process (SDM).
The three-layer approach reflects the structure of majority of software development organizations in Mexico. Consequently by the end of 2010 more than 300 organizations in Mexico were certified under NMX-I-059-NYCE-2005.
This work targets mainly the Operation layer, which contains core processes, due to their critical importance for software development organizations.
2.1 MoProSoft in Latin America
In Latin America the Mexican standard gathered momentum when the Ibero-American Program for Science, Technology and Development (CYTED) (13), granted the project COMPETISOFT: Process improvement to enhance the competitiveness of small and medium organizations in Latin America (2) (14).
COMPETISOFT defined three objectives: (i) To create a common methodological framework in Latin America; (ii) To spread the process culture into the researchers, academics and students communities and (iii) To influence in the standardization and certification entities, in order to establish a common and mutually recognized mechanism (2).
Initially MoProSoft provided a base for COMPETISOFT which turns out expanded and enhanced. The main improvements were the incorporation of the Software Maintenance agile process (15) to the Operation layer, along with the inclusion of the experience and viewpoints of 13 countries and 23 research groups. The main differences between COMPETISOFT and MoProSoft are:
- MoProSoft considers the development and maintenance software processes as one, Software Development and Maintenance, while COMPETISOFT considers two processes: Software Development and Software Maintenance.
- MoProSoft considers within one phase the activities of Analysis and Design, while COMPETISOFT considers one phase for each one of these activities.
- MoProSoft considers within one phase the activities of Integration and Testing, while COMPETISOFT considers one phase for each one of these activities.
- COMPETISOFT added activity diagrams to each of its Activities in order to facilitate their understanding.
- Naming variations of work products and roles were made without affecting their objectives or responsibilities.
Another effort was made in Peru, where National Institute for the Defense of Competition and Protection of Intellectual Property (INDECOPI) (16) developed a technical standard based on MoProSoft, the Software Engineering: Software Development and Maintenance Process and Evaluation Models NTP 291.100:2009 (17). The Peruvian standard was published in 2009.
2.2 Colored Version
After the publication of the Mexican standard, a colored version of MoProSoft was presented (18). In that version each task and work product is colored according to their capability level, see Table 1, in order to facilitate their understanding and clarify their scope.
The capability levels of the processes are defined according to the Mexican standard NMX-I-15504/02-NYCE-2004 Information Technology – Process Assessment – Part 02: Realization (19), which in its turn is based on the international standard ISO/IEC 15504-2: 2003 Information technology – Process assessment – Part 2: Performing an assessment (20).
Table 1: ISO/IEC 15504-2:2003 capability levels and their corresponding colors
In this work the colored version was used to define the capability level of an organization, in this case we took into account the tasks and work products corresponding to MoProSoft level 2, that is to say, all yellow and blue tasks and work products were considered for the mapping.
3 ISO/IEC 29110
In 2005 the Subcommittee 7 (21) of ISO/IEC Joint Technical Committee 1 decided to start a new project with the objective of creating an international standard addressed to the Software Life Cycle Profiles and Guidelines to be used in Very Small Entities (VSEs), organizations with less than 25 employees.
For that purpose WG 24 was created taking charge of a new project under the coordination of Tanin Uthayanaka from Thailand (21). Having identified problems that affect small organizations, WG24 defined a set of objectives for the group to achieve by implementing the new project of standard, ISO/IEC 29110 Software engineering — Lifecycle profiles for Very Small Entities (VSEs) (4).
The first meeting of WG24 took place in Thailand in 2006, and was attended by the United States, India, Ireland, Belgium, Finland, Luxembourg, Canada, New Zealand, South Korea and Mexico. During the meeting the group made the decision to take the Mexican standard as a basis for their work (22).
The ISO/IEC 29110 standard is composed of five parts arranged into three groups, being this the family of documents:
- Overview
◦ Part 1 Overview
- Profiles
◦ Part 2 Framework and Taxonomy
◦ Part 4 Specifications of VSE Profiles
- Guides
◦ Part 3 Assessment Guide
◦ Part 5 Management and Engineering Guide
Overview presents the main concepts to gain a better understanding and to make use of the documents of the standard.
Profiles are defined with the purpose of concentrating the essentials of the rest of the documents, in order to be tailored to organization’s needs and characteristics.
The Framework and Taxonomy part specifies common elements of each defined profile, while Specifications of VSE Profiles lays down the components and structure for each created profile.
The Guides part defines applying principles to develop an assessment in order to determine the processes capability and maturity of the organization, in Assessment Guide. Also Management and Engineering Guide offers orientation about the use and implementation of each profile.
At the moment, part 5 for Basic profile of the Generic profiles group is published. Other three generic profiles: Entry, specific for startup entities; Intermediate and Advanced are under development. The scope of this work is centered on Basic Profile.
3.1 Basic Profile
Basic Profile was published in May 2011, known as ISO/IEC 29110-5-1-2 (23), where digit 1 means that it is a generic profile, and digit 2 represents a consecutive number. Previous to the Basic Profile comes the Entry Profile therefore getting number 1.
The rationale of Basic Profile is to define a software development and project management guide for a subset of processes and outcomes of ISO/IEC 12207 (24) and products of ISO/IEC 15289 (25), appropriate for characteristics and needs of VSEs (23).
Basic Profile describes a software development of a single application by a single project team with no special risk or situational factors. This kind of project may be carried out to fulfill an external or internal contract (23).
Software Implementation (SI) and Project Management (PM) are the two processes that compose Basic Profile. The reason to include PM is that VSEs’ core business is software development and their financial success depends on project profits (23).
The PM process input is the customer’s Statement of Work, used to create Project Plan. The execution of the SI process is driven by the Project Plan. The PM Project Assessment and Control activities compare project progress against the Project Plan and actions are taken to eliminate deviations or incorporate changes into it. The PM Project Closure activity delivers Software Configuration, produced by SI, and gets the customer’s agreement to formalize the end of the project. A project repository is established to save work products and to control their versions during the project.
The purpose of the PM process is to establish and carry out activities of SI process in an efficient way, which allows fulfilling the project’s objectives within the expected quality, time and costs. The purpose of the SI process is to define a systematic performance of the Analysis, Design, Construction, Integration and Tests activities for new or modified software products according to specific requirements.
4 Mapping ISO/IEC 29110-5-1-2 and MoProSoft
The mapping was made taking into consideration an organization evaluated in MoProSoft level 2 and asking oneself: What is needed to be done or improved in order to achieve ISO/IEC 29110 Basic Profile if the organization has already adopted MoProSoft level 2?
Finding the proper answer will clarify the gap and ease the transition between standards, providing the organization with benefits of international recognition.
Therefore, the tasks and work products of each process of ISO/IEC 29110-5-1-2 were faced against the tasks and work products of the equivalent process in MoProSoft, as shown in Table 2.
Table 2: Equivalence between processes involved in the mapping
For consistency and simplicity reasons, the acronyms used to refer to each task were taken considering notations used in each standard, see Table 3. It is important to note that, according to the table above, it is possible to use the same acronym for both types of tasks in the Mexican standard, since a task from PM is always mapped against a SPM task, and a task from SI, if mapped, will always be against SDM.
Table 3: Equivalence between processes involved in the mapping
Alongside with the task mapping, mapping corresponding to work products was carried out.
4.1 Metrics
The capability ratings defined in ISO/IEC 15504-2:2003 (20) were used to determine the Coverage values essential for this work, see Table 4, with the aim of defining the Coverage level (C). Then a Score was associated to each C value, which in its turn is used to define the Quantitative level (Q).
Table 4: Capability ratings and scores assigned
The C and Q values apply for tasks (CT or QT), work products (CW or QW) and process (CP or QP).
For example, the CT value of the task SI.3.5 is obtained like that:
And the QT value for the same task as follows:
The CW and QW are calculated in the same way.
The QP is calculated by the sum of each of the quantitative levels of the process tasks divided between the total num of the process tasks:
Where T is the set of tasks, and each Ti is a task of the process, for example:
Finally, the CP can be calculated using the QP value and the values of Table 4, then:
Those values are used to clarify the gap between standards, and are presented in the Numerical Results section.
4.2 Coverage Rules
The coverage rules that guided the mapping are based on the interpretation of written texts of each standard, their inputs and outputs as well as general objectives.
Although maps are convenient, they reflect subjective judgment and cannot replace an understanding of the frameworks being mapped (26). The decision of considering all compared tasks as equal is based on the comment pronounced by Software Engineering Institute (27), with respect on mappings between models or standards: Determining the appropriate granularity of maps between models is subjective. We have found that mapping at the level of each item in an enumerated list makes the most sense (26). That is why it is crucial to emphasize that the coverage values obtained after applying those criteria may not match those applied by an accreditation body during an assessment process.
Each of the coverage rules was detailed for Tasks and Work Products.
4.2.1 Tasks
A task from ISO/IEC 29110-5-1-2 is considered totally covered if there exist one or more tasks from MoProSoft that fully accomplish its purpose, an example is shown in Table 5. The first column presents the task to cover; the second column shows the task that covers it; the third one includes Quantitative level and the last one Coverage level. In the example below, the task SI.5.4 of ISO/IEC29110-5-1-2 is totally covered by the task A5.6 of MoProSoft.
Table 5: Example of a totally covered task
A task is considered largely covered if there exist one or more tasks that cover a part of it. The effort needed to fill in the gap is taken into account, based on the recommendation to achieve the totally covered qualification. Table 6 shows a largely covered task. In this example the task PM.1.14 of ISO/IEC29110-5-1-2 is largely covered by the task A1.16 of MoProSoft. The gap between this task and the required by the international standard could be closed if the Recommendation is observed.
Table 6: Example of a largely covered task
A task is considered partially covered if there exists a task that tries to cover it, or if its objective is achieved in a clear way by the execution of the whole process. Table 7 gives an example of a partially covered task. In this case the task SI.3.2 of ISO/IEC29110-5-1-2 is partially covered, the reason is that it results obvious that an understanding of requirements is executed, in some way, by the organization, whether the Mexican standard specifies it or not.
Table 7: Example of a partially covered task
Finally, a task is not achieved if there does not exist a task with the same or similar objective. In this case the task will have to be done entirely on its own, in order to implement the standard. Table 8 shows a not achieved task.
Table 8: Example of a not achieved task
4.2.2 Work Products
A work product is an artifact generated while executing a task or a set of tasks. Both standards include a section that lists each work product and their characteristics. The MoProSoft’s sections are: Inputs, Outputs and Intern Products, while the ISO/IEC29110-5-1-2’s section is: 9. Product description.
For the purpose of this work, these sections were taken as guidelines for the mapping and scope limits. We applied the same rules of coverage defined for the tasks.
4.2.3 Roles
A role is a set of competences, abilities, knowledge and skills required to perform a task in a specific situation. In the end, in order to complete the mapping, the roles required in both standards were analyzed. The MoProSoft section that defines the roles is: Involved Roles and Training, while the ISO/IEC 29110-5-1-2 section is: 8. Roles.
These sections have been used to map the roles between the standards, where the main criteria used is the list of competences required by each standard. It is important to clarify that the mapping of roles cannot be taken into consideration to calculate the Q or the C values, and the purpose of this mapping is informative.
Table 9 shows the mapping between roles. It can be read as follows: the competences of the Project Manager role defined at ISO/IEC 29110-5-1-2 are covered by the Specific Project Manager Responsible and the Project Management Responsible roles of MoProSoft.
Table 9: Mapping between roles
According to the mapping of roles, an organization evaluated level 2 of MoProSoft can take advantage of the roles at their disposal and no new role has to be created to cover the requirements of the ISO/IEC 29110-5-1-2.
5 Numerical Results
This section displays numerical values obtained from tasks and work products mappings. Finding the answer to the initial question What is needed to be done or improved in order to achieve ISO/IEC 29110 Basic Profile if the organization has already adopted MoProSoft level 2? we will use the values Q and C, explained earlier.
5.1 Values Obtained for Quantitative and Coverage Levels of Tasks
ISO/IEC 29110-5-1-2 presents 26 tasks in the PM process, 18 of them are totally covered by MoProSoft, 3 are largely covered and 5 are not achieved. The QP of PM process is 0.77, obtained from:
The SI process has 41 tasks defined, 34 are totally covered by MoProSoft, 2 are largely covered, 5 partially covered and none is not achieved. The QP of SI process is 0.90, detailed as follows:
Table 10: Mapping results between MoProSoft and ISO/IEC 29110-5-1-2
We can conclude that an organization evaluated in MoProSoft level 2 covers 85% of tasks defined in ISO/IEC 29110-5-1-2. It is viable to bridge the gap between both standards, for the sake of total tasks coverage, by following the suggestions given in the section Bridging the Gap.
5.2 Values Obtained for Quantitative and Coverage Levels of Work Products
ISO/IEC29110-5-1-2 defines 22 work products, 20 are totally covered by the work products defined in MoProSoft, one is largely covered and one is not achieved.
The QW value that involves all the work products was calculated as follows:
6 Bridging the Gap
We should note that only tasks and work products qualified less than totally covered will be presented, taking into account all those qualified as largely, partially or not achieved.
6.1 Not Totally Covered Tasks
This section concentrates all the tasks identified as not totally covered by MoProSoft, mentioning those with values L, P or N. Moreover we offer a recommendation for each task to achieve a T value. The PM process tasks are presented in Table 11.
Table 11: Not totally covered tasks of Project Management
In Table 12 we offer recommendations for the tasks corresponding to the SI process.
Table 12: Tasks of Software Implementation not totally covered
6.2 Not Totally Covered Work Products
This section focuses on the ISO/IEC 29110-5-1-2 work products identified as not totally covered by MoProSoft. Table 13 presents the referred work products.
Table 13: Not totally covered work products
After all we can declare that what is needed to cover the international standard starting from MoProSoft level 2, is feasible to achieve in a short period of time and with little amount of effort following the recommendations, thus getting a great return of investment. Based on the results, the following steps are proposed as general migration actions:
1. If the task exists implicitly in the organization process and/or related work products are produced: Make it explicit in the organization process (SI.1.2, SI.3.2, SI.4.2, SI.5.2 and SI.6.2).
2. If the related work products exist but need improvement: Complete or improve what is necessary and make the improvement to the work product explicit as a part of organization process (SI.3.5 and PM.1.8).
3. If the related work products exist and do not need improvement: Include explicitly the needed tasks related to the existing work products as a part of organization process (SI.5.6, PM.1.14 and PM.2.1).
4. If the related work products do not exist: Create the work products and include the needed tasks to the organization process (PM.1.10, PM.1.15, PM.2.5, PM.2.6 and PM.4.2).
7 Needed Effort to Bridge the Gap
Based on the numerical results presented above, approximate time was calculated in order to estimate how long it takes to migrate from the Mexican to the international standard. Also a comparison of needed efforts in case of upgrading to MoProSoft level 3 or migrating to CMMI for Development (CMMI-DEV) (28) level 3 is presented.
Taking part in 43 projects, 27 as leader consultant and 16 as participant, of software process improvement, adopting MoProSoft and CMMI-DEV, have provided the necessary experience and in-practice knowledge for the coauthors of this paper to calculate the estimations and make the comparisons mentioned above.
The estimations presented below is derived from the experience obtained in similar projects, developed in Mexico, varying from 5 to 14 months duration, 198 mean hours per project, organization size from 9 to 75 employees, business oriented to develop software for government, financial resources, sales and customized.
7.1 Duration of the Effort Needed to Bridge the Gap
The accuracy of activity duration estimates can be improved by considering estimation uncertainty and risk. The Three-Point Estimates is a concept originated by the Program Evaluation and Review Technique (PERT) (29). PERT is a statistical tool designed to analyze and represent the tasks involved in a project that uses three estimates to define an approximate range of activity duration.
The three estimates considered are the Most Likely (tM), the Optimistic (tO), based on the analysis of the best-case scenario, and the Pessimistic (tP), based on the analysis of the worst-case scenario. PERT analysis calculates an Expected (tE) activity duration using a weighted average of the three mentioned estimates:
The effort needed to totally cover the 15 tasks, 8 from Project Management and 7 from Software Implementation, was calculated using PERT and based on the experience and in-practice knowledge of two coauthors of this paper. Each not totally covered task recommendation was analyzed and individual estimation in hours was calculated. Table 14 presents the estimated effort duration, calculated in hours, to carry out the PM tasks.
Table 14: Effort duration (in hours) to carry out the not totally covered PM tasks
Table 15 presents the estimated effort duration, calculated in hours, to carry out the SI tasks.
Table 15: Effort duration (in hours) to carry out the not totally covered SI tasks
It is important to mention that the effort duration estimates also include the implementation of the not totally covered work products associated with Project Repository and Project Repository Backup. Consequently Table 16 demonstrates a summary of the values obtained from the calculation of the effort duration, calculated in hours, in order to carry out the not totally covered tasks and work products.
Table 16: Total effort duration (in hours) to carry out the not totally covered tasks
Therefore, based on the calculated estimations, we can conclude that it is viable to bridge the gap between both standards in 46.88 hours. The time to bridge the gap depends on the organization; for example, if the organization decides to invest 10 hours a week, 2 hours per day, the gap can be covered in less than 5 weeks.
7.2 Comparing Effort against other Models and Standards
After answering the initial question about the gap between the Mexican and international standard, and calculating the necessary effort to bridge it, a valid interest of an organization is to make a comparison of migrating to other standards or models. In this work we have considered two alternatives to compare: one is to upgrade to MoProSoft level 3, in a national context; and the other is to migrate to CMMI-DEV 1.3 level 3, in an international context.
In the next subsections a comparison between the results presented in this paper and the two alternatives is presented.
7.2.1 MoProSoft Level 3
The capability level 3 of MoProSoft means that the process is defined and implemented within the organization. In the colored version of MoProSoft the color green is used to define it.
Upgrade to level 3 of MoProSoft implies implementing 6 new tasks and 2 new work products and proving that the organization has been maintaining level 2. The estimated effort to upgrade from level 2 to level 3 of MoProSoft is 206 hours which is four times more than the time effort required to achieve ISO/IEC 29110-5-1-2.
7.2.2 CMMI for Development 1.3 Level 3
CMMI models are collections of best practices that help organizations to improve their processes. These models are developed by product teams with members from industry, government, and the Software Engineering Institute (28). CMMI-DEV provides a comprehensive integrated set of guidelines for products and services development.
Migrating to CMMI-DEV 1.3 level 3 from MoProSoft level 2 implies implementing 35 new subpractices or tasks. The estimated effort time in this case is 358 hour which is seven times more than the effort needed to achieve ISO/IEC 29110-5-1-2.
7.3 Extending the Mapping from COMPETISOFT to ISO/IEC 29110-5-1-2
Considering COMPETISOFT as evolution and amplification of MoProSoft, an analysis was carried out taking a case of an Iberoamerican organization that has adopted COMPETISOFT and would like to migrate to ISO/IEC 29110-5-1-2. The analysis was divided in two steps:
- Step 1: To build a mapping between MoProSoft and COMPETISOFT. For this reason, the tasks and work products of each process of MoProSoft were faced against the tasks and work products of the equivalent process in COMPETISOFT, as shown in Table 17.
Table 17: Equivalence between processes involved in the extended mapping
- Step 2: To analyze the tasks considered by COMPETISOFT but left out by MoProSoft in order to establish if COMPETISOFT achieves a larger coverage level to get to ISO/IEC 29110-5-1-2 than MoProSoft.
Analysis step1completed, Table 18 shows a summary of values obtained from mapping the tasks.
Table 18: Mapping results between COMPETISOFT and MoProSoft
According to the results of the first step, it can be concluded that a COMPETISOFT-adopted organization covers 99% of the Mexican standard tasks. The not totally covered task is A1.13 Generate or update the Development Plan according the Project Plan before each cycle. In consequence, the work product Development Plan is the only one not generated by COMPETISOFT, but required by MoProSoft.
On the other hand, it is important to declare that the mentioned task and work product are not required by ISO/IEC 29110-5-1-2. Thus, the main results presented in this paper can be applied directly to organizations that have already adopted COMPETISOFT.
Later, taking into account that COMPETISOFT is an amplification of MoProSoft, the tasks included in COMPETISOFT but missed by MoProSoft were analyzed against the gap identified in Tables 11 and 12. It turns out that COMPETISOFT added tasks to explicitly create a project repository, to define the version control strategy and the policies for its management in PM process, see Table 19.
Table 19: PM tasks totally covered by COMPETISOFT
Besides, in SI two more tasks become totally covered by COMPETISOFT, see Table 20.
Table 20: SI tasks totally covered by COMPETISOFT
For the reason that COMPETISOFT covers seven tasks, five from PM and two from SI, more than MoProSoft, the coverage level increases from 85% to 93%, as shown in Table 21.
Table 21: Results of mapping between COMPETISOFT and ISO/IEC 29110-5-1-2
Using the retrieved results, Table 22 presents a summary of the values obtained from the calculation of the effort duration, in hours, in order to fulfill the not totally covered tasks starting from COMPETISOFT.
Table 22: Total effort duration (in hours) to fulfill the not totally covered tasks
Therefore, based on the calculated estimations, we can conclude that it is viable to bridge the gap between both COMPETISOFT and ISO/IEC 29110-5-1-2 in 16.73 hours. The time distribution to bridge the gap depends on the organization; for example, if the organization decides to invest 10 hours a week, 2 hours a day, the gap can be covered in less than 2 weeks.
Conclusions and Future Work
This paper describes a mapping between the international standard ISO/IEC 29110-5-1-2 and the Mexican standard NMX-I-059-NYCE-2005, MoProSoft. As a result of the theoretical and practical review done by specialists in software processes, consultants from INNEVO with broad experience in the adoption of the Mexican standard and the expert participation of a close developer of both standards, the gap between standards was clarified and punctual recommendations in order to adopt the international standard starting from MoProSoft level 2 were offered.
The MoProSoft broad scope of influence in Latin America, thanks to COMPETISOFT and NTP 291.100:2009, serves as a strong factor to believe that software development organizations in the region receive a real opportunity to adopt an international standard. Besides, the coverage values obtained from the mapping, 0.77 for PM process and 0.90 for SI process, suggest an attainable objective of reaching not only national, but international recognition as well.
The estimated effort to reach the ISO/IEC 29110-5-1-2 from MoProSoft level 2 is approximately 46.88 hours. Compared with other alternatives, such as upgrading to MoProSoft level 3 or migrating to CMMI-DEV 1.3 level 3, the estimated time investment is four and seven times less respectively.
Finally we conclude that an organization evaluated in MoProSoft level 2 covered 85% of tasks and 94% of work products defined in ISO/IEC 29110-5-1-2, making it possible to acquire an international standard in a short period of time and little effort, 46.88 hours, if the suggested recommendations are followed.
As a parallel result of this paper we can add that an organization using COMPETISOFT covers 93% of tasks defined in ISO/IEC 29110-5-1-2, making it possible to acquire the international standard in 16.73 hours.
As future work to be done, experiments in organizations migrating to ISO/IEC 29110-5-1-2 will be conducted to corroborate the estimations of effort presented in this paper.
Taking into account the influence of MoProSoft and COMPETISOFT in Latin American and the little amount of effort and time needed to bridge the gap, it gives small software development organizations in the region an advantage in adopting ISO/IEC 29110-5-1-2, increasing considerably the impact of the international standard in this geographical area, and making it a promising region for software industry.
Acknowledgements
This work has been possible thanks to MC. Marcela Peñaloza Báez and Fermín Marín Arzate General Directors of DCV-DGTIC-UNAM and INNEVO respectively. Also we would like to thank Nubia Fernández from DCV-DGTIC-UNAM and Mauricio Arreola from INNEVO for their constant participation.
References
(1) H. Oktaba.: MoProSoft: A Software Process Model for Small Enterprises. Proceedings of the First International Research Workshop for Process Improvement in Small Settings. pp. 93-100. Software Engineer Institute, Carnegie Mellon University, 2005
(2) H. Oktaba, M. Piattini, F. García, F. Pino, C. Alquicira, F. Ruiz: Software Process Improvement: The COMPETISOFT Project. IEEE Computer. Vol. 40, N. 10. p: 21-28, 2007
(3) International Organization for Standardization (ISO), http://www.iso.org 03/07/12
(4) Standard ISO/IEC 29110:2011 Software engineering -- Lifecycle profiles for Very Small Entities (VSEs), 2011
(5) National Autonomous University of Mexico (UNAM), http://www.unam.mx 03/07/12
(6) INNEVO, http://www.innevo.com 03/07/12
(7) Ministry of Economy, http://www.economia.gob.mx 03/07/12
(8) Mexican Association for the Quality in Software Engineering (AMCIS), http://www.software.net.mx defunct
(9) NMX-I-059-NYCE-2005 parte 4: Tecnología de la información - Software - Modelos de procesos y evaluación para desarrollo y mantenimiento de software - Parte 4: Directrices para la evaluación, 2005
(10) Terminan pruebas controladas de MoProSoft, Software Gurú, Mayo 2005 http://www.sg.com.mx/content/view/53/99999999 03/07/11
(11) NMX-I-059-NYCE-2005 parte 2: Tecnología de la información - Software - Modelos de procesos y evaluación para desarrollo y mantenimiento de software - Parte 2: Requisitos y procesos, 2005
(12) Electronics Standardization and Certification (NYCE), http://www.nyce.org.mx 03/07/12
(13) Ibero-American Programme for Science, Technology and Development (CYTED), http://www.cyted.org 03/07/12
(14) Oktaba, H., Piattini, M., Pino, F., Orozco, M., Alquicira, C.: COMPETISOFT: Mejora de procesos software para pequeñas y medianas empresas y proyectos. Alfaomega Ra-Ma 2009
(15) F. Pino, J. Triñanes, F. García, M. Piattini: A software maintenance methodology for small organizations: Agile_MANTEMA. Journal of Software: Evolution and Process. Vol. 24, N. 8. p: 851-876, 2012
(16) National Institute for the Defense of Competition and Protection of Intellectual Property (INDECOPI), http://www.indecopi.gob.pe 03/07/12
(17) NTP 291.100-1:2009 Ingeniería de Software: Modelos de procesos y evaluación para desarrollo y mantenimiento de software, 2009
(18) Modelo de Procesos para la Industria de Software: MoProSoft por Niveles de Capacidad de Procesos, Versión 1.3, 2005
(19) NMX-I-15504-2-NYCE-2010 parte 2: Tecnología de la información - Evaluación de los procesos- Parte 2: Realización de una evaluación, 2010
(20) Standard ISO/IEC 15504-2:2003. Information Technology - Process assessment - Part 2 Performing an assessment, 2003
21) ISO/IEC JTC1/SC7 Software and Systems Engineering, http://www.jtc1-sc7.org 03/07/12
(22) Oktaba, H.: Tejiendo Nuestra Red: Ya Nació ISO/IEC 29110 Perfil Básico. Software Gurú, Septiembre 2011 http://www.sg.com.mx/content/view/1211 03/07/12
(23) Standard ISO/IEC 29110-5-1-2:2011 Software engineering -- Lifecycle profiles for Very Small Entities (VSEs) -- Part 5-1-2: Management and engineering guide: Generic profile group: Basic profile, 2011
(24) Standard ISO/IEC 12207:2008 Systems and software engineering -- Software life cycle processes, 2008
(25) Standard ISO/IEC 15289:2006 Systems and software engineering -- Content of life-cycle information products (documentation), 2006
(26) Mutafelija, B., Stromberg, H.: Mapping ISO Standards to CMMI-DEV V1.2. http://www.sei.cmu.edu/cmmi/solutions/cmmi12-iso.cfm 25/11/12
(27) Software Engineering Institute, http://www.sei.cmu.edu/ 29/11/12
(28) CMMI for Development, version 1.3, Software Engineering Institute, 2010
(29) Fazar, W.: Program Evaluation and Review Technique. The American Statistician. Vol. 13, No. 2, p.10, 1959
Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons