0% found this document useful (0 votes)
11 views

The Analysis of Current State of Agile S

This document analyzes the current state of agile software development. It discusses agile development methodology and its core values and principles. Some common agile methods like Scrum and Extreme Programming are also covered. The study finds that agile development provides significant benefits over traditional methods but may not be suitable for all projects.

Uploaded by

mohdaimankhair02
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

The Analysis of Current State of Agile S

This document analyzes the current state of agile software development. It discusses agile development methodology and its core values and principles. Some common agile methods like Scrum and Extreme Programming are also covered. The study finds that agile development provides significant benefits over traditional methods but may not be suitable for all projects.

Uploaded by

mohdaimankhair02
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Journal of Theoretical and Applied Information Technology

30th November 2019. Vol.97. No 22


© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

THE ANALYSIS OF CURRENT STATE OF AGILE


SOFTWARE DEVELOPMENT
SAMER ATAWNEH

Saudi Electronic University, PO Box: 93499, 11673, Riyadh, Saudi Arabia


E-mail: satawneh@seu.edu.sa

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

1. INTRODUCTION with its environment and by its collective


components.”
The aim of this introduction is to portray the
meanings that are recently correlated to “agile”, to The general agile framework approach is
give a definition of the agile development. Agile that short development cycles are involved in which
development methodology (also known as a flexible approach is used in software product
lightweight development methodology) is a software development [1, 2]. This approach allows teams to
development framework that relies on pre-existing be self-managing and adaptive to change in
incremental and iterative development principles [1] requirements, where priority is based on the ever-
(for example, Spiral and Waterfall methodologies). changing requirements. In addition, one major
This methodology uses continuous planning, feature of agile development is team interaction,
development, and testing and continuous contact collaboration and collective decision-making. The
with system stakeholders [2]. Most software Agile framework also emphasizes stage-by-stage of
development organizations are gravitating and a software product delivery providing fine-tuning or
moving towards agile software development additional validation of the software’s feature set
methods [3]. With the mass movement towards this with each delivery phase. With this approach, the
methodology, the software development using usual excessive negotiations in a development
agility is becoming the mainstream [4]. Note that project (when scope is modified or system
agility is a cornerstone of the agile software requirement changes) is minimized or totally
development [5]. Conboy [6] formally defined agile eliminated.
development as ‘‘the continual readiness of an Agile development approaches articulate and
information systems development method to rapidly describe all required processes, enumerate
or inherently create change, proactively or reactively deliverables, assigns roles for defining
embrace change, and learn from change while specifications, designing, implementing and
contributing to perceived customer value, thereby verifying a software product. Over the last decade,
bringing about quality, economic benefits, and the development processes are constantly changing
simplicity values achieved through relationships and evolving. With the surging popularity of agility
as an approach for developing software projects, the

3197
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

general approach used by software development The software development process is


