SciELO - Scientific Electronic Library Online

 
 issue77Assessment proposal of teaching and learning strategies in software process improvementHow small and medium enterprises can begin their implementation of ITIL? author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Revista Facultad de Ingeniería Universidad de Antioquia

Print version ISSN 0120-6230

Rev.fac.ing.univ. Antioquia  no.77 Medellín Oct./Dec. 2015

https://doi.org/10.17533/udea.redin.n77a14 

ARTÍCULO ORIGINAL

 

DOI: 10.17533/udea.redin.n77a14

 

Helping organizations to address their effort toward the implementation of improvements in their software process

 

Ayudando a las Organizaciones a Dirigir su Esfuerzo hacia la Implementación de Mejoras en sus Procesos Software

 

 

Mirna Ariadna Muñoz-Mata*, Jezreel Mejia-Miranda, Claudia Valtierra-Alvarado

Centro de Investigación en Matemáticas A. C. (CIMAT). Unidad Zacatecas, Av. Universidad 222. C. P. 98068. Zacatecas, México.

* Corresponding author: Mirna Ariadna Muñoz Mata, e–mail: mirna.munoz@cimat.mx

 

ISSN  0120–6230

e–ISSN 2422–2844

 

(Received March 06, 2015; accepted June 02, 2015)

 

 


ABSTRACT

Due to the importance of Software Development Small and Medium Enterprises (SMEs) in the software industry, it is necessary to guarantee the quality of their products. In this context, the implementation of software process improvements offers an attractive way to achieve it. Unfortunately, the lack of knowledge on how to address the improvement effort makes the implementation of software improvements in SMEs a path full of obstacles, and most of the times impossible to achieve. In order to help SMEs addressing their improvement efforts, this paper aims to present a framework which allows addressing their improvement effort based on the identification of their main problems. Moreover, the framework provides a starting point regarding the model, standard or agile methodology to be used as reference based on the SME current needs, features and work culture. Finally, a case study showing the implementation of the framework in four SMEs of Zacatecas region is included.

Keywords: Software process improvements, process patterns, improvement effort, SMEs, improvement starting point


RESUMEN

Debido a la importancia de las pequeñas y medianas empresas (pymes) de desarrollo de software para la industria del software, es importante garantizar la calidad de sus productos, para lo cual la mejora de sus procesos ofrece un camino atractivo para lograrlo. Desafortunadamente, la falta de conocimientos que existe en las pymes sobre cómo o dónde dirigir su esfuerzo de mejora hace que la implementación de mejoras sea un camino lleno de obstáculos, la mayoría de veces imposible de lograr. Este artículo presenta un marco de trabajo cuyo objetivo es ayudar a las pymes a encontrar un punto de inicio para dirigir sus esfuerzos de mejora, basado en la identificación de sus problemas principales. Además, el marco de trabajo proporciona una guía para iniciar la implementación de la mejora (punto de inicio), referente a los modelos, estándares y/o metodologías ágiles que pueden ser usados como referencia, basada en sus necesidades, características y cultura de trabajo. Finalmente, el artículo incluye un caso de estudio en el que se muestran los resultados de la implementación del marco de trabajo en cuatro pymes de la región de Zacatecas.

Palabras clave: Mejora de procesos software, patrones de procesos, esfuerzo de mejora, pymes, punto de inicio de mejora


1. Introduction

Nowadays, software development SMEs are considered a key element in the consolidation of software industry [1-3]. In México, software development SMEs represents the 87% of the total of the software development industry [1, 4]. This fact highlights the importance of guaranteeing the quality of their software products.

In this context, improving their software process provides a key opportunity for SMEs to become more efficient and effective, based on the affirmation that the quality of software products is directly related with the quality of the processes used for its development [5]. Then, the correct implementation of process improvements becomes an important challenge to be focused on, in order to have success in the process improvement.

Unfortunately, SMEs suffer a lack of knowledge regarding the use of formal processes as well as the use of process models or standards, what becomes a key problem to them [6]. As a result, even when they are motivated to implement improvements in their software process, most of the times they are unsure of ''where to start''.

