Francisco J. Pino
IDIS Research Group
Electronic and Telecommunications Engineering Faculty University of Cauca, Street 5 # 4 – 70 Popayán, Colombia.
Félix Garcia, Mario Piattini
ALARCOS Research Group
Information Systems and Technologies Department, UCLM–Soluziona Research and Development Institute University of Castilla–La Mancha, Paseo de la Universidad, 4 – 13071 Ciudad Real, Spain.
Felix.Garcia, [email protected]
Keywords: Practices priorization, Software process improvement, SPI, Software process management, Small software enterprises, VSEs, SMEs, Reference process model.
Abstract: From the very beginning of present century XXI onwards, the Software Engineering community (industry and researchers) has expressed a special interest in Software Process Improvement –SPI– for Small Software Enterprises VSEs. This growing interest is because the software industry in most countries has an industrial backcloth, made up mainly of small software organizations which favour the growth of national economies. In order to fortify this sort of organizations, efficient strategies, practices or guides about SPI tailoring to their size and business kind is needed. Therefore in this article a set of processes (and the way like has been obtained) that consider high-priority when initiating the implementation of a project SPI in VSEs, is presented. The objective is to show a strategy to the VSEs about first processes that must consider when they undertake a project SPI. The processes proposed in this article are fundamentally based on the analysis and contrast of several research works carried out by the COMPETISOFT project. The fundamental principle of the proposal is that process improvement must be connected with the other software process management responsibilities.
1 INTRODUCTION
From the very beginning of present century XXI onwards, the Software Engineering community (industry and researchers) has expressed a special interest in Software Process Improvement –SPI– for Small Software Enterprises –VSEs–. This is evidenced by the growing number of articles that deal with the topic of SPI in VSEs, something that is seen in the analysis of the trends in publications about this subject, presented in (Pino et al., 2006).
Too by the appearance of a great number of standards and proposals related with SPI for VSEs, for instance:
The European Union has encouraged initiatives like European Software and System Initiative –ESSI– and projects such as
Software Process Improvement in Regions of Europe –SPIRE– (SPIRE, 1993), Toward Organized Software Processes in SMEs – TOPS– (Esprit_Project, 1999), among others
The Mexico Economy Secretary created the Program for the Software Industry Development (PROSOFT) that has given origin to the Process Model for the Software Industry – MoProSoft – (Oktaba, 2005) and to the Method for Process Assessment for the Software Industry – EvalProsoft – (Oktaba, 2004).
In Brazil the government subsidized the Productivity and Quality Software Program – PBQP– (Bedini et al., 2005) and has been developed the MPS.BR Project (melhoria do processo of software brasileiro) (Weber et al., 2005).
In Colombia the SIMEP-SW Project has been developed, it was financed by Colciencias and the University of Cauca. The main result is the Framework for the Software Processes Improvement in Small Companies so-called Agile SPI. (Hurtado et al., 2007).
The International Process Research Consortium – IPRC – from Software Engineering Institute – SEI –, has a research initiative about process improvement in small settings as one of the early high-priority topics. The "small settings" term include small teams, small projects, small organizations, and small businesses.
The International Organization for Standardization –ISO– shaped the workgroup SC7-WG24 in order to the development of software life-cycle profiles and guidelines for use in very small enterprises.
It growing interest about SPI in VSEs is because these companies are a very important cog in the gears of the economy of many nations in the world.
The software industry in most countries has an industrial backcloth, made up mainly of small software organizations which favour the growth of national economies. In order to fortify this sort of organizations, efficient strategies, practices and/or guides about process software improvement tailoring to their size and business kind is needed.
Currently COMPETISOFT project is developed.
This project deals with the creation of the software reference process, assessment and improvement models adapted to the characteristics of the software industry in Latin America, mainly composed of small-sized enterprises. The COMPETISOFT approach is based on models which have previously shown their practical usefulness, such as:
MoProSoft, EvalProSoft, Agile SPI, MPS.BR, Mares, among others.
A strategy of COMPETISOFT Project is the accomplishment of theoretical and/or practical studies in the area of SPI for VSEs, which provides information in order to have more judgment elements and thus facilitate the adoption and implantation of international or regional standards related to SPI in VSEs. Therefore in this article a set of processes (and the way like has been obtained) that consider high-priority when initiating the implementation of a project SPI in VSEs, is presented. The objective is to show a strategy to the VSEs about first processes that must consider when they undertake a project SPI.
The paper proceeds as follows. In Section 2 the related works are presented. Section 3 presents research works use for the processes priorization. In the section 4 the high-priority processes are displayed. Finally, the conclusions and future work are outlined.
2 RELATED WORKS
There are several related works that present a set of processes, which could use the VSEs in order to derive much benefit from the process improvement, as such as:
MoProSoft proposes 6 processes (based on ISO 12207, CMM, ISO 9001): Business management, Processes Management, Projects Management, Resources management, Administration of specific projects, and Software development and maintenance.
MPS.BR proposes 23 processes (based on ISO 12207 and CMMI): Organizational innovation and deployment, Causal analysis and resolution, Organizational process performance, Quantitative project management, Risk management, Decision analysis and resolution, Requirements development, Technical solution, Validation, Verification, Software integration, Software installation, Product release, Training, Process establishment, Process assessment and improvement, Tailoring process for project management, Configuration management, Quality assurance, Acquisition, Measurement, Project management and Requirements management.
RAPID (Cater-Steel et al., 2005) proposes 8 processes (based on ISO 15504:1998): Requirements elicitation, Software development, Configuration management, Quality assurance, Project management, Problem resolution, Risk management, Process establishment.
PROCESSUS proposes 6 processes (based on CMM and ISO 9001): Customer relationship management, Project management, Software engineering, Supporting activities, Process management and Process automation.
ADEPT (McCaffery et al., 2006) proposes 12 processes (based on CMMI):
Requirements management, Configuration management, Project planning, Project monitoring & control, Measurement &
analysis, Process & product quality assurance, Risk management, Technical solution, Verification, Validation, Requirements development, Product integration.
All the previous research works are related with assessment methods or process reference models, and all of them define a group of processes that should be taken into account by the VSEs in the improvement programme. However, these proposals do not consider important aspects like the reasons that lead to select a particular process, or the criterion to define its priority.
The main contribution this work pretend to make to the SPI on VSEs subject is to propose and prioritize several reference processes based on the very special features VSEs have, as well as the existing literature about SPI. It is also exposed the concepts about VSEs and SPI in which is supported the analysis and synthesis to prioritize the processes.
The prioritize of processes allows to guide the VSEs about practices which be done at the beginning of a SPI project, not matter the process reference model used.
It is important to emphasize this work wants to explain to VSEs which processes to tackle at the beginning of a SPI project. The description of the processes as well as their results, conclusions, practices, inputs, etc., are available on the process reference models material such as MoProSoft, MR- MPD de MPS.BR, RAPID, PROCESSUS, ADEPT, ISO/IEC 12207, CMMI.
3. RESEARCH WORKS USED FOR PRIORITIZATION
The main goal of the COMPETISOFT project is to provide the software industry in Latin America with a reference framework for software process improvement and certification, which will enable them to be more competitive in the global market.
The research method applied in the definition, refinement and application of the COMPETISOFT model is Action-Research (A-R). Figure 1 provides a summary of the A-R application.
Figure 1:A-R application to the COMPETISOFT project The participants in the COMPETISOFT project could be grouped into two main categories:
Researchers and Critical reference group.
The processes proposed in this article are fundamentally based on the analysis and contrast of three research works carried out by the COMPETISOFT project:
An exploration of the software process practice background in the south-western Colombian software industry.
A systematic review about software process improvement on small software enterprises.
An analysis of the contribution of international standards to management and improvement software process.
As follows, the results of the previously described research works used to prioritize will be detailed.
3.1 South-western Colombian software process practice background.
This section offers an outlook of the software development processes in the south-western Colombian software industry by means of a research made on 2005 which used methods of survey and interview. The research was applied to 20 outstanding local companies, with 2 people taking at least 2 hours each survey and interview. Interviews first were focused on managing directors and then on the development area head. The research group was always present carrying out the survey by clarifying the objectives, the way it should be
answered, and by solving any kind of doubt the participants could have.
The research intended to find out what techniques or practices the companies carry out in order to support every single fundamental discipline or development software area. This information was used to create a profile to estimate the most implemented disciplines used by the polled companies (see figure 2).
Figure 2:Implementation disciplines profile on companies The implementation degree specified on figure 2 depends on the number of practices companies use to implement a particular discipline, and the utilization frequency of these practices by the entire sample.
Analysis and Design is the most implemented discipline according to the results exposed on figure 2, and requirement management is the discipline with the least implementation degree. Now, if it is also considered that the implementation degree of a discipline is a result of the company interests to carry it out, it is correct to affirm that companies are more interested on disciplines related to Engineering Process Group (requirement elicitation, analysis and design, software construction, testing and software installation. The nomenclature of processes areas and processes from ISO15504-5 standard is followed). The companies are less interested on disciplines related to Management Process Group (planning, tracking and control) and with the Support Process Group (quality assurance, configuration management and requirement management).
The modest interest on business modelling can be understandable because of the most of this kind of companies visualizes a market segment to offer their software products. Knowing very well the business and to make software products considering these know-how, becomes a competitive advantage.
3.2 Systematic review about SPI in small software enterprises
In this section we showed an overview of a systematic review of the literature which deals with SPI efforts carried out in small software enterprises presented in (Pino et al., 2006). Its objective was to discover what has already been carried out and achieved as regards software process improvement in this type of companies. To carry out the systematic review of SPI in SMSEs, was followed the method proposed by Barbara Kitchenham in (Kitchenham, 2004) and the protocol template presented by Biolchini in (Biolchini et al., 2005).
On this research a vision on towards where the improvement efforts have been concentrated on small software enterprises, is presented. The frequency of the improved processes is presented in figure 3, considering the categories and groups of processes defined on the ISO/IEC 15504-5:2006 standard.
Figure 3: Process improvement by improvement efforts in small software enterprises
From figure 3 can be concluded that the project management is the process with the highest improvement frequency. Now, if it is also considered that the frequency of improved of a processes is a result of the company interests to carry out improvements on these practices, it is correct to affirm that companies are more interested on improving: (i) the processes of project management related to management process group;
and (ii) the documentation processes, change request management and configuration management related to the support process group. Companies have not that much interest on carrying out improvements about engineering process group, with the exception of the requirements elicitation process.
It is important to emphasize that there are many processes as is the case of acquisition and supply processes group, which do not report any type of improvement.
3.3 International standards contribution to the software processes management and improvement.
The way as some knowledge areas from SWEBOK (guide to the software engineering body of knowledge) – in addition to the way as the processes defined on the ISO/IEC 12207:2004 standard (ISO_12207, 2004) contribute to the support of the four key responsibilities of software process management (which are definition, measure, control and improvement of processes (Florac et al., 1997)), are discussed in (Pino et al., 2007). Figure 4 shows the way as processes of a unique standard (like ISO 12207 standard) supports these responsibilities.
Besides, it shows an outlook of the close relationship exists between the software process management and the software process improvement.
Figure 4: ISO/IEC 12207 processes and its close relationship with process management responsibilities
Due to this work is related to the software process improvement area, it is important to have special interest on the processes strongly tied to the responsibility of improving processes: (1)
organizational alignment and measurement related to the management process group, and (ii) process establishment, process assessment and process improvement related to Process improvement process group. It is essential to have in mind that the process improvement is immersed in the process management.
4. PRIORITIZED PROCESSES AND DISCUSSION
The processes that are proposed as high-priority in the implementation of a software process improvement programme in small software enterprises are described on Table 1. With the aim of expressing these processes in terms of an internationally recognized reference model, the nomenclature of processes and group of process defined on the ISO/IEC 15504-5:2006 standard, is followed. This standard has been chosen because its processes group has greater detail degree.
Table 1: Processes proposed to begin SPI on VSEs.
The processes displayed on the previous table have practices extracted from the research works showed on section 3. Within the SPI scope at the interior of a VSE, it is proposed:
The engineering process group with the aim of improving and complementing the technical disciplines (analysis and design, software construction, etc) that are the most executed by VSEs (section 3.1). The intention is to consolidate this area in order to guarantee the responsibilities be carried out following the best practices proposed by a reference model. It is necessary to place great emphasis on the requirement elicitation because is a
discipline that tends to be implemented and improved (see figure 2 and 3).
The processes of project management, documentation, change request management, process establishment, configuration management and quality assurance. These processes have been subject of a lot of improvements intentions by the SPI efforts, carried out on VSEs, as it is observed on figure 3. These processes also contribute to support the control process responsibility within the software process management.
The processes of organizational alignment, measurement, process establishment, process assessment and process improvement, because these practices are tightly related to the responsibilities of define, measure and improve process within the software process management.
According to (Derniame et al., 1999) the emphasis in the process and in the process management provides the main justification of a lot of standardization initiatives, such as CMMI, SCAMPI, ISO/IEC 15504, ISO/IEC 12207 (in addition to the efforts of measuring the process capability) and therefore of other offers based on the philosophy of these standards. The process improvement, following the conception of measuring its capability is based on the statistical processes control. The statistical processes control is based on the management process and its four key responsibilities. It is also important to stand out that the process improvement is immersed as a responsibility within the software process management (Florac et al., 1997), see figure 4.
On the other hand, VSEs are generally created because of the execution of a successful project. In fact, in these organizations the process is carried out of innate way. The process is born with the organization although it is neither defined nor visible. These organizations start their operation with the execution of technical processes which is an inherent responsibility of the project management.
According to section 3.1 and 3.2 a high risk exists which the VSEs never to go out of the execution of technical processes, and an evidence of that is: (i) the interest of implementing these processes and (ii) the introduced improvements on these kind of companies are concentrated on project management.
The project management is responsible for seeing that a software product is developed according to a plan and that the plan is feasible.
Therefore, is important that through software process improvement, the enterprises can carry its processes from process execution and project management up to the establishment of the four software process management responsibilities. We propose that group of process should be prioritized in this way:
First of all, carrying out the process improvement process group.
At second, carrying out the group of management process group.
At third, carrying out the support process group.
Finally, carrying out the group of process of engineer.
In order to carry out the SPI on the VSE, the first step is to follow an iterative and incremental
improvement process (for instance,
PmCOMPETISOFT (Vidal et al., 2006)). The improvement process guide the creation (or improvement) of processes inside the VSE, with the objective of creating a basic infrastructure for software process management on the first iteration.
This infrastructure is based on the following processes: process improvement, process establishment, process assessment, organizational alignment, project management, and measurement.
With the improvement or creation of these process and its later execution inside the VSE, responsibilities such as defining, measuring, and improving the process are supported (see figure 4).
The next step is to install with a second improvement project iteration, the processes related to support process group. These processes, besides to being those that greater number of VSEs they look for to improve, help to support and deal with the responsibility of control process (see figure 4).
The process control tries to make results predictable, which means keeping the process inside its normal inherent limits of operation.
Finally it must be installed through more improvement project iterations, practices related to the engineering process group. It is possible to include other processes determined by the business objectives of the organization too.
5 CONCLUSIONS AND FUTUTE WORKS
This work is a contribution to the SPI on VSEs area.
This article has proposed and prioritized a group of processes to guide VSEs as they begin a SPI project.
It has also exposed the works and detailed reasons that lead to choose and prioritize these processes.
The conceived processes prioritization was done considering the process improvement is not an isolated activity, but related to process management.
The fundamental principle of the proposal is that process improvement must be connected with the other process management responsibilities.
Considering this, a SPI on VSE project must first establish a basic infrastructure related to the process management responsibilities. This is the reason that the first considered processes be the group of improvement and management with the objective of creating the ring of Improve-Define-Execute- Measure necessary for process management. The second step is to include the control process through the support process group. Finally, to carry out the engineering process improvement. It is important to emphasise that the establishment of this infrastructure involves itself improvement inside the VSE.
The future work is to apply this proposal in order to its refinement and validation. The apply will be made on different improvement processes projects that will be carried out on the Latin American companies involved with the COMPETISOFT project.
ACKNOWLEDGEMENTS
This work has been funded by the following projects: COMPETISOFT” (506PI287) financed by CYTED; MECENAS” (PBI06-0024) granted by the
“Junta de Comunidades de Castilla-La Mancha” of Spain; and ESFINGE (TIN2006-15175-C05-05) financed by Dirección General de Investigación of the Ministerio de Educación y Ciencia of Spain.