companies in managing development teams has defined as “a set of activities that lead to produce a
radically changed. In late 1990s, varied methods of software product” [9]. Since the improvement of
agile methodology such as Scrum, XP, Crystal, lean various software might need several processes,
software development, and Feature-driven extremely different processes are improved by the
Development (FDD) emerged and attained software engineering discipline over the past
popularity, as they all attempted to address the core decades ago. Nonetheless, there exist a number of
Agile manifesto principles [7, 8]. The Agile tasks in which each improved project should
manifesto 1 will be highlighted in Section 2.2. involve. For instance, the tasks of implementation
for designing, coding and testing the software, the
1.1. Software Development Process definition tasks for requirements specification, and
One of the major overarching focus and the tasks of evolution for corrections and
goal of the software engineering discipline is to offer adaptations. Various processes of software
appropriate solutions to existing practical software development differ based on how strictly the tasks
development problems [3, 9]. Currently, the are being addressed and on addressing its sequences.
software engineering discipline has matured into
independent profession and a domain that is tightly In the late 1990s, the development of
associated with computer sciences and other several agile methodologies arose, which means a
conventional engineering disciplines. Overall, move in the software development processes.
software engineering discipline handles all processes Further, it indicates to the number of software
necessary to solve real software development development projects that are being currently
problems in an optimal and reliable way. Software organised [12]. In the 2000s, the significance of a
engineering principles equip and empower software software acting as discriminator for conventional
developers with disciplined, quantifiable methods products including products pertaining to the online
and tools that guide them with best-practice software requires more rapid time-to-market times.
guidelines and systematic approach to software Additionally, a significance of user-interactive
design, implementation, post implementation products produces a rapid user feedback that is also
operation, and maintenance” [10]. Software significant, where formal processes are made
engineering discipline also encompasses applying extremely indeclinable. Accordingly, the
several theories, processes, methods and utilization development iterative processes acquired further
of tested tools to develop and maintain software considerations [13]. Nowadays, the majority of
systems in concert with the needs of organizational software processes are being created based on the
software development constraints. use of existing software functionality and standard
tools that are derived from open source libraries or
Developing software systems is considered commercial products. In general, nearly 30% of the
to be a complicated process where several software software components are required to form a custom
projects end in overdue results of these projects. For built, where more flexible processes are allowed to
instance, failure to achieve the goals of the project, be implemented [14].
or results containing project annulments [11]. Such
an increased failure level is unanticipated when the This study concentrates on the agile
history of over 60 years is derived for researches software development model. The agility literature,
regarding project failures, several best-practices approaches, and trends are highlighted in the
books, software development projects, countless following sections. The structure of this research
development tools, processes and methods. There paper is organized as follows. Section 2 introduces
are many complex sources that make increased the agility literature and highlights the importance of
failure levels of software projects more obvious. The agile development over traditional methodologies.
main grounds behind that refers back to the essential Section 3 analyses the well-known agile methods
characteristics of a software, the used software including XP, Scrum and other common agile
contexts, the tasks complexity pertaining to the methods while the research trends are presented in
software development, and the overall nature of the Section 4. Finally, Section 5 concludes the paper.
software projects.

1
See http://agilemanifesto.org/

3198
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

2. AGILE LITERATURE to understand, adjust and learn), and adaptive (the


ability of producing changes within the last moment)
Earlier in the 2000s, an endless flow of software development method. Conboy [6] improves
alterations within the software industry was another often-cited definition according to an
experienced. New technology has rapidly evolved extensive agility investigation through other
where exchanged ideas spread among the developers research domains. Based on the perspective of
of software within the global connectivity, which is Conboy, agility consists of two concepts, which are
derived by WWW. The technological potential is a leanness and flexibility. Agility not only integrates
result of intensive investments through the IT the ability of changing, but rather can motivate the
industry. Moreover, various different software ability of the project team to rapidly adapt to any
applications are currently being enhanced for the particular change. Additionally, leanness is defined
consumer market, which require interfaces that are as the involvement of the apparent customer value
user-friendly. Thus, the user feedback must be based on quality, simplicity and economy.
promptly integrated with the improved process
resulting with requirements that are changeable and Schmidt et al. [22] propose a different
unpredictable. In general, a rapid change is perspective for conceptualising the agility pertaining
continuously being ingrained within software to the software development team based on its
manufacturing [13]. Consequently, the ability to central development task organisation (e.g.
adapt with new requirements and speed-to-market is implementation, software specification, software
significant in order to efficiently perform through an validation and design). Collaboration as well as
uncertain environment [15]. Only shorter product iteration are suggested to represent the central
life-cycles could definitely act with these challenges. behavioural markers that are related to the agile
The lightweight approaches emerged during the teams. The previous tasks are repeatedly iterated by
1990s and introduced a reversed pole to the heavy- the agile teams when many team members are being
weight development approaches that are seen to be involved in the process. Additionally, the software is
extremely rigid to efficiently improve a software for created, designed, implemented and validated by
volatile project circumstances [16]. these teams into small steps including the whole
team within the entire steps.
When the Agile Manifesto was published in
2001, the agile software development has acquired 2.1. How agile development is different from
popularity. There exist various software vendors traditional models?
such as Adobe [17], SAP [18, 19], Microsoft [20], The entire traditional process models
and many others that have implemented different (Waterfall, Spiral, RUP, etc) are in common based
agile methodologies over the past years ago. As a on their long iteration cycles, their large design
result, the agile software development appears upfront and specifications of the documents, and
nowadays as a mainstream development approach. their heavyweight approach to process management
This approach including a continuous attention on [23]. Abrahamsson et al. [21] declare that any
expert software developers within restricted development approach is considered agile if it is
validations pertaining to the development approach incremental, straightforward, cooperative, adaptive.
effectiveness. Several approaches and methods vary This is totally different from the conventional
from non-agile and agile methods. Abrahamsson et approaches used for software development. Nerur et
al. [21] study the agile methods, which include al. [24] discussed the main differences between the
cooperative (close communication with customers), conventional approaches and the agile development
incremental (small software releases), (see Table 1).
straightforward (the involved approaches are simple

Table 1. Conventional versus agile software development.


Conventional Models Agile Development
Basic assumptions Developed Systems are built Small teams develop high-quality
through extensive and software using the principles of
meticulous planning, and are continuous design improvement and
fully predictable and specifiable. testing, and based on rapid feedback and
change.
Management style Control and command Collaboration and leadership
Control Process focal People focal

3199
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Knowledge management Explicit Implicit


Communication Formal Informal
Role assignment Individuals Self-organizing teams
Development model Life-cycle models (Spiral, Evolutionary-delivery models
Waterfall, or with some
variation)
Customer’s role Important Critical

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

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

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].

