Hardware Reference
In-Depth Information
The rapid change increases frustration to the heavyweight plans, specifications,
and other documentation imposed by plan-driven software development with
maturity model compliance criteria [8]. Some authors assert even CMMI is not
applicable to turbulent and volatile business environments [9] concluding that
processes not only must respond to change but embrace it [10].
The competitiveness and evolution of the software market has led software
companies to avoid heavy software development methodologies and to follow
light software development methodologies, which are open for new changes. From
these needs, Agile Software Development (ASD) [11, 12] emerged with the def-
inition of the Agile Manifesto [13]. The Agile Manifesto is a statement of the
principles that underpin agile software development, some of them are continuous
delivery of valuable software, simplicity, on-site customer, and welcome changing
requirements. ASD is mainly based on the improvement of the software develop-
ment productivity, the human relationships of the development team, the tacit
knowledge processes with little ware, adaptive planning, and lightweight. These
values are preserved by introducing the customer as another member of the devel-
opment team and by doing short time-framed software development iterations.
These short iterations allow the checking of partial results of the work product
and the introduction of new changes in a simple way. As a result, software devel-
opment is more effective and adaptable; so agile methodologies have proved its
effectiveness in projects with very changing requirements [14] [15]. ASD is grow-
ing mature for large projects, and this is demonstrated by its increasing put into
practice at the industry [16, 17, 18], even for outsourcing projects [19]. In fact,
the data reported in [16] show that over 69 percent of analyzed organizations
are putting into practice agile practices on their projects.
But, what about CMMI compliant organizations that need to introduce light
software development methods for adapting to turbulent markets? And, what
about agile organizations whose clients require a certain CMMI level of compli-
ance? These issues lead to the challenge for embracing CMMI-based SPI strate-
gies and agile principles, as well as understanding the relationship between both
approaches. This challenge may be addressed through an effort to stretch agile to
fit CMMI analyzing the interrelations, constraints, and adjustments between ag-
ile and CMMI. Comparisons between CMMI and ASD have often been criticized
comparing them like oil and water [20]. However the literature has summarized
that CMMI and agile are compatible [20, 10] because agile methods are devel-
opment process descriptions and CMMI is a reference process model that it is
used for appraisals and improvements [21]. This means, CMMI tells us what to
do, while agile methods tells us how to do it.
The primary purpose of this paper is to increase the understanding of the
relationship between ASD and CMMI-DEV [22]. This paper reports empirical
results that confirm the theoretical comparisons [23, 24, 25, 26, 27] between agile
practices (in particular Scrum method) and three processes related to CMMI ca-
pability level 2. The paper is organized as follows. Section 2 analyzes background
and related work. A mapping between CMMI specific practices and agile prac-
tices is described in section 3. Section 4 presents an internal CMMI appraisal in
Search WWH ::




Custom Search