Scientia et Technica Año XXIX, Vol. 29, No. 01, enero-marzo de 2024. Universidad Tecnológica de Pereira.
Source: The authors based on Jacobson et al. [5]
III.
STATE-OF-THE-ART REVIEW
Even though some graphical representations of the agile
manifesto are underdeveloped, several authors try to map the
agile manifesto into some processes like software product lines,
system development (hardware development), and traditional
software development, among others.
Da Silva et al. [3] try to understand how to associate software
product lines and the Agile Manifesto principles. They make a
case study, a round with expert judgment, and a mapping for
discovering one approach is inadequate to relate the software
product lines to the Agile Manifesto principles. Also, they
discover analytical and empirical evidence could be subjective.
In their research, they collect evidence from SPL and map it
into different agile manifesto principles. For instance,
according to Da Silva et al. [3], in software product lines the
“time-box is very long (months), there is no meeting to reflect
about self-adaptations,” and, as a result, they said the first, third,
and twelfth principles are related; the rationale for supporting
this assertion is Agile Manifesto “fosters that is not necessary
to define everything up front before the team can start building
software,” and this is a justification for the iterative approach.
The second agile manifesto principle is related to SPL evidence
“meetings were used to communicate and update changes in the
requirements,” and the rationale for such relation is “if the team
wants to be more Agile, it is necessary to treat the requirements
as a prioritized stack which is allowed to vary over time;” that
is mapped to changes in requirements. The 10th agile manifesto
principle is mapped to "...a lot of documentation effort for a
small return on investment (value)...” with the rationale that
“focuses on high value features and strives to increase the value
to the stakeholders;” similarly, the rationale is "...prioritization
should be by requirements, features, and/or use cases instead of
modules...;" as a result of the previous statement, they related
to 10th principle because it is "aimed at the use of
prioritization." Consequently, we need a common ground for
comparing SPL evidences and relating them to the Agile
Manifesto principles in a more objective way.
Kaisti et al. [2] propose the definition of an agile system
development process. They say the agile manifesto is focused
on software development instead of hardware development and
mechanical engineering activities. In the case study, they
emphasize and challenge each one of the agile manifesto
principles for defining an agile system development process. In
particular, Kaisti et al. [2] emphasize the first principle is
focused on “customer satisfaction, continuous delivery, value,
and early deliveries;” in this case, the challenge according to
Kaisti et al. [2] is “definition of deliverable, long development
cycles.” The second principle of the agile manifesto is
associated with adaptability, competitiveness, and customer
benefit; according to Kaisti et al. [2] the challenge in agile
system development is “high cost of change late in
development.” The third agile manifesto principle is associated
with frequent deliveries; Kaisti et al. [2] say the challenge is
“definition of deliverable, the cost of delivering the whole
system, long development cycles.” The 10th agile manifesto
principle is related to simplicity and optimizing work, and the
challenge in agile manifesto principles is face long cycles. Also
in this case the lack of a common ground can help to avoid
subjective interpretation of the emphasis and challenges.
A model for mapping the traditional software development
process approach into agile software development process is
based on several traditional software development processes—
i.e., spiral and waterfall—and the agile approach [4]. Such a
model is shown in (1) and (2) as follows:
CE= Implicit Factors + Explicit Factors. (1)
MF = (T, J, I, F, D, M, TG, MO, E, B, CE) (2)
Where
MF: mapping function.
T: Large equipment to small teams.
J: Major tasks to small stories.
I: Long iterations to small sprints.
F: long feedback cycles to instant feedback.
D: late deliveries to small and quick deliveries.
M: Long meetings to daily and short meetings.
TG: Testing conducted late to early evaluation with testing.
MO: Two monitors to a terminal for pair programming.
E: Estimation with lines of code to estimation with story
points.
B: Project manager to head off approach.
CE: Effective coordination.
According to Popli et al. [4], the model resembled by (1) and
(2) is based on expert judgment and therefore some degree of
subjectivity can arise. If we express the agile manifesto
principles on a common ground, we can make a mapping
between traditional and agile methods, and we can find
parameters for making a function/model for mapping traditional
methods into agile methods.
IV.
REPRESENTATION OF SOME PRINCIPLES OF AGILE
MANIFESTO IN THE SEMAT ESSENCE KERNEL
In this Section we propose the representation of some
principles of the Agile Manifesto in a common ground. This
representation can help to reduce subjectivity in the Agile
Manifesto by using a software engineering standard.
Furthermore, we can help to assess several processes and
methods related to the principles of the Agile Manifesto. Here,
we develop the representation of principles 1, 2, 3, and 10
because they represent change responses, working software,
and simplicity, essential features in Agile Software
Development according to the values of the Agile Manifesto.
The first principle is described in the Agile Manifesto as
follows: “Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software.” In this
principle, the main idea is the early and continuous delivery of
valuable software. Here, we involve the software system alpha
in the usable state, since according to the Semat Essence kernel,
such a state is accomplished when “the system is usable and
demonstrates all of the quality characteristics required of an