3.1.1. The XP process


XP applies an object-oriented approach
since it has an effective improved model and
involves a group of practices and rules that arise
through the context of four framework activities [3].
These activities are planning, designing, coding and
testing (Fig. 2). The planning activity starts with
listening, which is a requirements-collecting activity
that provides the ability of the technical members of
XP team to understand the context of the business
for the software and to obtain a broad feel for the
needed outputs and the major functionality and
Fig. 1. Agile methodologies features. The XP design follows a thorough
principle, which is called the “Keep It Simple” (KIS)
3.1. Extreme Programming (XP) principle [3]. A simple design is frequently favoured
The emergence of the XP has been over a complex representation. Additionally, the
commonly recognised as a start point for many simple design provides an implemented guidance for
different agile development approaches [21]. XP is a story that is the same as it is written, nothing more,
mainly studied by the authors as a lightweight nothing less. The XP method encourages refactoring
approach for small to medium-sized teams — a development practice that is based on
developing projects based on requirements that are restructuring of the software implementation that
rapidly-changing or vague [3]. Beck [38] creates a could improve the software quality, i.e. its structure
group of programming practices. The main ideas are

3201
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

or readability, without having the software


functionality changed. The aim is to increase the
software long-term maintainability and extensibility.

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

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Fig. 3. Scrum method


An iterative work mode is followed by the
Scrum teams where the development project is
The Scrum team consists of nearly ten divided into small development iterations. These
persons (typically from six to 10 developers [1]). small development iterations are called the
There are two particular roles relating the Scrum development sprints and contain a particular length
team, which comprise a product owner (PO) and a duration ranging from one to four weeks, after which
scrum master (SM) [3]. The PO represents the new software characteristics are delivered to the
customer and voices his/her requirements. The PO customer [3]. Each sprint begins with a sprint
role is considered to be a managerial role [2]. The planning meeting and the Scrum members decide on
PO defines the development targets in the coming the to-be-implemented software characteristics.
sprint and is responsible of creating a value for Accordingly, different sub-tasks are determined and
customers [3]. The PO normally defines customer’s assigned by the team members for the individual
requirements and a sequence of prioritised developers. The entire team members set up a daily
development tasks by ensuring the highest value meeting for an approximate duration of 15 minutes
items to be always on top [23]. The work increments (often called daily stand-up [23]) so that their work
are reviewed by the PO after each sprint. The SM process could be synchronised and could gain
acts as a facilitator who is in charge of maintaining transparency through the team members [3]. The
scrum processes, and who could remove entire developers tell the Scrum team members about
impediments that might stop the team from working the achievements they performed. These developers
in an efficient manner. The SM does not involve the define the current work and take issues that are likely
responsibilities of people management, but rather it to be addressed by the team into account. Hence,
can behave as a teacher and a coach where it stresses every team member provides answers for three key
that the scrum process is being followed [23]. questions whilst the meeting is being held. These
questions comprise: (1) ‘What had I accomplished
The remaining members of the Scrum team yesterday?’, (2) ‘What will I do before the next
refer back to the development team. These team Scrum meeting?’ and (3) ‘Are there any obstacles?’
members analyse the software requirements, design, [23]. All sprints terminate with sprint review
implement and test the developed software [3]. The meetings when the progress of Scrum members is
Scrum development team is considered to be cross- presented to the PO or is immediately provided to
functional, i.e. all members are seen to include an the customer. Further, a retrospective meeting is
essential skills set in order to perform the entire tasks organised by the SM for the team such that possible
pertaining to the software development. improvements are discussed regarding to the future
Subsequently, there is no extra role within the Scrum teamwork processes.
team such as testers or developers for the user
interface. The development team members’ size The development tasks are classified and
ranges from 2 – 7 persons [23]. organised by the team members based on the use
of a product backlog. A product backlog consists

