Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
Agile Process Model for Software Development
Zeba-Shahzeab Z.I.Shaheen Sajjade*
Computer Engineering, Jayawantrao Sawant Polytechnic, Pune, India
*Corresponding Author
E-mail Id:-zsajjade12@gmail.com
ABSTRACT
Software development is that the process of observing, requiring, designing, programming,
documenting, testing and bug fixing involved in creating and preserving applications,
maintaining frameworks or other software components. Software Development Life Cycle
(SDLC) consists of an in depth plan which needs the way to develop, maintain and replace
specific software. Several software development models followed by various organizations
are referred to as Waterfall Model, V-Shaped Model, and Incremental Model. However Agile
is adopted to be a winning choice for software development across all industries. The
features like possibility of modifications as per requirements at any stage of software
development and importance given to the business values delivered instead of confirmation to
project plan makes Agile unique from traditional software development models. Industries
are changing their software development choice as agile methodology. It shows how the
Agile is becoming an attractive choice for software development altogether industries across
the world.
Keywords:-Software development, SDLC, Waterfall Model, Agile
INTRODUCTION project scope and requirements are laid
The meaning of Agile is rapid or flexible. down at the start of the event process.
"Agile process model" refers to a software Plans regarding the amount of iterations,
development approach supported iterative the duration and therefore the scope of
development. Agile methods break tasks every iterations are clearly defined
into smaller iterations, or parts don't beforehand.
directly involve future planning. The
Fig.1:-Agile Model
PHASES OF AGILE MODEL 1. Requirements gathering
Following are the phases in the Agile 2. Design the requirements
model are as follows: 3. Construction/ iteration
HBRP Publication Page 1-9 2020. All Rights Reserved Page 1
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
4. Testing/ Quality assurance issues a product for the user's work
5. Deployment environment.
6. Feedback
Feedback: After releasing the
Requirements Gathering: during this merchandise, the last step is feedback. In
phase, you want to define the wants. You this, the team receives feedback about the
ought to explain business opportunities merchandise and works through the
and plan the time and energy needed to feedback.
create the project. Supported this
information, you'll evaluate technical and MODELS
economic feasibility The Waterfall Model
The waterfall model gets its name from
Design the Requirements: once you have the actual fact that the first diagrams of
identified the project, work with this process illustrated it as a series of
stakeholders to define requirements. terraces over which a stream flowed,
You’ll use the user flow chart or the high- cascading down from one level to a
level UML diagram to point out the work different. The purpose of this
of latest features and show how it'll apply representation was that water always
to your existing system. flows simple — it can’t reverse itself.
Similarly, the defining characteristic of
Construction/ Iteration: When the team the waterfall model is that the
defines the wants, the work begins. irreversible forward progress
Designers and developers start performing from phase to phase.
on their project, which aims to deploy a Waterfall is usually evaluated as
working product. the merchandise will uncompromising, in large part due to
undergo various stages of improvement, so that irreversible progress, Many
it includes simple, minimal functionality organizations, in practice, will do a sort
of “waterfall with appeals”, allowing
Testing: during this phase, the standard developers to revisit and revise decisions
Assurance team examines the product's and documents from earlier phases after
performance and appears for the bug. jumping through variety
of knowingly restrictive rounds.
Deployment: during this phase, the team
Fig.2:-The waterfall model
HBRP Publication Page 1-9 2020. All Rights Reserved Page 2
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
V-Shaped Model coding which saves many some time.
V-Shaped model means Verification and Therefore there's higher chance of
Validation model [5]. These model success over the waterfall model. In V-
emphases on the execution of processes Shaped Model defects are found at early
during a sequential manner almost like the stage. It works well for small projects
waterfall model but with more significance where requirements are easily
placed on testing. Testing procedures are understood. V-Shaped Model is best than
written even before the start of writing the waterfall model. But V-Shaped model has
code. Testing of the merchandise is disadvantages also. It’s least flexible
planned in parallel with a corresponding model as there's less scope of
phase of development in V-model. A modification. Software is developed
system plan is generated before starting during the implementation phase, so
the event phase. Figure 3 prototypes of the software aren't defined in
demonstrates V-Shaped Model. early stages. If any changes happen in
V-Shaped Model is straightforward and halfway, then the test documents alongside
straightforward to use. Testing events like requirement documents has got to be
planning, test designing occur before updated.
Fig.3:-V-shaped model
Incremental Model: This life cycle model Incremental model. It’s flexible and fewer
involves multiple development cycles. The expensive to change-requirements and
cycles are divided into smaller iterations. scope. Customer can answer each built.
These iterations are often easily managed Errors are easy to be identified[6]. This
and undergo a group of phases including model has disadvantages also. Problems
requirements, design, and implementation might cause because of system
and testing. A working version of the architecture like all requirements for the
software is produced during the primary entire software life cycle aren't
iteration, so working software is made collected. Each iteration phase is fixed
early within the development process. and doesn't overlap each other.
Figure 4 demonstrates the Incremental Resolving a haul in one unit requires
model. rectification altogether the units and
Software is developed quickly using consumes plenty of some time.
HBRP Publication Page 1-9 2020. All Rights Reserved Page 3
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
Fig.4:-Incremental model
(Rapid Application Development) RAD (Rapid Application Development)
Model may be a concept that products are often
RAD model is a linear sequential software developed faster and of upper quality
development process model that highlights through:
a brief development cycle using a • Collecting requirements using workshops
component based building method. If the or focus groups.
wants are well understood and defined, • Prototyping and early, reiterative user
and therefore the project scope may be a testing of classes.
check, the RAD process enables a • The reuse of software components
development team to make a totally • A strictly stepped schedule that
functional system within a brief period of mentions design enhancements to
time. succeeding product version.
Fig.5:-The RAD model
Big Bang Model Model doesn't follow a process and there's
The Big Bang model is an SDLC model an actually little planning required. Even
where we don’t follow any exact process. the customer isn’t sure about what
The event just starts with the identified precisely he wants and therefore the
money and efforts because the input, and requirements are executed on the fly
therefore the output is that the software without much analysis.
developed which can or might not be as
per customer requirement. This bang
HBRP Publication Page 1-9 2020. All Rights Reserved Page 4
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
DIFFERENCE BETWEEN when the software sensitive and
TRADITIONAL AND AGILE sophisticated. It’s used when security is far
SOFTWARE DEVELOPMENT important.
Traditional Software Development It consists of three phases:
Traditional software development is that 1. Project initiation
the software development process won’t to 2. Sprint planning
design and develop the straightforward 3. Demo
software. It’s basically used when the
safety and lots of other factors of the Agile
software aren't much important. It’s Agile means the power to make and
employed by fresher’s so as to develop the answer change so as to achieve an
software[12]. uncertain and turbulent environment. Agile
It consists of 5 phases: Software Development is an umbrella term
1. Requirements analysis for a group of methods and practices
2. Design supported the values and principles
3. Implementation expressed within the Agile Manifesto.
4. Coding and Testing Solutions develop through association
5. Maintenance between self-organizing, cross-functional
teams utilizing the acceptable practices for
Agile Software Development: his or her context [7]. Figure 6
It is the software development process demonstrates Agile software development
used to design complex software. It is used cycle.
Fig.6:-Agile Software Development Cycle
Agile Development may be a different way products is emphasized. Each feature is
of managing software development completed before moving on to
projects [8]. The key principles and the subsequent. Testing is included early and
way Agile Development fundamentally sometimes throughout the project. There
differs from a more traditional are some agile concepts as described
approach is described below. below.
In this approach there's an active user
involvement during software development. User Stories: In this customer or product
The team must be allowed to require owner, the team divides up the work to be
decisions. New requirements are accepted done into functional increments called
but the timescale is fixed. It captures "user stories." Each user story is predicted
requirements at a high level, lightweight to supply a contribution to the worth
and visual. It develops small, incremental of the general product.
releases and iterate. Frequent delivery of
HBRP Publication Page 1-9 2020. All Rights Reserved Page 5
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
Daily Meeting: The team meets every day developers) invest from one to 3 days
at same time so on keep everyone up so far during a detailed analysis of
on the knowledge that's vital for the project's significant events.
coordination: each team members briefly
describes any "completed" contributions AGILE TESTING METHODS
and any hurdles that substitute their way. Scrum
Incremental Development: during this Crystal
approach successive version of the Dynamic Software Development
merchandise is developed and delivered Method (DSDM)
which is usable and is made upon the Adaptive Software Development
previous version by adding user-visible (ASD)
functionality. Nearly all agile teams favor eXtreme Programming (XP)
an incremental development strategy.
Iterative Development: Agile projects are Scrum
iterative as they purposely leave It is an agile development process to
"repeating" software development manage tasks in team-based development
activities, and for potentially "revisiting" conditions.
an equivalent work products. Their responsibilities are:
Team: A "team" within the agile sense Scrum Master: The scrum can set up the
may be a small group of individuals master team, arrange the meeting and
assigned to an equivalent project nearly all remove problems for the process.
of them on a full-time basis. alittle Product owner: The product owner makes
minority of team members could also the products backlog, orders the interval
be part-time contributors. and is accountable for the supply of
Milestone Retrospective: Once a project functionality on each replication.
has been underway for a few time, or at the Scrum Team: The team manages its work
top of the project, all of the team's and organizes the work to finish the sprint
permanent members (not just the or cycle.
Fig.7:-Scrum
Extreme Programming (XP) Crystal
This type of methodology is employed There are three concepts of this method-
when customers are frequently changing 1. Chartering: activities are involved
demands or requirements. during this phase like making a
HBRP Publication Page 1-9 2020. All Rights Reserved Page 6
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
development team, performing feasibility project distribution structure. The essential
analysis, developing plans, etc. features of DSDM are that users must be
actively connected, and teams are given
2. Cyclic delivery: under this, two more the proper to form decisions. The
cycles consist, these are: techniques utilized in DSDM are:
o Team updates the release
plan. 1. Time Boxing
o Integrated product delivers 2. MoSCoW Rules
to the users. 3. Prototyping
3. Wrap up: consistent with the user The DSDM project contains seven
environment, this phase performs stages:
deployment, post-deployment. 1. Pre-project
2. Feasibility Study
Dynamic Software Development 3. Business Study
Method (DSDM): 4. Functional Model Iteration
Dynamic Software Development Method 5. Design and build Iteration
is a rapid application development plan for 6. Implementation
software development it provides an agile 7. Post-project
Fig.8:-DSDM
Adaptive Software Development 1. Eliminating Waste
Adaptive Software Development software 2. Amplifying learning
development methodology follows the 3. Defer commitment (deciding as
principle "just in time production." The late as possible)
method indicates the increasing speed of 4. Early delivery
software development and reducing costs. 5. Empowering the team
Adaptive Software Development 6. Building Integrity
summarized in seven phases. 7. Optimize the whole
HBRP Publication Page 1-9 2020. All Rights Reserved Page 7
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
Fig.9:-ASD
Advantage (Pros) of Agile Method delivered quickly and frequently. This
1. Frequent Delivery concept is implemented in Scrum.
2. Face-to-Face Communication with
clients. CONCLUSION
3. Efficient design and fulfils the business There are traditional software development
requirement. model evolved as Waterfall Model, V-
4. Anytime changes are acceptable. Shaped model, iterative model and so on.
5. It reduces total development time. Each model is having advantages over the
previous model. Agile software
Disadvantages (Cons) of Agile Model development approach has come over the
1. Due to the lack of formal documents, disadvantages of traditional models.
it creates confusion and vital decisions Traditional models are not flexible for
taken throughout various phases can modification in project development if the
be misunderstood at any time by requirement changes whereas Agile is
different team members. flexible model. In traditional development
2. Due to the lack of proper model success is measured by
documentation, once the project confirmation to the plan where as in agile
completes and the developers allotted model success is measured by the business
to another project, maintenance of the value delivered. Project management using
finished project can become a agile is not centralized. It is distributed
difficulty. among the team members whereas in
traditional model it is centralized. Only
FEATURES one person takes the decision and other
Agile software development methods team members follow him. In Agile model
support a broad range of the software the changes are accepted and adapted as
development life cycle. Some importance per the project needs. But in non-Agile
on the practices like XP, pragmatic models the changes aren't accepted easily
programming and agile modeling, In agile within the later stages of the event. In
software development client and team Agile methodology there is minimal
members involve in every step of the upfront planning whereas in traditional
project which results the team members software development models planning
truly understand the client’s vision. should be complete before
Delivering working software early and the development starts.
frequently increases client’s trust in the These characteristics make agile
team’s ability to deliver high-quality distinguishing and winning choice for
working software. By using time-boxed software development in industries.
Sprints of 1-4 weeks, new features are
HBRP Publication Page 1-9 2020. All Rights Reserved Page 8
Journal of Advancement in Software Engineering and Testing
Volume 3 Issue 3
REFERENCES /
1. “Software Development”, 8. “10 Key Principles of Agile Software
https://en.wikipedia.org/wiki/Software Development” https://project-
_development management.com/10-key-principles-
2. “SDLC”,https://www.techopedia.com/ of-agile-software-development/
definition/22193/software- 9. “Agile software development”
development-life-cycle-sdlc https://en.wikipedia.org/
3. “Waterfall Model”, wiki/Agile_software_ development#
https://www.tutorialspoint.com/sdlc/s Agile_software_development_method
dlc_waterfall_model.htm s
4. “Waterfall Model”, 10. “Scrum”
https://melsatar.blog/2012/03/15/softw https://www.mountaingoatsoftware.co
are-development-life-cycle-models- m/agile/scrum/meetings/sprint-
and-methodologies retrospective
5. “V-Model”, 11. “Top Project Types Managed with
http://istqbexamcertification.com/what Agile Software”,
-is-v-model-advantages- https://www.softwareadvice.com/
disadvantages-and -when-to-use-it/ resources/agile-project-management-
6. “Incremental Model in SDLC: user-trends-2015
Advantages & Disadvantages”, 12. https://www.geeksforgeeks.org/differe
https://www.guru99.com/what -is- nce-between-traditional-and-agile-
incremental-model-in-sdlc- software-development/
advantages-disadvantages.html
7. “Agile 101”
https://www.agilealliance.org/agile101
HBRP Publication Page 1-9 2020. All Rights Reserved Page 9