SciELO - Scientific Electronic Library Online

 
vol.16 issue4Adoption of an Agile culture in the development of Internet application projects in CubaTrend´s analysis of the adoption process of metrics and indicators in software develoment projects author indexsubject indexarticles search
Home Pagealphabetic serial listing  

My SciELO

Services on Demand

Article

Indicators

  • Have no cited articlesCited by SciELO

Related links

  • Have no similar articlesSimilars in SciELO

Share


Revista Cubana de Ciencias Informáticas

On-line version ISSN 2227-1899

RCCI vol.16 no.4 La Habana Oct.-Dec. 2022  Epub Dec 01, 2022

 

Artículo original

Case-based reasoning for proposing recommendations in software process improvement

Razonamiento basado en casos para la propuesta de recomendaciones en la mejora de procesos de software

0000-0002-1747-7089Reisbel Socarras Peña1  *  , 0000-0001-6218-8510Ana Marys Garcia Rodríguez2  , 0000-0001-9032-1526Lázaro Franklyn Zamora Fernández3  , 0000-0003-0877-7861Dulce María León de la O4  , 0000-0002-3138-011XYaimí Trujillo Casañola5 

1 Facultad 3. Universidad de las Ciencias Informáticas, Cuba, Carretera a San Antonio de los Baños, km 2½, Torrens, Boyeros, La Habana, Cuba. rsocarras@uci.cu

2 Facultad 3. Universidad de las Ciencias Informáticas, Cuba, Carretera a San Antonio de los Baños, km 2½, Torrens, Boyeros, La Habana, Cuba. agarcia@uci.cu

3 Facultad 3. Universidad de las Ciencias Informáticas, Cuba, Carretera a San Antonio de los Baños, km 2½, Torrens, Boyeros, La Habana, Cuba. lachy@ui.cu

4 Tecnológico Nacional de México, Campus Villahermosa, Tabasco, México. dulce.leono@villahermosa.tecnm.mx

5 Facultad 4. Universidad de las Ciencias Informáticas, Cuba, Carretera a San Antonio de los Baños, km 2½, Torrens, Boyeros, La Habana, Cuba. yaimi@uci.cu

ABSTRACT

Software Process Improvement has as its mission to increase the performance and usefulness of the processes. Its essence lies in the application of Good Practices that favor the continuous improvement of processes in the development of software products and services. Several researches insist on the need to reuse the previous experiences of the organizations considering the critical factors that influence the success of process improvement. However, there is much dispersion on how to implement these Best Practices for a successful process improvement. In addition, the reuse of experiences is essential to support decision making, so it is relevant to define recommendations to guide the implementation of Good Practices, based on the results obtained by other organizations that have previously initiated an improvement process. This research proposes a tool based on the reuse of experiences that, taking as a reference the Critical Success Factors in Software Process Improvement, recommends actions to execute the Good Practices in the organization. For this purpose, a computerized system is conceived, based on Case-Based Reasoning, which offers Recommendations for the application of Good Practices with a view to improvement. For the validation of the results, scientific methods are used that converge in a high customer satisfaction with the proposal.

Key words: Case-Based Reasoning; Critical Success Factors; Good Practices; Recommendations; Software Process Improvement

RESUMEN

La Mejora de Procesos de Software tiene como cometido a incrementar el rendimiento y utilidad de los procesos. Su esencia radica en la aplicación de Buenas Prácticas que favorezcan la mejora continua de los procesos en el desarrollo de productos y servicios de software. Diversas investigaciones insisten en la necesidad de reutilizar las experiencias previas de las organizaciones considerando los factores críticos que influyen en el éxito de la mejora de procesos. Sin embargo, se refleja mucha dispersión respecto al cómo ejecutar estas Buenas Prácticas para una mejora de procesos exitosa. Además, se considera esencial la reutilización de experiencias para apoyar la toma de decisiones, es por ello que resulta pertinente la definición de Recomendaciones que guíen la aplicación de las Buenas Prácticas, en base a los resultados obtenidos por otras organizaciones que han iniciado previamente un proceso de mejora. La presente investigación propone una herramienta basada en la reutilización de experiencias que, tomando como referencia los Factores Críticos de Éxito en la Mejora de Procesos de Software, recomienda acciones para ejecutar las Buenas Prácticas en la organización. Para ello se concibe un sistema informático, que, empleando Razonamiento Basado en Casos, ofrece Recomendaciones para aplicar las Buenas Prácticas con vista a la mejora. Para la validación de los resultados, se emplean métodos que convergen en una alta satisfacción de los clientes con la propuesta.