The goal of this paper is to show a framework focused on providing ''a starting point'' in order to minimize the problem above mentioned. The starting point is obtained based on the current SMEs issues and provides the information regarding the model, standard or agile methodology to be focused on, and the process and practices to be implemented in the organization to reduce the current problems. This way, it is possible to provide the SME with both, the knowledge to start an improvement implementation and the way to address its improvement effort.

This paper is structured as follows: after the introduction, section two shows an overview of the current state of implementing software process improvements in SMEs; section three shows the SMEs features, limitation and identified challenges toward the implementation of process improvements; section four introduces the proposed framework; section five presents a case study carried out to show the implementation of the framework in four SMEs of the region of Zacatecas, México, and finally, section six shows conclusions and future work.

2. Current state of the implementation of software process improvements in SMEs

This section shows the main results obtained from performing, on one hand, a Systematic Literature Review (SLR) carried out to get the current state of the implementation of process improvements is SMEs worldwide. To achieve it, the SLR was focused on finding information regarding models, standards and agile methodologies and focused processes.

On the other hand, an analysis of the state of the practice carried out at a set of SMEs from Zacatecas Region to reinforce the results obtained with the SLR.

The performance of the SLR and the analysis of the state of practice are out of the scope of this paper; then, information in depth of the SLR developed and execution is shown in [7]. Besides, information in the depth of the analysis of the state of practice at Zacatecas Region is shown in [8].

Next sections show the main results obtained from the SLR and the analysis of the state of practice at Zacatecas Region focused on: models, standards and agile methodologies and focused processes to implement improvements. It is important to mention that the obtained results show a worldwide overview of the state of process improvement in SMEs.

2.1. Models, Standards and Agile Methodologies

According to the SLR performed by the authors of this paper in [7] and the analysis of the state of practice at Zacatecas Region [8], the set of models, standards and agile methodologies most commonly implemented by SMEs and their percentage of implementation are:

  • Assessing processes (those used to assess their processes): Software Process Improvement and Capability Determination, SPICE (67%); Observatoire Wallon des Practiques Logicielles, OWPL (17%); and Express Process Appraisal, EPA (16%).
  • Improving processes (those used as a reference to implement improvements): Capability Maturity Model Integration, CMMI (25%); SPICE (25%); MesoPyme (19%); Moprosoft and IDEAL (13%), Team Software Process, TSP and International Organization for Standardization, ISO 9001:2000 (6%).
  • Software lifecycle (those used as a reference to develop software): ISO 12207 (66%); Rational Unified Process, RUP (26%); and ISO 29110 (8%).
  • SMEs process models (those specific to SMEs used as a reference to implement improvements): MesoPyme and Melhoria de Processos do Software, MPS (43%); Moprosoft (29%); and ISO 29110 (14%).
  • Agile methodologies (those used to manage software development projects): Scrum (71%); and Extreme Programing, XP (29%).

2.2. Processes Focused to Implement Improvements

According to the SLR performed by the authors of this paper in [7] and the analysis of the state of practice at Zacatecas Region [8], the set of processes most focused by SMEs to implement process improvements and their percentage of implementation are:

  • Processes focused on project management (those which address the activities related to the management of a project such as planning, monitoring and controlling the project parameters, so that, corrective actions can be taken): project planning (27%); requirements management (19%); risk management (12%); and project monitoring and control (5%).
  • Processes focused on engineering (those which address the activities related to software development and maintenance): verification and validation (8%); requirements development (7%).
  • Processes focused on support (those which address the activities related to support the product development and maintenance): configuration management (16%); process and product quality assurance (6%).

3. SMEs features, limitation and challenges regarding the implementation of process improvements

