Applying CMMI Best Practices to Improve Processes

. Today more and more organizations are demanding quality software products. To cover this demand, companies that provide computer solutions focus on the quality of their processes to generate value in a competitive market. This article presents the case study of an educational institution that decides to use the best practices of CMMI to improve the areas of management processes of requirements, verification and validation. The results of the improvement process show that the practices were improved, the defects decreased and the customer satisfaction was improved.


Introduction
Different models and standards oriented to the improvement of software processes, software development and requirements management have been developed. Among them we can mention the model CMMI DEV 1.3 [1] for process improvement, the standard IEEE 830 [2] for specification of requirements, ISO/IEC 12207 [3] for software development, among others. CMMI is a reference model for the quality and the improvement of software processes widely recognized [4]. A large part of process improvement is achieved through the implementation of CMMI best practices [5]. CMMI has 24 process areas including requirements management, verification and validation. The management of requirements is recognized by its importance and by the risks associated if in the project is not managed in a correct way [6]. many requirements management activities are considered fundamental for the development of the SOFTWARE PRODUCT. Several studies maintain that the management of requirements is one of the disciplines that more incidences has in the failure of projects [7]. The requirements management is related to the quality of software and this with the satisfaction of the user. The CHAOS study reports that the highest percentage of the projects are not successful [8] and mentions how it causes inadequate and unclear requirements, in addition the inadequate Stakeholder involvement. The reason is that there is a traceability between the functionalities of the system and a product of quality software that satisfies the user. Aspects such as the way in which the requirements of the future software product are captured, the lack of documentation or complexity in the existing documents, not having implemented the process of change management and inefficiency in the activities of the test process and flaws during software development are some of the difficulties that organizations present. In addition, the changing nature of the requirements needs management these changes throughout the software development due to their impact on the quality of the software [6]. To achieve quality products through the quality of the processes generates a great value in a competitive market [9]. CMMI is complemented with the IDEAL model [10] to carry out the implementation of the best practices and with SCAMPI as methodology of the current state evaluation of practices in the organization. The process of implementing CMMI best practices is conditioned by several factors [11] because it is a change and must be managed. The pillars for Management to change, among others, are training, communication and stakeholder participation. The purpose of this research is to determine the impact of implementing the best practices that CMMI establishes for the management of requirements and to determine the improvements in product quality and user satisfaction. This article presents a case of application of the best practices that CMMI establishes in the Office of projects of an educational entity, which requires to improve the management of requirements, to establish the defined processes, to reduce the defects in the products Software and improve the testing process. By reducing defects, the quality of software is improved, which is one of the characteristics that the software development organizations value [12]. The most cited causes of problems related to requirements are lack of management of requirements and leadership skills [13]. The best practices of the process areas management requirements, verification and validation of CMMI were selected to be implemented. The research questions that are intended to be answered are: • Determine whether applying the best practices of CMMI DEV 1.3 reduces the gap between best practices in the area of requirements management and organizational practices. • Determine whether applying the best practices of CMMI DEV 1.3 reduces the gap between best practice in the verification area and the practices of the Organization. • Determine whether applying the best practices of CMMI DEV 1.3 reduces the gap between best practice in the area of validation and the practices of the Organization. • Determine whether applying CMMI DEV 1.3 Best practices reduces the amount of defects during software product development. • Determine whether applying CMMI DEV 1.3 Best practices improves user satisfaction. This article has been structured in 5 sections including the introduction. Section 2 presents the theoretical framework, section 3 presents the methodology used. The results are presented in section 4. Section 5 discusses the results. Finally, the conclusions are presented.

CMMI
CMMI is a model that provides a set of best practices for the improvement and evaluation of the processes for the development, maintenance and operation of systems [1]. CMMI consists of 24 process areas. The process areas are structured with specific goals, specific and sub practical practices. Table 1 presents the specific goals and practices of the process areas requirements management, verification and validation, according to CMMI [1]. The achievement of specific and generic goals associated with each predefined set of process areas are distributed at the following levels: initial Level 1, Level II managed, level III defined, Level 4 quantitatively managed and level V Optimized.

IDEAL
IDEAL is a model to start, plan and implement improvement actions. The model consists of five phases: to initiate, to diagnose, to establish, to act and to learn [9]. The phases of the IDEAL model are presented in Table 2. In this phase the needs for change are identified, the goals and objectives have been improved, the sponsorship of the organization has been ensured and the structure that is based on the execution of the improvement of the processes has been established.