Palabras-clave: Buenas Prácticas; Mejora de Procesos de Software; Razonamiento Basado en Casos; Recomendaciones; Factores Críticos de Éxito

Introduction

Research on Software Process Improvement (SPI) has identified critical factors that positively or negatively influence the success of the improvement (Trujillo-Casañola; Febles-Estrada et al., 2014; Walter; Wolski et al., 2019), the use of these Critical Success Factors (CSF) according to organizational contexts, influences the success of the SPI (Garcia Rodríguez; Pérez Betancourt et al., 2018; Chugh; Chanderwal et al., 2019). Trujillo defines the CSF for the SPI associated to the software development environment in Cuba (Trujillo-Casañola; Febles-Estrada et al., 2014) and identifies the need to apply Good Practices (GP) to reduce the negative influence of the CSF on the outcome of the implementation of an SPI. In addition, "actions that decrease the negative influence of a factor" have been identified, which have been conceived as GP (Trujillo-Casañola; Febles-Estrada et al., 2014; Garcia Rodríguez; Milanés Zamora et al., 2018; Socarras Peña; Garcia Rodríguez et al., 2020) and which have been defined and contextualized to the Cuban software industry (Garcia Rodríguez; Pérez Betancourt et al., 2018; Garcia Rodríguez; Rivero Morales et al., 2018; Garcia Rodríguez; Perdomo Vergara et al., 2019). However, much dispersion is reflected regarding how to execute these GP for a successful process improvement and the reuse of experiences to support decision making is considered essential (Socarras Peña; Garcia Rodríguez et al., 2020; Garcia Rodríguez, 2018; Socarras Peña; Zamora Fernández et al., 2022).

Therefore, it is pertinent to define recommendations to guide the application of the GP, based on the results obtained by other organizations that have previously initiated an improvement process. The present research takes as a reference the CSF in the SPI and recommends actions to implement the GP in the organization. For this purpose, a computer system is conceived as a technological support, which, applying Case-Based Reasoning (CBR), offers the Recommendations to apply the GP with a view to the improvement and prior to the investment in an SPI project. For this purpose, it is considered appropriate to perform an analysis oriented to:

  1. To identify which Recommendations can be applied by an organization to improve its SPI status based on stored experiences.

  2. To prioritize the proposed Recommendations according to their level of efficiency, based on the experience.

Computational Methodology

Among the scientific methods used, the following stand out:

  1. Historical-logical and dialectical for the critical analysis of works associated with the use of GP and Recommendations in the SPI.

  2. Induction-deduction for the identification of the problem, as well as its solution variants.

  3. Survey to know the level of satisfaction of the clients with the proposal through the application of the Iadov technique.

  4. Consultation with experts to validate the contributions of the research.

  5. Iadov to evaluate the usefulness and relevance of the research by experts and potential users.

  6. Statistical methods for the analysis of the surveys applied to experts and potential users.

Results and Discussion

For the proposal of Recommendations that guide the efforts during the application of GP and improve the results in the SPI, the opportunity to analyze contexts analogous to the organization under analysis has been evidenced, considering the reuse of similar experiences to provide feasible solutions. An artificial intelligence technique, novel and in tune with this type of analysis, is the CBR (Sánchez Fleitas; Comas Rodríguez et al., 2019), which is used in the development of this research.

The CBR (González-Briones; Rivas et al., 2018; González Benítez; Estrada Sentí et al., 2018; Möhrle, 2020; Homem; Santos et al., 2020; Anthony Jnr and Society, 2021) is an approach that approaches new problems by taking as a reference similar problem solved in the past, it is a way of reasoning by making analogies. In a case-based system, a reasoner recalls a previous situation similar to the current one and uses it to solve the new problem.

Life cycle of a case-based system