This section provides an analysis of SMEs regarding their features and limitations toward the implementation of process improvements in order to identify the set of challenges. To achieve it, the context facts presented in [9, 10] were taken as a reference, so that, the facts were analyzed and we selected those that allow us to analyze the context of SMEs regarding the implementation of process improvements. Besides, the results of the SLR performed by the authors [7, 8, 11] have been taken into account.

  1. Organization: this context fact aims to describe the SMEs structure in which the others facts are embedded. (a) Features: flat structure; use of agile practices instead of the adoption of a specific model or standard; high innovation and adoption of practices, agile adoption of change. (b) Limitations: high dependency with immature customers; short delivery time. (c) Detected challenge: it has been identified the need of providing a software tool that allows SMEs to reduce the learning curve regarding models and standards as well as the implementation time and to provide the benefits involved in the implementation of software process improvements.
  1. People: this context fact aims to describe the human factor that has a major impact on the success of software process implementation. (a) Features: the number of employees is usually minimal performing several functions and activities; the employees do not have a process culture. (b) Limitations: there is a lack of role definition and a lack of employees with knowledge of how to implement process improvements. (c) Detected challenge: it has been identified the need of guidance on how to implement improvement initiatives to the managers, so that, employees' effort can be addressed in a correct way.
  1. Processes: this context fact aims to describe the workflow of software and services development and maintenance. Features: software is developed as a craft because they do not have defined processes; processes definition or processes improvement are implemented because is a customer's requirement. (b) Limitations: lack of knowledge of the importance between development processes and product quality; lack of processes culture; lack of initiatives to implement software process improvements; and lack of experience in the implementation of SPI. (c) Detected challenge: it has been identified the need of providing a software tool that supports SMEs providing information regarding the activities related to process improvement implementation.
  1. Financial Resources: this context fact has been added because according to the results obtained in [8], most of the SMEs have a high dependence of external economical support to implement software process improvements. This context fact aims to describe the economical resources that SME has to implement activities related to the implementation of software process improvements. (a) Features: any or very little budget for the investment to implement software process improvements; implementing and providing software process improvements results represents a high economical investment. (b) Limitations: most of them depend on external support to implement software process improvements. (c) Detected challenge: it has been identified the need of providing support to the SMEs so that the improvement effort can be addressed in a correct way. In this way, the limited investment regarding the implementation of software process improvement can be maximized.
  1. Projects: this context fact has been added because according to the results obtained in [8], most of the SMEs have short projects. This context fact aims to describe the type of projects that SMEs usually perform in order to develop or maintain software of services required by a customer. (a) Features: they work with very small projects; the projects are developed in a short period of time. (b) Limitations: lack of time and budget. (c) Detected challenge: it has been identified the need of providing support to the SMEs so that the improvement effort can be addressed in a correct way. In this way, the limited time regarding the implementation of software process improvement can be maximized.
  1. Models and standards: this context fact has been added because one of the most common problems in the implementation of software process improvements is related to the wrong selection of an appropriated model or standard to be used as a reference. Then, this context fact aims to describe the experience in the use of any model, standard or methodology. (a) Features: any or minimal experience in the adoption and implementation of software process improvements models and standards. (b) Limitations: lack or minimal support in the implementation of models and standards. (c) Detected challenge: it has been identified the need of providing information and support to the SMEs in the selection of a correct model, standard or agile methodology regarding the SME current environment and situation, so that the SME can choose an adequate reference model/standard or agile methodology according to its specific needs.

After reviewing the six identified challenges related to the context facts, it was confirmed that the main issue, which SMEs must face in the implementation of process improvements, is the lack of guide regarding of how to start the implementation of software process improvements.

Based on the detected issue, this paper proposed a framework that provides SMEs with a ''starting point'' according to their current problems in order to guide them addressing their improvement efforts. In this way, the limited time, budget and effort dedicated to implement software process improvements can be maximized.

4. Proposed Framework

To provide solution to the current problem that SMEs face in the implementation of software process improvement, a framework was developed. The framework aims to guide SMEs in the identification of their main problems so that a ''starting point'' to be used as guide toward the implementation of the software process improvement can be set.

The framework core is a set of process patterns that are focused on the main features and problems that SMEs face in the implementation of software process improvements. The framework is based on process patterns because they are reusable building blocks that organizations tailor and implement to achieve mature software processes [12].

Using process patterns allows identifying the current SME context and situation and select a pattern that better ties with them. Then, based on the selected pattern, the framework provides information that sets starting point which helps SME to address its improvement effort.

The framework has three elements which are briefly described in the next sections: (a) a set of process patterns; (b) a method to select an adequate process pattern and (c) a software tool that automatizes the use of both of them.

4.1. Process Patterns