3203
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

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

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

of software quality assurance by assuring a strategy 4. TRENDS


of using design and code inspections, the
incremental development, the implementation of It is clear that no single method is able to
audits of software quality assurance, the use of perform tasks for all projects [21, 44]. However, the
different metrics, and the use of different patterns for project manager(s) must determine the nature of the
analysing, designing and constructing the software. project, and after that, the best appropriate
Different types of presentations and articles of the development methodology is selected [21].
FDD are found at: According to McCauley [45], both process-oriented
www.featuredrivendevelopment.com. and agile methods are significantly required since
there is no one-size-fits-all development paradigm,
3.3.4. Agile unified process (AUP) which can be appropriate with the whole conceivable
The AUP adopts both the “iterative in a purposes. This view is common through many
small” and the “serial in a large” philosophy in order specialists in the field [46]. The principal aspects of
to create the software [36]. When adopting the agile and light methods comprise speed and
traditional Unified Process activities, which are simplicity. Hence, the development group just
inception, elaboration, construction, and transition, focuses on functions that are required within the
a serial overlay is provided by the AUP, where the development work, rapidly delivering them,
serial overlay is the sequence of activities of gathering feedbacks and responding to the
software development, which provides the ability for information that is being delivered. What lets a
a team to visualise the entire flow of the process for development methodology be an agile one? The case
the software project. Nonetheless, based on every is based on a software development that is
activity, the team iterates to deliver significant cooperative (developers and customers who are
software increments for end users and to achieve continuously working all together with close
agility as fast as possible. communications), incremental (small software
releases with short iterations), adaptive (the ability
3.3.5. Lean software development (LSD) of the method to produce last moment changes), and
Lean production brings importance on straightforward (the methodology is well
value based on the reduction of costs, through documented, simple to learn, and easy to be
removing “waste”, where waste can be represented modified).
as large inventories and waiting time [30]. The LSD
adapts the lean manufacturing principles to Many studies provide productivity
developing the software. The LSD principles that comparisons between the agile and conventional
motivate the LSD work is briefly summarised as software development demonstrating positive results
create knowledge, build quality in, deliver fast, to an unbiased effect, while most of the researches
eliminate waste, defer commitment, respect people, show a positive effect on the quality [3, 47]. Critical
and optimize the whole [41]. Every principle is researches on developing software using agility
adapted to the process of the software. For instance, investigate the novelty related to using agility in
the “eliminate waste” principle is based on the software development, criticises a lack of
context of the agile project. This could be concentration on a long-term architecture, claims
interpreted as: (1) The addition of important that it is just appropriate to a small development
functions or features, (2) The evaluation of the team, and envisages that XO could yield with an
schedule and cost impact of any requirement that is ineffective teamwork [48]. Until now, the research
currently requested, (3) The elimination of any community remains apart from completely
extra processing steps, (4) The creation of comprehending how, why or in which perspectives
mechanisms for developing a way in which team of a project the agile software development performs
members can search for the information, (5) The [3]. Researchers carry out extensive studies that aim
ensuring that the testing process will find as many at improving a complete theoretical understanding of
errors as possible, (6) The reduction of the time that using the agility in the software development. The
is needed for requesting and obtaining a decision, theoretical perception does not only clarify the
which puts an impact on the software or on the success of the agility in the software development,
process that creates it, and (7) The streamlining of but moreover, it leads professionals on the way of
the manner in a way that can transmit an using the agile development method.
information to the entire stakeholders who are
engaged in the process. In summary, the agile software
development is a development method that is rising

