PRIORITIZATION OF PROCESSES FOR SOFTWARE PROCESS
IMPROVEMENT IN SMALL SOFTWARE ENTERPRISES
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
Keywords: Prioritization of processes, Software process improvement, SPI, Software process management, Small
software enterprises, VSEs, SMEs, Reference process model.
Abstract: In this article a set of processes which are considered to be of high-priority when initiating the
implementation of a Software Process Improvement –SPI– project in Very Small Software Enterprises –
VSEs–, is presented. The objective is to present the VSEs with a strategy to deal with the first processes that
must be considered when they undertake an SPI project. The processes proposed in this article are
fundamentally based on the analysis and contrast of several pieces of research 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 beginning of the 21st century onwards, the
Software Engineering community (industry and
researchers) has expressed a special interest in
Software Process Improvement –SPI– for Small
Software Enterprises –VSEs–. Interest in SPI in
VSEs is growing due to the fact that these
companies are an extremely 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 kind of
organizations, efficient strategies, practices and/or
guides to tailor software process improvement to
their size and type of business are needed.
Currently, the COMPETISOFT project is being
devel
oped. 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. One of
the strategies of the COMPETISOFT Project is to
carry out theoretical and/or practical studies in the
area of SPI for VSEs, which provide information in
order to attain more elements of judgement and to
thus facilitate the adoption and implantation of
international or regional standards related to SPI in
VSEs. In this article a set of processes which are
considered to be of high-priority when initiating the
implementation of a project SPI in VSEs, is
presented. The objective is to present the VSEs with
a strategy to deal with the first processes that must
be considered when they undertake an SPI project.
The paper proceeds as follows. In Section 2
related works
are presented. The high-priority
processes are shown in Section 3 and 4, and finally,
our conclusions and future work are outlined.
2 RELATED WORKS
There are various related works that present a set of
processes which VSEs could use to derive
significant benefit from process improvement. These
include:
337
J. Pino F., Garcia F. and Piattini M. (2007).
PRIORITIZATION OF PROCESSES FOR SOFTWARE PROCESS IMPROVEMENT IN SMALL SOFTWARE ENTERPRISES.
In Proceedings of the Second International Conference on Software and Data Technologies - SE, pages 337-340
DOI: 10.5220/0001330503370340
Copyright
c
SciTePress
MoProSoft (Oktaba, 2005) proposes 6
processes (based on ISO 12207, CMM).
MPS.BR (Weber et al., 2005) proposes 23
processes (based on ISO 12207 and CMMI).
RAPID (Cater-Steel et al., 2005) proposes 8
processes (based on ISO 15504:1998).
PROCESSUS (Horvat et al., 2000) proposes 6
processes (based on CMM and ISO 9001).
ADEPT (McCaffery et al., 2006) proposes 12
processes (based on CMMI).
The main contribution that this work pretends to
make in the area of SPI in VSEs is to propose and
prioritize several reference processes based both on
the VSEs’ special characteristics and on the existing
literature dealing with SPI. Prioritization of
processes allows VSEs to be guided in the question
of which practices should be carried out first at the
beginning of an SPI project, regardless of the
process reference model used. It is important to
emphasize that this work wishes to explain to VSEs
which processes to tackle at the beginning of an SPI
project. The description of the processes as well as
their results, conclusions, practices, inputs, etc., are
available in process reference model material such
as MoProSoft, MR-MPD de MPS.BR, RAPID,
PROCESSUS, ADEPT, ISO/IEC 12207, CMMI.
3 SELECTION OF PROCESSES
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 background of
software process practices in the south-
western Colombian software industry
(Hurtado et al., 2006). From this research
work we can see that companies are more
interested in the implementation of disciplines
related to the Engineering Process Group
(requirement elicitation, analysis and design,
software construction, testing and software
installation). The companies are less interested
in disciplines related to the Management
Process Group (planning, tracking and
control) and to the Support Process Group
(quality assurance, configuration management
and requirement management).
A systematic review of software process
improvement in small software enterprises
(Pino et al., 2006). From this research work
we can see that companies are more interested
in improving: (i) the processes of project
management related to the management
process group; and (ii) the documentation
processes, change request management and
configuration management related to the
support process group. Companies do not
appear to show much interest in carrying out
improvements to the engineering process
group, with the exception of the requirement
elicitation process.
An analysis of the contribution of
international standards to the management
and improvement of software process (Pino
et al., 2007). As this work is related to the area
of software process improvement, it is
important to express a special interest in the
processes which are strongly connected to the
responsibility of improving processes: (i)
organizational alignment and measurement
related to the management process group, and
(ii) process establishment, process assessment
and process improvement related to the
Process improvement process group. It is
essential to bear in mind that process
improvement is immersed in process
management.
The processes that are proposed as high-priority in
the implementation of a software process
improvement programme in small software
enterprises are described in Table 1. With the aim of
expressing these processes in terms of an
internationally recognized reference model, the
nomenclature of processes and groups of process
defined in the ISO/IEC 15504-5:2006 standard, is
followed. This standard has been chosen because its
process group has a greater degree of detail.
Table 1: Processes proposed to begin SPI in VSEs.
ENG 1. Re
q
uirements elicitation
ENG 2. S
y
stem re
q
uirements anal
y
sis
ENG 3. S
y
stem architectural desi
g
n
ENG 4. Software re
q
uirements anal
y
sis
ENG 5. Software desi
g
n
ENG 6. Software construction
ENG 7. Software inte
g
ration
ENG 8. Software testin
g
ENG 11. Software installation
ENG 12. Software maintenance
SUP 1.
ualit
assurance
SUP 7. Documentation
SUP 8. Confi
g
uration mana
g
ement
SUP 10. Chan
g
e re
q
uest mana
g
ement
MAN 1. Or
g
anizational ali
g
nment
MAN 3. Pro
j
ect mana
g
ement
MAN 6. Measurement
PIM 1. Process establishment
PIM 2. Process assessment
PIM 3. Process im
p
rovement
ENG Engineering Process
Group
MAN Management Process
Group
PIM Process Improvement
Process Group
SUP Support Process Group
ICSOFT 2007 - International Conference on Software and Data Technologies
338
The processes displayed in the previous table are
organized into process groups, which have been
selected according to the results of the research
shown previously. For the selection of these
processes the following issues have been considered:
The engineering process group with the aim of
improving and complementing the technical
disciplines (analysis and design, software
construction, etc) which are those most
frequently carried out by VSEs. The intention
is to consolidate this area in order to guarantee
the responsibilities to be carried out by
following the best practices proposed by a
reference model. It is necessary to place great
emphasis on requirement elicitation because it
is a discipline that tends to be implemented
and improved.
The processes of project management,
documentation, change request management,
process establishment, configuration
management and quality assurance. These
processes have been the subject of many
improvement attempts by SPI efforts carried
out in VSEs. These processes also contribute
to the support of control process responsibility
within software process management.
The processes of organizational alignment,
measurement, process establishment, process
assessment and process improvement, because
these practices are closely related to the
responsibilities of defining, measuring and
improving processes within software process
management.
4 PRIORITIZATION OF
PROCESSES
According to (Derniame et al., 1999) the emphasis
on processes and on process management provides
the main justification for many standardization
initiatives, such as CMMI, SCAMPI, ISO/IEC
15504, ISO/IEC 12207 (in addition to the efforts of
measuring process capability) and therefore for other
proposals based on the philosophy of these
standards. Process improvement, following the
conception of measuring its capability, is based on
statistical processes control. Statistical processes
control is based on the management process and its
four key responsibilities: improve the process, define
the process, measure the process and control the
process. It is also important to emphasize that
process improvement is immersed as a responsibility
within software process management (Florac et al.,
1997).
On the other hand, VSEs are generally created as
the result of having carried out a successful project.
In fact, in these organizations the process is carried
out in an innate way. The process is born with the
organization although it is neither defined nor
visible. These organizations start their operation by
carrying out technical processes, which is an
inherent responsibility of the project management.
According to the information presented in (Hurtado
et al., 2006) and (Pino et al., 2007) there is a high
risk that VSEs will never cease to carry out technical
processes, and evidence of this is: (i) their interest in
implementing these processes and (ii) the
improvements introduced into these kind of
companies are concentrated on project management.
Project management is responsible for ensuring that
a software product is developed according to a plan
and that that plan is feasible.
Therefore it is fundamental that, through
software process improvement, the enterprises can
carry their processes from process execution and
project management up to the establishment of the
four software process management responsibilities.
We propose that process groups should be
prioritized by setting up the process groups in the
following order:
The process improvement process group.
The management process group.
The support process group.
The process engineering group.
Once the SPI programme has been established in
the VSE, the first step is to follow an iterative and
incremental improvement process (for instance,
PmCOMPETISOFT (Vidal et al., 2006)). The
improvement process guides the creation (or
improvement) of processes within the VSE, with the
objective of creating a basic infrastructure for
software process management at 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 processes
and their later execution within the VSE,
responsibilities such as defining, measuring, and
improving the process are supported.
The following step is to use a second
improvement project iteration to set up the processes
related to the support process group. Besides being
those that the majority of VSEs look to improve,
these processes also help to support and deal with
PRIORITIZATION OF PROCESSES FOR SOFTWARE PROCESS IMPROVEMENT IN SMALL SOFTWARE
ENTERPRISES
339
the responsibility of controlling the process. Process
control tries to make results predictable, which
means keeping the process within its normal
inherent limits of operation.
Finally, practices relating to the engineering
process group must be established through more
improvement project iterations. It is also possible to
include other processes determined by the
organization’s business objectives.
5 CONCLUSIONS AND FUTURE
WORKS
This article has proposed and prioritized a group of
processes with which to guide VSEs as they begin
an SPI project. The process selection and
prioritization which has been carried out was based
on the fact that process improvement is not an
isolated activity, but is closely related to process
management.
The fundamental principle of our proposal is that
process improvement must be connected to the other
process management responsibilities. Having taken
this into consideration, an SPI in VSEs project must
first establish a basic infrastructure related to the
responsibilities of the process management. This is
the reason why the first processes to be established
must be those in the improvement and management
group, 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, engineering process improvement
must be carried out. It is important to emphasise that
the establishment of this infrastructure in itself
implies process improvement within the VSE.
Our future work is to apply this proposal in order
to refine and validate it. This application will be
made to different process improvement projects that
will be carried out in the Latin American companies
involved in 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.
REFERENCES
Cater-Steel, A. P., M. Toleman and T. Rout, 2005.
Process improvement for small firms: An evaluation of
the RAPID assessment-based method. Information and
Software Technology Vol. in press December pp. 1-
12.
Derniame, J.-C., A. B. Kaba and B. Warboys, 1999. The
Software Process: Modelling and Technology.
Software process: principles, methodology, and
Technology. Germany, Springer: 1-12.
Florac, W. A., R. E. Park and A. D. Carleton, 1997.
Practical Software Measurement: Measuring for
Process Management and Improvement, Pittsburgh,
Software Engineering Institute, Carnegie Mellon
University pp. 1-12.
Horvat, R. V., I. Rozman and J. Györkös, 2000. Managing
the complexity of SPI in small companies. Software
Process: Improvement and Practice. Vol. 5(1) March
pp. 45-54.
Hurtado, J., F. Pino and J. Vidal, 2006. Software Process
Improvement Integral Model: Agile SPI. Technical
Report SIMEP-SW-O&A-RT-6-V1.0. 2005. Popayán,
Colombia, Universidad del Cauca - Colciencias.
McCaffery, F., I. Richardson and G. Coleman, 2006.
Adept – A Software Process Appraisal Method for
Small to Medium-sized Irish Software Development
Organisations. European Systems & Software Process
Improvement and Innovation (EuroSPI 2006),
Joensuu, Finland, pp. 7.12-7.21
Oktaba, H., 2005. Modelo de Procesos para la Industria
de Software - MoproSoft - Versión 1.3, Agosto de
2005. NMX-059/01-NYCE-2005. Ciudad de México,
México, NYCE.
Pino, F., F. Garcia and M. Piattini, 2006. Revisión
sistemática de mejora de procesos software en micro,
pequeñas y medianas empresas. Revista Española de
Innovación, Calidad e Ingeniería del Software
(REICIS) Vol. 2(1) Abril pp. 6-23.
Pino, F., F. Garcia and M. Piattini, 2007. Contribución de
los estándares internacionales a la gestión de
procesos software. Revista de Procesos y Métricas
Abril pp. in press.
Vidal, J., J. Hurtado, F. Pino, H. Oktaba and M. Piattini,
2006. Proceso de mejora - Informe Técnico D.21
Proyecto COMPETISOFT (506AC0287). Ciudad Real,
España, CYTED.
Weber, K., E. Araújo, A. Rocha, Machado, D. Scalet and
C. Salviano, 2005. Brazilian Software Process
Reference Model and Assessment Method. Computer
and Information Sciences, Springer Berlin /
Heidelberg. 3733: 402-411.
ICSOFT 2007 - International Conference on Software and Data Technologies
340