The set of processes patterns was defined taking as a base the patterns elements defined by [13, 14]. Then, the elements such as name, context, force, solution and results were adapted for this research needs as Figure 1 shows. The figure shows both the elements definition and their relations.

Following the steps and relations showed in Figure 1, we obtained a total of three different contexts that reflect the SMEs features, and eleven patterns associated with the specific problems SMEs have. Table 1 shows the relation between the context and patterns.

Next, to give an example of a complete process pattern definition, Table 2 shows the process pattern ''Delay in product delivery''. As the table shows, this pattern has three specific problems: Software delivered out of time or not performed; Software delivered without minimal functions and Extra Resources for future Maintenance (problems column). Each problem has a set of associated questions that help to identify the problem that the SME has (forces column); finally, a list of the model, standard of agile methodology, and the process to be focused to provide a solution to the problem is presented (solution column).

4.2. Process Patterns

The method to select process patterns guides and supports SMEs in the identification of an adequate process pattern according to their current problems throughout three steps that are showed in Figure 2 and is next briefly described:

a. Identifying: this step analyzes the SME's current environment and situation so that it can be characterized with the process patterns contexts and problems. To achieve it, a questionnaire was developed. The questionnaire reflects the forces of the defined process patterns and is based on formal software engineering practices related to four processes: (1) project planning, (2) project monitoring and control, (3) configuration management and (4) product and process quality assurance, which are processes focused by SMEs on the implementation of process improvements (see section 2.2).

b. Selecting: this step analyzes the questionnaire answers so that the current SME problems are detected and prioritized. To achieve it, each question, which is related with a process pattern' force, has assigned a value in the range of 20% to 100% where: 20% means never occurs; 40% means rarely occurs, 60% means sometimes occurs; 80% means usually occurs; and 100% means always occurs.

Then, the total percentage is calculated by adding all forces related with the same problem. In this way, it is possible to identify the prioritized problem, so that, an adequate pattern can be selected. The next scale is used: <30%: high, the problem lies in the SME representing a big problem; ≥ 30% < 70%: medium, the problem lies moderately in the SME and; ≥ 70%≤ 100%: low, the problem lies in the SME but it does not seriously affects it. Finally, the pattern with the lowest percentage is the one that best ties with the current situation and problems.

c. Providing a Guide: this step shows the starting point set to guide SMEs to address their improvement effort toward the implementation of a software process improvements, so that, it gives the knowledge of ''where to start''. The guide contains the following information: (1) the detected problems and their priority; (2) a list of models, standards and agile methodology according to the organizational work culture and its current environment, situation and problems; and (3) the processes and the set of practices that are recommended to implement in order to reduce or eliminate the detected problems.

4.3. Software Tool

A web tool was developed in order to support the definition of new process patterns (section 4.1) and the use of the method to select the adequate pattern (section 4.2). The tool has the following modules and it is available at: http://104.236.122.72/

a. Tool management: this module allows adding new patterns and SMEs (see Figure 3a).

b. Current organizational context: this module identifies the main features of the SME toward the implementation of a software process improvement, such as: number of employees, domain sector and its experience using any standard, model or agile methodology (see Figure 3b).

c. Current organizational situation: this module provides the set of four questionnaires focused on identifying the specific problems in SME. Then, the tool analyzes the questionnaires answers, so that, an adequate process pattern, which best ties with the current SME environment and situation, is selected (see Figure 3c).

d. Providing a Guide: this module shows the information regarding the improvement ''starting point'', containing the following information: (a) it provides a list of the detected problems and their priority (it uses red, yellow or green colors depending on the impact of the problem in the SME); and (b) it includes the models (CMMI or Moprosoft), standard (ISO 15504) or agile methodology (SCRUM) and the processes to be focused on, and the set of related best practices that will help the SME to reduce or eliminate the identified problems (see Figure 3d).

5. Case Study

This section shows the case study performed to validate the viability of the proposed framework by applying the tool in four SMEs at Zacatecas-Region of México. The case study in composed of four subsections: section (a) provides information of the SMEs that uses the software tool; section (b) provides information of how the case study was performed and the data collected; section (c) provides information of the obtained results; and finally (c) provides the results of a survey that was answered by the SMEs to evaluate the proposed framework.