A case-based system has three main components: a case base (knowledge base), a problem analyzer and a case retriever (both part of the inference engine) and user communication interfaces. The case base contains the descriptions of previously solved problems. In the problem-solving style, a case similar to the new one is retrieved and the solution of the retrieved problem is proposed as a potential solution to the new problem. This is derived from an adaptation process in which the old solution is adapted to the new situation (González-Briones; Rivas et al., 2018; Vázquez and Smarandache, 2018; Collin; Olesen et al., 2019). An CBR life cycle essentially consists of the following four phases (see Figure 1):

  1. Recover the most similar case(s). That is, take the experience of a previous problem, which is believed to be similar to the new one.

  2. Reuse the information and knowledge of the most similar case(s) recovered to solve the new problem. That is, copy or integrate the solution from the retrieved case(s).

  3. Review and evaluate the proposed solution.

  4. Retain, store and save the new solution once confirmed or validated. The experience is stored in such a way that it is useful for solving future problems.

Fig. 1 CBR life cycle. 

For a better understanding of the proposal, the process that governs the operation of the developed system is described in Figure 2. The objective is to propose a set of Recommendations offering information associated with the effectiveness of each one of them. For this purpose, case-based reasoning is applied to identify the most effectively applied Recommendations in similar cases. The objective is to determine, among the similar cases, the most applied recommendations with the best results in their application, in order to propose them as a solution.

Fig. 2 Process model for the CBR. 

Step 1. Get similar cases sub-process is executed (CBR).

The sub-process is executed by applying the case-based reasoning technique.

Step 1.1. Compare initial state with stored cases:

The system performs a comparison between the initial state and the cases stored in the case base. For this purpose, a similarity function S is used, which is the result of the sum of the existing similarity values for each feature.

(1)

Where:

  • S: is the function that determines the similarity between a new case (initial state O 0 ) and a soul-dense case O t from the case base. It can reach values between 0 and 1, being 1 the optimal value that indicates a total similarity between cases O 0 and O t.

  • n: is the number of predictor traits (measures).

  • K i : is the weighting coefficient of the CSF to which measure "i" corresponds and its value ranges from 0 to 1, with 1 being the value that implies greater impact or relevance. It is determined that a case O 0 is similar to the case O t if the value of the function S >= 0.75.

  • (O 0 , O t ): is the comparison function between cases O 0 and O O t to trait (measure) "i". It is calculated using equation 2.

(2)

Where:

  • (O 0 , O t ): is the comparison function between the cases O 0 and Ot attending to the trait (measure) "i". Its value oscillates between 0 and 1, where the more approximation there is to the value 1, the greater will be the improvement between the cases O 0 and O t for the trait or measure "i".

  • x i (O 0 ): is the value of trait or measure "i" in case O 0 .

  • x i (O t ): is the value of trait or measure "i" in case O t .

  • max i : is the maximum value that can be reached by trait or measure "i".

  • min i : is the minimum value that trait or measure "i" can reach.

Step 1.2. Retrieve similar cases:

From the results obtained in the "Compare initial state with stored cases" activity, the cases whose S-function value >= 0.75 are retrieved.

Step 1.3. Calculate effectiveness of Recommendations:

Recommendations are obtained from frequency of occurrence in similar cases. From the set of recommendations obtained from the application of association rules for X → Y (where "x" is a Recommendation and "y" a GP), the recommendations with the highest frequency of use are identified, calculated by means of equation 3.

(3)

Step 2. Show Recommendations and their effectiveness:

The Recommendations are displayed, specifying their efficiency and effectiveness from the application of the rules and the RBC.

Step 3. Select recommendations to apply:

Once the recommendations have been proposed, the organization selects those that it considers can be applied, and after their application, proceeds to the evaluation of their use.

Solution validation

The research validation process was designed using expert consultation, the Iadov technique and a case study.

Assessment of the contribution of the solution in the use of GP and Recommendations.

Delphi and survey methods were applied for expert judgment. Thirty-three experts with at least 10 years of experience in the software industry and five in SPI projects participated. It was found that in all the evaluated dimensions (relevance, pertinence, coherence) the ratings of Very High or High stand out, for a concordance above 90%, which is considered satisfactory. No votes were cast on the Low or None scales for any of the ratings.