Phase 2: Diagnose
In this phase the areas of the processes are evaluated to be able to diagnose the level of compliance of the areas of processes, the desired future of the organization is established and to develop the recommendations to define the activities to be carried out.

Phase 3: Establish
In this phase the action plans are proposed for each area and the priorities are established taking into account the recommendations of Phase 2, determine strategies to identify the availability of resources and develop the action plan that includes the resources, the mechanisms of monitoring, risks and mitigation strategies.

Phase 4: Act
In this phase the solution is established, the pilot tests are carried out, the solution is refined, the lessons learned are collected, and the solution to the development projects of the organization is implemented.

Phase 5: Learn
In this phase all the information that was collected before, during and after the development of the project is analyzed and future actions are proposed, recommendations based on analysis and validation, for future actions.

Method
To start the improvement process, a process improvement team was formed with the support of the institution's project office. A training program was established for the members of the development team.
To implement the best practices of CMMI, the IDEAL model was used. To establish the existing gaps between the practices of the organization and the best practices of CCMI, the SCAMPI method was used to identify the strengths and weaknesses of the organization's current processes. SCAMPI B provides an overview of the practices that are actually used in the organization and their status. In this way the strengths and weaknesses are related to the CMMI model, prioritize an improvement plan, concentrate on the best ones to obtain a level of capacity level, as well as maturity.
Data is collected and the documentation is analyzed to define the current state of the company identifying critical areas. The gap analysis is done in four important phases to be mentioned; (1) prepare: carry out the preliminary study of company information, (2) collect data: conduct surveys and interview those involved in the processes, (3) confirm information: perform the comparison of the information obtained with the objectives of the business, and (4) produce a report: analyze the information so that it is quantifiable, measurable. To calculate the percentage of coverage for each specific goal and specific practice, the following formulas were used: Where: GP= Generic practice, SG= Specific goal y SP= Specific practice. Table 3 presents the table to be used for the analysis of the gap between the practices of the organization and those established by CMMI for the selected process areas. The practices of the CMMI model are partially covered. 50%-74% Limited covered (LC) The practices of the CMMI model are limitedly covered. 25%-49% Not covered (NC) The practices of the CMMI model are not covered.

-24%
The independent variable is composed of the practices established by CMMI and the dependent variable by the value of the coverage that is measured in two moments. By its nature, this is a mixed investigation (qualitative by the review of the documents and quantitative by the coverages of the practices) of a descriptive, longitudinal, non-experimental nature.
To analyze whether the improvements were significant, the Wilcoxin test was used to differentiate the means and, because they are small samples, the effect size was calculated for the variables in which significant differences were found.

Management Requirements
The hypothesis to prove: • Ho1: Applying the best practices of CMMI DEV 1.3 does not reduce the gap between best practices in the area of Requirements Management and the practices of the organization. • Ha1: Applying the best practices of CMMI DEV 1. 3 reduces the gap that exists between best practices in the area of Requirements Management and the practices of the organization. The test statistic is Wilcoxon considering 1-α of probability. The conditions regarding Ho are detailed below: Reject Ho, sig <α Accept the Ho, sig> α. Table 4 shows that the percentage of coverage of the practices is lower (52.70) than when the improvement process ends (98.83), which shows that there was an improvement in the processes. The Wilcoxin test analysis for related samples evidenced a significant difference in the percentages of coverage of the practices at the end of the improvement process. In addition, the test value was significant p is equal to 0.001 (p <0.05), result that allowed to reject the null hypothesis favoring the alternative. Considering that these are small samples, the effect size was calculated equal to 1.83, which indicates that the size of the effect is large. Figure  1 shows the gap that existed between the practices of the organization and after the improvement process with CMMI.

