The Analysis of Current State of Agile S
The Analysis of Current State of Agile S
ABSTRACT
The agile software development methods are studied in this paper. Agile software development methodology
was formally represented to the community of software engineering through twelve principles and four core
values. Agility is considered the cornerstone of the agile software development. This contrasts with the plan-
driven technique that is explained in different conventional models (e.g. Waterfall). Currently, the agile
development is an important development approach, which is derived from practical uses to encourage the
cooperation between users and developers so that fast development processes could be supported, and to
adapt with the modifications that are affecting the dynamic environment. Many agile methods are currently
available in the literature with Scrum and Extreme Programming (XP) methods forming two most commonly
used methods. This study demonstrates the value of applying the agile methods in developing software
projects by analysing the current agile methods. The study results reveal that the agile development
introduces significant benefits over conventional methodologies. However, these benefits are not compatible
with all projects and situations. The results also show a decline in the interest in XP, while the interest in
Scrum is increasing all the time.
Keywords: Agile development, XP, Scrum, Adaptive software development, Crystal, Lean development
3197
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
1
See http://agilemanifesto.org/
3198
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
3199
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
The agile software development’s value in the agile software development for the product in
comparison with the conventional methods focuses order to spend less on time for documentation in
on the interactions of the users and developers as one aiding a fast software delivery [26]. The
primary successful driver [25]. Although the concentration of the third value is based on how to
Standish Group’s reports [11] can be argumentative, successfully collaborate with the customer [28]. The
they mention that the developed software using the decision-maker, as role for the project manager, is
agile approach has three times the success rate of the highly reduced [24]. The fourth value of change
conventional Waterfall, and a much lower time and adaption means that the incremental and iterative
cost percentages. Based on the promises held by the features of the agile software development with
agile practices, these methods provide the potential various product releases enable the project teams to
for enabling the teams of the software development adopt and give prompt responses [29]. The agile
to adapt to the ever changing requirements of the manifesto concentrates on the customer
customer within high collaborative and interactive collaboration and working software [30]. The
levels that could result with better outcomes manifesto aims at achieving the customer’s
pertaining the project [25]. satisfaction by performing a fast delivery for the
product. The agile manifesto also concentrates on
2.2. Agile Manifesto the delivery of the valuable software [31].
In 2001, a group of 17 advocates who are
relying on lightweight software engineering The focus of this study is to analyze the
methods, and who are grouped together in order to current agile methodologies to answer the following
build the agile Manifesto [3, 26]. The Agile questions: is there any lack in the theoretical basics
Manifesto produces a group of four core values that of the agile development? Are there significant
are appropriate for organisations that adopt the benefits of using agile development over other
agility in software development. In the early 2000s, conventional methods? and what is the best Agile
these core values were brought by previous method in use?
lightweight methods that are provided by these
agilists [3]. Therefore, the essence of agile 3. AGILE METHODS
development is formed by four values, which are Miller [32] mentioned the following set of
comprised as: features to the agile software processes based on fast
delivery, which shortens the development life-cycles
Individuals and interactions over processes and of projects:
tools 1. Short cycles with Iterative that enable rapid
Working software over comprehensive corrections and verifications.
documentation 2. Modularity for the development process level
Customer collaboration over contract negotiation 3. Iteration cycles ranging from 1 to 6 weeks.
Responding to change over following a plan 4. Adaptive with current potential emergent risks.
5. An incremental process method allows creating
The concentration of the first value is on and functioning applications through small steps.
interactions and individuals, which implies that the 6. The stinginess in the improved process eliminates
agile software development team is considered as the entire unneeded activities.
‘flexible and organic’ instead of ‘formalised, 7. People-oriented, that is, the agile processes help
bureaucratic, and mechanistic” [24]. Decision- users through any technologies and processes.
making can be delayed by specialized roles within 8. Incremental (and convergent) method attempts at
the operational level based on different teams [27]. reducing any risks.
Here, the developers have self-organize, blend and 9. Communicative and collaborative working style.
interchange various roles [28]. As indicated by the
second value, the documentation is deprioritized by
3200
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
Various software engineering approaches focused on a set of practices, principles and values
were produced in the early 2000s. Such approaches in which the developers have to use to develop the
rely on the ideas of an evolutionary, iterative and software responsiveness to change and its quality.
incremental software development processes [3]. The XP aims at delivering useful concepts and ideas
Since these approaches include the four indicated pertaining to the software engineering to “extreme”
core parameters of the agile software engineering, levels degrees [38].
they were afterwards called agile methodologies. In
this section, the recent state of the agility for The XP has developed from problems that
software development methodologies are studied. were caused based on the long development cycles
Not only are Scrum and Extreme Programming the of conventional development methodologies [39]. It
most influential, but are currently also considered begins with practices that are seen to be operative in
the most common methods [3, 33]. There are many processes that are related to software development
other approaches, which are either rediscovered or [21]. The XP methodology is "theorised" according
invented to refer to the same family of software to the key practices and principles that are being used
development methodologies. Such approaches [38]. Despite the fact that the XP individual practices
comprise Crystal Methods [34], Feature-Driven are not up-to-date, they are still lined up and
Development (FDD) [35], Adaptive Software collected in order to function together based on
Development (ASD) [16], Agile Unified Process novel methods, and thus constituting a new
(AUP) [36] and Lean Software Development (LSD) development method.
[37]. Fig. 1 shows the state-of-the-art agile
methodologies, and in the following subsections, an The XP attracted an essential attention due
overview of these agile methodologies is to its importance in testing, simplicity,
highlighted. communication and its maintainable developer-
oriented practices including its motivating name
[40]. The XP programmers support a robust
concentration on a software coding process rather
than a documentation or plans. Additionally, the
software quality is considered to be the basic
concentration where the quality must be enduringly
checked based on automated tests. Furthermore, XP
programmers maintain simple design and avoid
characteristics that are overmanned [3].
3201
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
Fig. 2. XP method
can earlier increase the alerts if things go askew.
The development team does not make a The customer identifies the acceptance tests of XP,
move to the code after performing the preliminary aka customer tests, to concentrate on the entire
design work, but it instead creates a sequence of unit functionality and characteristics of the system,
tests to practice every story that is involved within which are reviewable and visible by the customer.
the new release or increment. When each unit test is The Industrial XP (IXP) is variant of the XP and
developed, the development team can concentrate on was proposed recently [41]. The XP is refined by
what must be applied to efficiently pass the test. the IXP and the agile process is targeted by the IXP
When completing the code, it can be directly unit- when it is mainly being used through large
tested. The main idea of coding (and one of the most organisations.
XP aspects) is to implement the so-called pair
programming. It is recommended by the XP that a 3.2. SCRUM
development team of two members share one Scrum (taken its name from the rugby
computer and implement a side-by-side software. match) is considered to be an agile development
One developer writes the code, while the other approach, which is laid by J. Sutherland and his
developer challenges, supports and observes the group during the 1990s [41]. Scrum is a project
selected method to obtain better results [3]. management framework [3] and relies on agile
framework values and principles [2]. It is the most
The unit tests are created before the start common agile-inspired development method that is
of the code, which is one of the key elements related frequently being applied [41]. Scrum (1) determines
to the XP [3]. The created unit tests must be applied particular roles within the development team and (2)
in a way that allows them to be automated. This creates an iterative work mode, which is centralised
supports a strategy of a regression testing when through the development sprints, and (3) defines
modifying the code. Validation and integration various artefacts for which are being used by the
testing that are applied for the system can be developers in order to organise their given tasks. The
performed daily. The XP development team is key elements of Scrum are shown in Fig. 3.
provided with a continuous indication progress and
3202
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
3203
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
of a sequence of prioritized tasks that is identified statement of the customer, the constraints of the
by the PO [3]. Items are provided to the product project (e.g. user descriptions or delivery dates),
backlog at any time (this shows the way of how and basic requirements, in order to identify the
modifications are presented). The backlog is sequence of released software increments.
assessed by the product manager and priorities are
updated as required [41]. This backlog is broken Motivated people use collaboration in
by the development team members into a set of such a way their creative and talented output are
sprint backlog items where the backlog progress increased. This approach is considered to be a
is tracked by a Burndown chart when every sprint recurring theme for every agile method [41]. When
occurs [3]. The Burndown chart presents the ratio the ASD members start developing the components
of the committed versus achieved backlog items. related to the adaptive cycle, they emphasize on
“learning” and on progress toward a completed
A product (or software) increment, cycle. It is argued by Highsmith that software
which is a shippable product state, is considered developers frequently overrate their particular
to be the work sum that is performed in the present understanding pertaining to the process, project,
sprint and in the other previous sprints. A and technology where learning will help them in
definition of done indicates the case when a developing their real understanding levels.
backlog item is completed [23]. Such a definition
involves the minimum requirements that are based 3.3.2. Crystal
on the functionality or documentation tests The term “crystal” is taken from the
relating to the developed increment. Due to the features relating to the geological crystals along
distinctive features of Scrum; such as the with their own hardness, shape and colour.
existence of daily stand-up and the review of the Cockburn [34] and Highsmith [43] introduced the
work increments after each sprint, the interest in crystal family of agile approaches to perform a
Scrum is being increased throughout the time software development method, which delivers a
[30]. premium characteristic to “maneuverability.” The
Cockburn’s characteristic refers to as “a resource-
limited, cooperative game of communication and
3.3. Other agile process methods invention. The primary goal here is to deliver a
As previously indicated, the most useful, working software, where the secondary goal
commonly used agile process methods comprise the is setting up for the next game” [41].
SCRUM and XP. Nonetheless, several other agile
process methods are proposed where they are being In order to attain manoeuvrability, a set of
used through the industry. The most common are methodologies are defined by Cockburn and
Adaptive Software Development (ASD), Crystal Highsmith where each methodology contains core
methodologies, Feature Drive Development (FDD), elements that are based on work products, process
Agile Unified Process (AUP), and Lean Software patterns, practice, and roles, which are distinct to
Development (LSD) [41]. In the following each other [41]. A Crystal family is actually a group
subsections, a very brief overview of these agile of agile processes, which are proved to act
methods is highlighted. effectively through many different project types.
The aim here is to permit the agile team members
3.3.1. Adaptive software development (ASD) to choose the member that belongs to the crystal
Jim Highsmith [42] suggested the family and is the most appropriate for their
Adaptive Software Development (ASD) as a environment and project.
technique that is by means created to build complex
systems and software. The philosophical 3.3.3. Feature driven development (FDD)
underpinnings of the ASD concentrates on the team Similar to the other agile methodologies,
self-organization and the human collaboration. the FDD brings a philosophy in which (1)
Highsmith defines the ASD as a “life cycle” that collaboration is emphasised among members within
includes three phases which comprise learning, a team. (2) the project and problem complexities are
collaboration and speculation. During the managed based on the use of a feature-based
Speculation cycle, the project starts, and the decomposition and follow it by integrating the
Adaptive-cycle planning is performed. The software increments, (3) text-based, graphical and
Adaptive-cycle planning makes use of the project verbal means are used by a communication of
initiation information, which forms the mission technical detail [41]. FDD emphasizes the activities
3204
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
3205
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
3206
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
3207
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS
Introduction to the special section on [46] Glass, R.L., Agile versus traditional: Make
continuous value delivery. Information and love, not war! Cutter IT Journal, 2001.
Software Technology, 2016. 77: p. 56-60. 14(12): p. 12-18.
[31] Alahyari, H., R.B. Svensson, and T. [47] Wellington, C.A., T. Briggs, and C.D.
Gorschek, A study of value in agile Girard. Comparison of student experiences
software development organizations. with plan-driven and agile methodologies.
Journal of Systems and Software, 2017. in Frontiers in Education, 2005. FIE'05.
125: p. 271-288. Proceedings 35th Annual Conference.
[32] Miller, G.G. The characteristics of agile 2005. IEEE.
software processes. in tools. 2001. IEEE. [48] McAvoy, J. and T. Butler, The role of
[33] Holvitie, J., et al., Technical debt and agile project management in ineffective decision
software development practices and making within Agile software development
processes: An industry practitioner survey. projects. European Journal of Information
Information and Software Technology, Systems, 2009. 18(4): p. 372-383.
2018. 96: p. 141-160.
[34] Cockburn, A., Crystal Clear. A Human-
Powered Methodology for Small Teams,
2005.
[35] Felsing, J.M. and S.R. Palmer, A Practical
Guide to Feature-Driven Development.
IEEE Software, 2002. 7: p. 67-72.
[36] Ambler, S., The agile unified process (aup).
Ambysoft, 2005. 14.
[37] Poppendieck, M. and T. Poppendieck,
Implementing lean software development:
From concept to cash. 2007: Pearson
Education.
[38] Beck, K. and E. Gamma, Extreme
programming explained: embrace change.
2000: addison-wesley professional.
[39] Beck, K., Embracing change with extreme
programming. Computer, 1999. 32(10): p.
70-77.
[40] Larman, C. and V.R. Basili, Iterative and
incremental developments. a brief history.
Computer, 2003. 36(6): p. 47-56.
[41] Pressman, R.S., and Maxim, Bruce, R.,
Software Engineering: A Practitioner’s
Approach. 2015, McGraw-Hill.
[42] Highsmith, J.R., Adaptive software
development: a collaborative approach to
managing complex systems. 2013:
Addison-Wesley.
[43] Highsmith, J.A. and J. Highsmith, Agile
software development ecosystems. Vol. 13.
2002: Addison-Wesley Professional.
[44] Hawrysh, S. and J. Ruprecht, Light
methodologies: It's Like Déjà Vu All Over
Again. Cutter IT Journal, 2000. 13(11): p.
4-12.
[45] McCauley, R., Agile development methods
poised to upset status quo. ACM SIGCSE
Bulletin, 2001. 33(4): p. 14-15.
3208