a. Case study implementation environment: the SMEs that participated in the case study were four SMEs as follows: (SME1) is an organization that belongs to an educational institution dedicated to the development of software for the institution. Currently, it has a staff of 4 employees including developers and students; (SME2) is an organization dedicated to software development, web development, support and marketing. Currently, it has a staff of 5 employees, including developers and marketing; (SME3) is an organization dedicated to IT consulting, marketing, digital devices and web development. Currently, it has a staff of 37 employees, including developers, graphical designers, maintenance engineers and managers; and (SME4) is an organization dedicated to high quality software development. Currently, it has a staff of 125 employees including developers, mangers and support and maintenance engineers.

b. Case study execution and data collection: the steps followed to perform the case study in each SME were as follows: (1) a meeting was performed in which the case study goal was explained to the SME's designed person, all doubts were clarified and the software tool was presented; (2) the designed person registers a new user and inputs the data related to the organizational current environment and answered the four questionnaires focused on detecting the current situation identifying and prioritizing their problems; (3) the designed person analyzed the results provided by the software tool regarding the identified problems and the provided guide; and (5) the designed person answered a survey focused on collecting information about the guide provided by the framework and the software tool performance.

c. Obtained Results: Figures 4a, 4b, 4c and 4d show the obtained results. Besides, the Table 3 shows a summary of the obtained results focusing on the percentage of coverage of each SME regarding the use of formal best practices of the four processes (second column); the detected problems (third column) and the provided guide (fourth column), which include information of the starting point according to the SME environment and current situation regarding the process, model and practices to be implement in order to reduce or eliminate the detected problems.

After analyzing the results, the four SMEs agree on that the results provided by the framework reflected the current situation and problems that the SME had. Besides, the provided guide was very useful providing the knowledge of where to start to address their improvement effort.

d. Framework Validation: To validate the framework a survey was answered for each SME. The survey aimed to get information of the framework and to validate it. Then, the survey allows collecting information about the process patterns; the method to select the adequate process patterns; the provided guide and the developed software tool. Next, the analysis of the obtained results is shown:

  • Defined patterns, patterns selection and provided guide: this analysis includes a set of questions focused on evaluating the perception of the SMEs regarding the identified problems and the provided guide. As Figure 5 shows, the results confirms that using the framework allow them to characterize their current situation (identify features, capture work culture); to detect their main problems (capture real problems), to know where to start (understandable, adequate guide, adequate starting point). All the answers are in the range of ''excellent'' and ''good''.

  • Software tool: this analysis includes a set of questions focused on evaluating the perception of the SMEs regarding the use of the software tool. As Figure 6 shows the results confirm that all organizations consider that the user control (tool performance, easy navigation, portability, graphic interface) and flexibility and efficiency (handling easily, intuitive, tool usability) are in general good because their answers were in the range of ''excellent'' and ''good''.

6. Conclusions

The implementation of software process improvements in SMEs does not have the expected results because they have a lack of knowledge of where to start the process improvement, and they do not take into account the current situation, environment and work culture. Besides, the limitations of time, budget and human resources they have regarding the implementation of process improvements. As a solution to these problems, this paper presents a framework that aims to guide SMEs in the identification of their current situation, environment and problems, so that, a starting point could be set and an adequate guide can be provided. In this way, the SMEs enable the start of the implementation of software process improvements based on their real problems and using those practices that will help them to reduce those identified problems, having early results and maximizing the limited resources because the improvement effort can be adequately addressed.

The framework proposed in this paper offers a complete solution, because it provides the set of process patterns, which characterize the main features and problems that SMEs face in the implementation of process improvements; the method to select the process patterns according to the SME current situation, environment and problems; and the software tool that facilitates the use of both and provides in an understandable way the information that guides SMEs to address their improvement effort in a correct way. Next, the main framework features are listed: (a) Managing the organizational change in the improvement effort: it provides a set of practices that should be implemented to improve the processes based on the identified problems, helping the SME to address its improvement effort; (b) Not losing focus: it takes into account the current identified problems in the SME to select the pattern and set the starting point; (c) Knowing the culture and focusing on identified problems: it allows to capture the work culture and current problems; (d) Motivating all people involved: it guides the implementation of best practices that can reduce their current problems; (e) Focusing the improvement on experience: it provides a starting point taking into account their experience in the use of models, standards or agile methodologies; and (f) Creating learning organization: it provides a starting point according the way they work at the level of best practices, which are recognized as building blocks of organizational learning and are easily implemented.