Verification
The hypothesis to prove: • Ho1: Applying the best practices of CMMI DEV 1.3 does not reduce the gap that exists between best practices in the area of Verification and practices of the organization. • Ha1: Applying the best practices of CMMI DEV 1. 3 reduces the gap that exists between best practices in the area of Verification and practices of the organization The test statistic is Wilcoxon considering 1-α of probability. The conditions with respect to Ho are detailed below: Reject Ho, sig <α Accept Ho, sig> α. Table 4 shows that the percentage of coverage of the practices is lower (47.41) than when the improvement process ends (98.83), which shows that there was an improvement of the processes. The test analysis of Wilcoxin for related samples showed a significant difference in the percentages of coverage of the practices at the end of the process of improvement.
In addition, the test value was significant p is equal to 0.001 (p < 0.05), result that allowed to reject the null hypothesis favoring the alternation. Considering that these are small samples, the size of the effect equal to 2.04 was calculated, which indicates that the size of the effect is large. In Figure 2 You can see the gap between the practices of the Organization and the process of improvement with CMMI. Fig. 2. Coverage of practices before and after the implementation of best practices in the verification process area.

Validation
The hypothesis to prove:  Ho1: Applying the best practices of CMMI DEV 1.3 does not reduce the gap between best practice in the area of validation and the practices of the Organization.  HA1: Applying the best practices of CMMI DEV 1.3 reduces the gap between best practice in the area of validation and the practices of the Organization The test statistic is Wilcoxon considering 1-α probability. The conditions regarding Ho, are detailed below: Reject Ho, sig < α Accept Ho, sig > α. Table 5 shows that the percentage of coverage of the practices is lower (43.50) than when the improvement process ends (986.15), which shows that there was an improvement of the processes. The test analysis of Wilcoxin for related samples showed a significant difference in the percentages of coverage of the practices at the end of the process of improvement.
In addition, the test value was significant p is equal to 0.000 (p < 0.05), result that allowed to reject the null hypothesis favoring the alternation. Considering that these are small samples, the size of the effect equal to 1.98 was calculated, which indicates that the size of the effect is large. In Figure 3 You can see the gap between the practices of the Organization and the process of improvement with CMMI. Figure 3 coverage of practices before and after the implementation of best practices in the validation process area.

Defects
The hypothesis to prove:  Ho1: Applying the best practices of CMMI DEV 1.3 does not reduce the amount of defects during the development of the SOFTWARE PRODUCT.  HA1: Applying the best practices of CMMI DEV 1.3 reduces the amount of defects during the development of the software product. The test statistic is Wilcoxon considering 1-α probability. The conditions regarding Ho, are detailed below: Reject Ho, sig < α Accept Ho, sig > α. Table 6 shows that the number of defects that were found before the implementation of best practices (42.0) have been reduced (4.66), which shows that there was a reduction of defects. The analysis of Wilcoxon test for samples of unrelated showed a significant difference in the decrease of defects at the end of the improvement process. In addition, the test value was significant p is equal to 0.000 (p < 0.05), the result allowed to reject the null hypothesis favoring the ac. Considering that samples small, we calculated the effect size equal to 1.45 which indicates that the effect size is large.

Customer Satisfaction
The Hypothesis to prove:  Ho1: Applying the best practices of CMMI DEV 1.3 is not achieved to the satisfaction of the users  Ha1: Applyng the best practices of CMMI DEV 1.3 is achieved to the satisfaction of the users The results of the survey to customers before and after the improvement process shows significant improvements. The test statistic is the Wilcoxon test whereas 1 -α of probability. The conditions with regard to the Ho, is detailed below: Reject Ho, sig < α Accept Ho, sig > α. Table 7 shows that customer satisfaction with regard to the software product (1.4) improvement after process improvement (7.1). The analysis of Wilcoxon test for samples of unrelated showed a significant difference in the improvement of customer satisfaction with regard to the software product at the end of the improvement process. In addition, the test value was significant p is equal to 0.000 (p < 0.05), the result allowed to reject the null hypothesis favoring the ac. Considering that samples small, we calculated the effect size equal to 10.84, which indicates that the effect size is large. In this case study we show that to apply the best practices that establishes CMMI has led to improved processes for the software development of an educational institution. It uses the IDEAL model to implement best practices and SCAMPI to evaluate the different processes and determine the level of maturity. Three process areas were identified to drive the enhancement: Requirements Management, Verification and Validation. As a result it is managed to (1) improve the quality of software products, (2) reduce the number of inconsistencies that are presented initially in the management of requirements, and (3) reduce the number of defects to define the process of testing peer-to-peer prior to the pass to the area of certification. Given the results, the institution will continue with the improvement of other processes software. Relevant aspects in this improvement process were the commitment of top management and the participation and commitment of team members, training and communication.