3205
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

with its popularity since the start of the 2000s. A


study on the agile software development is improved Today, agile software development
from its best-practice achievement stories to stricter methods are considered lightweight methods that
researches related to a character that is mainly could employ an incremental and iterative lifecycle
descriptive. The availability of the knowledge that accompanied with short requirements and iterations,
belongs to the teamwork research provides which could be modified within the development
promising theoretical lens pertaining to the direction with broad participation by the customer. Many agile
of the study. Since the high relevancy of the software methods are proposed and developed, with the XP
development organisations with each other, such a and Scrum considered as the two most commonly
method must not just be generalizable, but could used agile methods. Every agile method consists of
further be validated with the data that is derived from its own set of specified practices including many
expert software developers. While the study on agile different concentrations. The XP, for instance, is
software development is considered extremely comprised of practices that concentrates on different
fragmented, the dependent variable and the activities pertaining to the software development
conceptualisation of agility are required to be clearly teamwork, whereas the Scrum possess a set of
studied by each research study. Follow-up practices that improves the project management by
researches are based on results obtained from the rapidly revealing risks throughout the project.
study to improve the field towards a prospected and Trends for testing software development
integrated research. Despite the robust concentration methodologies demonstrate that the practices of
on the collaboration and teamwork within the agile agility are adapted to the workplace context as
teams, only few researches about the effectiveness of organisations that adopts more practices of the agile-
work teams is investigated in order to better like software development. This study found that the
understanding the agile methodologies. agility practices are frequently underestimated
because of the lack of the theoretical basics. The
Overall: study results also reveal that the agile development
1. There is an urge motivation for stricter theory- introduces significant benefits over conventional
supported researches along with different visions methodologies. However, these benefits are not
derived from expert software developers. compatible with all projects, people, situations, and
2. By implementing the theory over agile practices, products. In addition, due to the distinctive features
it is possible to understand the agile activities value of Scrum, such as the existence of daily stand-up and
as methods that could rise the cooperation through the review of the work increments after each sprint,
the development team and through customers and the interest in Scrum is being increased throughout
developers [25]. the time, while the interest in XP is deteriorating.
3. The agile development introduces significant One of the options for the future research is to test
benefits. However, these benefits are not compatible the current agility practices that most commonly
with all projects, people, situations, and products being used and to compare between these practices.
[41]. This leads to an open question: “how do the agile
4. Agility can be implemented through any software practices provide values to the software
process. In order to achieve that, it is important to development teams?”
design the process in a way to give the teamwork the
ability of streamlining tasks and adapting them REFERENCES:
together. Additionally, it performs a plan in such a [1] Patanakul, P. and R. Rufo-McCarron,
way that comprehends the fluidity of the agile Transitioning to agile software
method. It removes the significant products and development: Lessons learned from a
maintains them lean. Therefore, it ensures the government-contracted program. The
incremental strategy of delivery that rapidly Journal of High Technology Management
provides a workable software to customers as simple Research, 2018. 29(2): p. 181-192.
as it could be for the operational environment and the [2] Steinhardt, G., The Product Manager's
type of product. Toolkit: Methodologies, Processes and
5. For practitioners, it is noticed that there is a Tasks in High-Tech Product Management.
deterioration in the interest in extreme programming, 2010: Springer Science & Business Media.
while the interest in Scrum is being increased [3] Schmidt, C., Agile Software Development,
throughout the time [30]. in Agile Software Development Teams.
2016, Springer. p. 7-35.
5. CONCLUSION

3206
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

[4] West, D., et al., Agile development: Novel Approaches to Software