Finally, the results of the case study showed that the framework provides a staring point that guides SMEs in the identification of their current situation, environment and problems. Moreover, it provides the information regarding the model, process and practices that should be implemented to reduce the problems. In this way, it is possible to address their improvement effort.

7. References

1.  G. Gómez, A. Aguileta, G. Ancona and O. Gómez, ''Avances en las Mejoras de Procesos Software en las MiPyMEs Desarrolladoras de Software: Una Revisión Sistemática'', Revista Latinoamericana de Ingeniería de Software, vol. 2, no. 4, pp. 262-268, 2014.         [ Links ]

2.  Centre for Strategy & Evaluation Services (CSES), ''Evaluation of the SME Definition'', CSES, Kent, UK, Final Report, Sept. 2012.         [ Links ]

3.  ProMéxico, PyMES, eslabón fundamental para el crecimiento en México, 2014. [Online]. Available: http://www.promexico.gob.mx/negocios-internacionales/pymes-eslabon-fundamental-para-el-crecimiento-en-mexico.html. Accessed on: Sept. 17, 2015.         [ Links ]

4.  Asociación Mexicana de la Industria de Tecnologías de Información (AMITI), ''Esquema de Apoyo Gubernamental a la Industria del Software'', AMITI, México, D. F., México, 2001.         [ Links ]

5.  T. Williams, ''How do organizations learn lessons from projects; and do they?'', IEEE Transactions on Engineering Management, vol. 55, no. 2, pp. 248-266, 2008.         [ Links ].

6.  M. Muñoz et al., ''Expected Requirements in Support Tools for Software Process Improvement in SMEs'', in 9th Electronics, Robotics and Automotive Mechanics Conference (CERMA), Cuernavaca, Mexico, 2012, pp. 135-140.         [ Links ]

7.  C. Valtierra, M. Muñoz and J. Mejia, ''Characterization of software processes improvement needs in SMEs'', in International Conference on Mechatronics, Electronics and Automotive Engineering (ICMEAE), Cuernavaca, Mexico, 2013, pp. 223-228.         [ Links ]

8.  M. Muñoz, G. Gasca and C. Valtierra, ''Characterizing SME's needs for implementing a software process improvement: A comparative between the reality and the theory'', Revista Ibérica de Sistemas y Tecnologías de Información, no. E1, pp. 1-15, 2014.         [ Links ]

9.  K. Petersen and C. Wohlin, ''Context in Industrial Software Engineering Research'', in 3rd International Symposium on Empirical Software Engineering and Measurement, Lake Buena Vista, USA, 2009, pp. 401-404.         [ Links ]

10.  P. Clark and R. O'Connor, ''The situational factors that affect the software development process: Towards a comprehensive reference framework'', Journal of Information and Software Technology, vol. 54, no. 5, pp. 433-447, 2012.         [ Links ]

11.  B. Duron, M. Muñoz and J. Mejía, ''Estado actual de la implementación de mejoras de procesos en las organizaciones software'', in 8th Iberian Conference on Information Systems and Technologies (CISTI), Lisbon, Portugal, 2013, pp. 856-862.         [ Links ]

12.  S. Ambler, An Introduction to Process Patterns, AmbySoft Inc. White Paper, 1998. [Online]. Available: http://www.ambysoft.com/downloads/processPatterns.pdf. Accessed on: Sept. 17, 2015.         [ Links ]

13.  J. Coplien, ''A development process generative pattern language'', in 1st Conference on Pattern Languages of Programs (PLOP), Monticello, USA, 1994. pp. 1-34.         [ Links ]

14.  B. Appleton, ''Patterns for conducting process improvement'', in 4th Conference on Pattern Languages of Programs (PLOP), Monticello, USA, 1997, pp. 1-19.         [ Links ]