Customer satisfaction with the solution.

Five quality consultants and eight managers of software development organizations were surveyed. The variables evaluated were customer satisfaction, applicability and usability, using the Iadov technique. A group satisfaction index of 0.92 was obtained, which translates into a clear satisfaction with the proposal. In the criterion regarding usefulness, there was an agreement of 92.31% with the qualification "Excellent". Regarding applicability in real environments, there was an 84.62% agreement with the "Excellent" rating. Regarding its contribution to decision-making to guide GP implementation efforts in organizations, 92.31% rated the solution as "Excellent". The remaining ratings in all categories were "Adequate".

Applicability of the solution in real environments. Case Study

In order to assess the use and applicability of the developed solution, a development project at the FORTES development center at the University of Computer Sciences was taken as a reference. As a result of the processing, an initial prognosis of failure for the SPI confrontation was obtained, as well as 8 recommendations to apply the GP that would allow the transit towards a successful improvement scenario. After two months of the application of the proposed improvement package, a new diagnosis was performed, which showed a growth in maturity in the center, by reaching a favorable and successful state for the SPI with the proposed Recommendations applied. From the above, it was possible to corroborate the applicability of the proposed solution in real environments.

Conclusions

  1. The information associated with the Best Practices and the recommendations, is relevant to support decision making in Software Process Improvement, however, there is no analysis of their influence in combination to guide efforts towards how to execute the Best Practices in the organizations.

  2. The developed system employs artificial intelligence techniques to support decision making in the application of Best Practices in Software Process Improvement. It implements a case-based reasoning to determine the effectiveness of the proposed recommendations by comparing them with cases similar to the organization under analysis.

  3. The results of the validation of the solution corroborate that its application contributes to support decision making in Software Process Improvement, through the proposal of Recommendations to execute Best Practices. This is evidenced by a high customer satisfaction with the developed solution.

References

Trujillo-Casañola, Y., Febles-Estrada, A. and León-Rodríguez, G. J. I. R. C. D. I. (2014). Modelo Para Valorar Las Organizaciones Al Iniciar La Mejora De Procesos De Software. 22(3): 412-420. [ Links ]

Walter, B.; Wolski, M.; Stanisavljević, Ž. And Todosijević, A. (2019). Designing A Maturity Model For A Distributed Software Organization. An Experience Report. European Conference On Software Process Improvement. Springer: 123-135. [ Links ]

Garcia Rodríguez, A. M.; Pérez Betancourt, Y. G.; Febles Rodríguez, J. P.; Trujillo Casañola, Y. and Perdomo Vergara, A. (2018). Kairós: Intelligent System For Scenarios Recommendation At The Beginning Of Software Process Improvement. Informatica, 42(4). [ Links ]

Chugh, M.; Chanderwal, N.; Mishra, A. K.; Punia, D. K. J. V. J. O. I. and Systems, K. M. (2019). The Effect Of Knowledge Management On Perceived Software Process Improvement: Mediating Effects Of Critical Success Factors And Moderating Effect Of The Use Of Information Technology. [ Links ]

Garcia Rodríguez, A. M.; Milanés Zamora, Y.; Trujillo Casañola, Y.; Febles Rodríguez, J. P. and Sánchez González, I. J. J. R. C. D. C. I. (2018). Asociación Entre Buenas Prácticas Y Factores Críticos Para El Éxito En La Mps. 12(2): 89-103. [ Links ]

Socarras Peña, R.; Garcia Rodríguez, A. M. and Milanés Zamora, Y. (2020). Relación Entre Buenas Prácticas Y Recomendaciones. Revisión Sistemática. Serie Científica De La Universidad De Las Ciencias Informáticas, 13(1): 1-17. [ Links ]

Garcia Rodríguez, A. M.; Rivero Morales, R. G.; Perdomo Vergara, A.; Trujillo Casañola, Y.; Febles Rodríguez, J. P. and Milanés Zamora, Y. (2018). Evolutionary Artificial Neural Network For Success Forecast In Software Process Improvement. 2018 Ieee Latin American Conference On Computational Intelligence (La-Cci). Ieee: 1-6. 1538646269. [ Links ]

Garcia Rodríguez, A. M.; Perdomo Vergara, A.; Milanés Zamora, Y.; Trujillo Casañola, Y.; Febles Rodríguez, J. P. and Darias González, H. (2019). Scenario Optimization In Software Process Improvement Applying Evolutionary Techniques And Association Rules. 2019 Ieee Latin American Conference On Computational Intelligence (La-Cci). Ieee: 1-6. 1728156661. [ Links ]

Garcia Rodríguez, A. M. (2018). Modelo De Recomendación De Escenarios Al Iniciar La Mejora De Procesos De Software. Informatica , Universidad De Las Ciencias Informáticas. P. [ Links ]

Socarras Peña, R.; Zamora Fernández, L. F.; Garcia Rodríguez, A. M.; Crespo Urrutia, Y. and Milanes Zamora, Y. (2022). Sistema De Recomendaciones En La Mejora De Procesos De Software Aplicando Técnicas De Inteligencia Artificial. Serie Científica De La Universidad De Las Ciencias Informáticas , 15(6): 1-17. [ Links ]

Sánchez Fleitas, N.; Comas Rodríguez, R. and García Lorenzo, M. M. J. I. R. C. D. I. (2019). Sistema Inteligente De Información Geográfica Para Las Empresas Eléctricas Cubanas. 27(2): 197-209. [ Links ]

González-Briones, A.; Rivas, A.; Chamoso, P.; Casado-Vara, R. and Corchado, J. M. (2018). Case-Based Reasoning And Agent Based Job Offer Recommender System. The 13th International Conference On Soft Computing Models In Industrial And Environmental Applications. Springer: 21-33. [ Links ]

González Benítez, N.; Estrada Sentí, V. and Febles Estrada, A. J. R. D. C. M. D. P. D. R. (2018). Estudio Y Selección De Las Técnicas De Inteligencia Artificial Para El Diagnóstico De Enfermedades. 22(3): 131-141. [ Links ]

Möhrle, S. (2020). Case-Based Decision Support For Disaster Management. Kit Scientific Publishing. 373150992x [ Links ]

Homem, T. P. D.; Santos, P. E.; Costa, A. H. R.; Da Costa Bianchi, R. A. and De Mantaras, R. L. J. A. I. (2020). Qualitative Case-Based Reasoning And Learning. 283: 103258. [ Links ]

Anthony Jnr, B. J. A. and Society (2021). A Case-Based Reasoning Recommender System For Sustainable Smart City Development. 36(1): 159-183. [ Links ]

Vázquez, M. L. And Smarandache, F. (2018). Modelo De Recomendación Basado En Conocimiento Y Números Svn. Infinite Study. [ Links ]

Collin, C.; Olesen, G. and Secher, A. Q. (2019). A Case-Based Study On The Use Of Life Cycle Assessment And Life Cycle Costing In The Building Industry. Iop Conference Series: Earth And Environmental Science. Iop Publishing: 012163. 1755-1315. [ Links ]

Received: August 18, 2022; Accepted: September 06, 2022

*Autor para la correspondencia. (rsocarras@uci.cu )

The author authorizes the distribution and use of his article.

Conceptualization: Reisbel Socarras Peña, Ana Marys Garcia Rodríguez.

Data Curation: Reisbel Socarras Peña, Lázaro Franklyn Zamora Fernández.

Formal analysis: Ana Marys Garcia Rodríguez, Yaimí Trujillo Casañola.

Acquisition of funds: Dulce María León de la O

Project Management: Ana Marys Garcia Rodríguez.

Resources: Ana Marys Garcia Rodríguez, Dulce María León de la O.

Software: Reisbel Socarras Peña, Lázaro Franklyn Zamora Fernández.

Supervision: Ana Marys Garcia Rodríguez, Dulce María León de la O, Yaimí Trujillo Casañola.

Validation: Reisbel Socarras Peña, Lázaro Franklyn Zamora Fernández.

Visualization: Reisbel Socarras Peña, Lázaro Franklyn Zamora Fernández.

Redaction - original draft: Reisbel Socarras Peña, Lázaro Franklyn Zamora Fernández.

Redaction - review and editing: Reisbel Socarras Peña, Ana Marys Garcia Rodríguez.

Creative Commons License