Mainstream adoption has changed agility. Engineering. 2010. Springer.
Forrester Research, 2010. 2(1): p. 41. [19] Schmidt, C.T., S. Ganesha Venkatesha, and
[5] Hoda, R., et al., Systematic literature J. Heymann. Empirical insights into the
reviews in agile software development: A perceived benefits of agile software
tertiary study. Information and software engineering practices: A case study from
technology, 2017. 85: p. 60-70. SAP. in Companion Proceedings of the
[6] Conboy, K., Agility from first principles: 36th International Conference on Software
Reconstructing the concept of agility in Engineering. 2014. ACM.
information systems development. [20] Begel, A. and N. Nagappan. Usage and
Information Systems Research, 2009. perceptions of agile software development
20(3): p. 329-354. in an industrial context: An exploratory
[7] Dingsøyr, T., et al., A decade of agile study. in Empirical Software Engineering
methodologies: Towards explaining agile and Measurement, 2007. ESEM 2007. First
software development. 2012, Elsevier. International Symposium on. 2007. IEEE.
[8] Curcio, K., et al., Usability in Agile [21] Abrahamsson, P., et al., Agile software
Software Development: A Tertiary Study. development methods: Review and
Computer Standards & Interfaces, 2019. analysis. arXiv preprint arXiv:1709.08439,
[9] Sommerville, I., Software Engineering. 2017.
International computer science series. ed: [22] Schmidt, C., et al., Team adaptability in
Addison Wesley, 2004. agile information systems development.
[10] Radatz, J., A. Geraci, and F. Katki, IEEE 2013.
standard glossary of software engineering [23] Scheerer, A., Coordination in Large-Scale
terminology. IEEE Std, 1990. Agile Software Development. 2017:
610121990(121990): p. 3. Springer.
[11] Clancy, T., The Standish Group CHAOS [24] Nerur, S., R. Mahapatra, and G.
Report. Project Smart, 2014. Mangalaraj, Challenges of migrating to
[12] Boehm, B. A view of 20th and 21st century agile methodologies. Communications of
software engineering. in Proceedings of the the ACM, 2005. 48(5): p. 72-78.
28th international conference on Software [25] Yu, X. and S. Petter, Understanding agile
engineering. 2006. ACM. software development practices using
[13] MacCormack, A., R. Verganti, and M. shared mental models theory. Information
Iansiti, Developing products on “Internet and Software Technology, 2014. 56(8): p.
time”: The anatomy of a flexible 911-921.
development process. Management [26] Fowler, M. and J. Highsmith, The agile
science, 2001. 47(1): p. 133-150. manifesto. Software Development, 2001.
[14] Royce, W., K. Bittner, and M. Perrow, The 9(8): p. 28-35.
economics of iterative software [27] Moe, N.B. and A. Aurum. Understanding
development: Steering toward better decision-making in agile software
business results. 2009: Pearson Education. development: a case-study. in Software
[15] Baskerville, R., et al., Is internet-speed Engineering and Advanced Applications,
software development different? IEEE 2008. SEAA'08. 34th Euromicro
software, 2003(6): p. 70-77. Conference. 2008. IEEE.
[16] Highsmith, J. and A. Cockburn, Agile [28] Drury-Grogan, M.L., K. Conboy, and T.
software development: The business of Acton, Examining decision characteristics
innovation. Computer, 2001. 34(9): p. 120- & challenges for agile software
127. development. Journal of Systems and
[17] Green, P. Measuring the impact of scrum Software, 2017. 131: p. 248-265.
on product development at adobe systems. [29] Dybå, T. and T. Dingsøyr, Empirical
in System Sciences (HICSS), 2011 44th studies of agile software development: A
Hawaii International Conference on. 2011. systematic review. Information and
IEEE. software technology, 2008. 50(9-10): p.
[18] Schnitter, J. and O. Mackert. Large-scale 833-859.
agile software development at SAP AG. in [30] Dingsøyr, T. and C. Lassenius, Emerging
International Conference on Evaluation of themes in agile software development:

3207
Journal of Theoretical and Applied Information Technology
30th November 2019. Vol.97. No 22
© 2005 – ongoing JATIT & LLS

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy