V model and Agile
Methodlogy
Dr. Banchhanidhi Dash
School of Computer Engineering,
Kalinga Institute of Industrial Technology , India
1
V-Shaped Model
• It is an extension for waterfall model, Instead of moving
down in a linear way, the process steps are bent upwards
after the coding phase, to form the typical V shape.
• The major difference between v-shaped model and waterfall
model is the early test planning in v-shaped model.
2
• The usage
− Software requirements clearly defined and known
− Software development technologies and tools is well-
known
• Advantages
− Simple and easy to use.
− Each phase has specific deliverables.
− Higher chance of success over the waterfall model due to
the development of test plans early on during the life
cycle.
− Works well for where requirements are easily understood.
− Verification and validation of the product in early stages of
product development
3
Disadvantages
• Very inflexible, like the waterfall model.
• Little flexibility and adjusting scope is difficult and expensive.
• Software is developed during the implementation phase, so
no early prototypes of the software are produced.
• Model doesn’t provide a clear path for problems found during
testing phases.
• Costly and required more time, in addition to detailed plan
4
5
6
7
Agile Model
• Combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of
working software product.
• Agile Methods break the product into small incremental builds.
• These builds are provided in iterations. Each iteration typically lasts from
about one to three weeks.
• Every iteration involves cross functional teams working simultaneously on
various areas like planning, requirements analysis, design, coding, unit
testing, and acceptance testing.
• At the end of the iteration a working product is displayed to the
customer and important stakeholders.
8
10
11
Agile vs Waterfall
Agile Model Waterfall Model
Agile method proposes incremental and Development of the software flows
iterative approach to software design sequentially from start point to end point.
The customer has early and frequent The customer can only see the product at the
opportunities to look at the product and end of the project
make decision and changes to the project
Agile model is considered unstructured Waterfall model are more secure because
compared to the waterfall model they are so plan oriented
Small projects can be implemented very All sorts of project can be estimated and
quickly. For large projects, it is difficult to completed
estimate the development time.
Development process is iterative, and the The development process is phased, and the
project is executed in short (2-4) weeks phase is much bigger than iteration.
iterations.
Agile vs Waterfall
Agile Model Waterfall Model
Documentation attends less priority than Documentation is a top priority and can even
software development use for training staff and upgrade the
software with another team
In agile testing when an iteration end, All features developed are delivered at once
shippable features of the product is after the long implementation phase.
delivered to the customer. New features are
usable right after shipment.
At the end of every sprint, user acceptance is User acceptance is performed at the end of
performed the project.
Testers and developers work together Testers work separately from developers
It requires close communication with Developer does not involve in requirement
developers and together analyze and planning process. Usually, time delays
requirements and planning between tests and coding
Advantages
• Is a very realistic approach to software development
• Promotes teamwork and cross training.
• Functionality can be developed rapidly and
demonstrated.
• Resource requirements are minimum.
• Delivers early partial working solutions.
• Good model for environments that change steadily.
• Minimal rules, documentation easily employed.
• Enables concurrent development and delivery within an
overall planned context.
16
Disadvantages
• Not suitable for handling complex dependencies.
• An overall plan, an agile leader and agile PM practice is a must
without which it will not work.
• Strict delivery management dictates the scope, functionality to be
delivered, and adjustments to meet the deadlines.
• Depends heavily on customer interaction, so if customer is not
clear, team can be driven in the wrong direction.
• There is very high individual dependency, since there is
minimum documentation generated.
• Transfer of technology to new team members may be quite
challenging due to lack of documentation.
17
Agile Methodology
Scrum Methodology
• Scrum is a framework within which people can address complex adaptive problems,
while productively and creatively delivering products of the highest possible value.
• The Scrum framework consists of Scrum Teams and their associated roles, events,
artifacts, and rules. All events are time-boxed events, such that every event has a
maximum duration.
Sprint
• The heart of Scrum is a Sprint, a time-box of two weeks or one month during which a
potentially releasable product increment is created. A new Sprint starts immediately after
the conclusion of the previous Sprint. Sprints consist of the
• Sprint planning - the work to be performed in the Sprint
• daily scrums meeting - 15-minute time-boxed meet daily
• the development work - develop and test the change
• the Sprint review - Review the increament
• the Sprint retrospective - inspect itself and create a plan for improvements
Roles in Scrum
Scrum Master
• Master is responsible for setting up
the team, sprint meeting and
removes obstacles to progress
Product owner
• The Product Owner creates product
backlog, prioritizes the backlog and is
responsible for the delivery of the
functionality at each iteration
Scrum Team
• Team manages its own work and
organizes the work to complete the
sprint or cycle
Artifacts in Scrum
1. Product Backlog
• This is a repository where requirements are tracked with details on the no of
requirements to be completed for each release.
• A product backlog is a list of items to be done. Items are ranked with feature
descriptions. In an ideal scenario, items should be broken down into user
stories.
• It helps to prepare estimates, roadmap and prioritization of features.
2. Sprint Backlog
• The Sprint Backlog is the set of Product Backlog items selected for the Sprint
3. Sprint Burn-Down Chart
• At any point in time in a Sprint, the total work remaining in the Sprint
Backlog can be summed. The Team tracks this total work remaining
for every Daily Scrum to project the likelihood of achieving the Sprint
Goal. useful technique in monitoring the Sprint progress towards the
Sprint Goal.
4. Increment
The Increment is the sum of all the Product Backlog items completed
during a Sprint combined with the increments of all previous Sprints.
At the end of a Sprint, the new Increment must be a working product,
which means it must be in a useable condition.
Basic Concepts
Scrum
The Scrum framework consists of Scrum Teams and their associated roles, events (time boxed), artifacts, and
rules.
Sprint
• The heart of Scrum is a Sprint, a time-box of two weeks or one month during
• A potentially releasable product increment is created.
Roles in Scrum Activities in Sprint
Scrum Master
• Sprint planning
Responsible for setting up the team, sprint meeting.
• daily scrums meeting
• the development work
Product owner
• the Sprint review
Creates product backlog, prioritizes the backlog and is
• the Sprint retrospective
responsible for the delivery of the functionality at each
iteration.
Scrum Team
Team organizes and manages its own work to complete the
sprint.
24
Basic Concepts
The shift : TSD to ASD
Constructivism
• A cognitive theory in
education ,where the
learners construct new
understandings and
knowledge, integrating
with what they already
know.
• In Agile method,
software is developed
in short iterations and
the team incorporated
all new knowledge
Sprint
Sprint gained through
Plannin
Backlog
g feedback from
preceding iterations.
Fig 3: Comparison of Traditional Software Development (TSD) and
Agile Software Development (ASD) process
25
Basic Concepts
Artifacts in Scrum
• Product Backlog : A product backlog is a list of
items(features/user stories) to be done.
• Sprint Backlog: Subset of Product Backlog items
selected for the Sprint.
• Sprint/Release Burn-Down Chart : shows the rate
at which work is completed and how much work
remains to be done.
• Increment :The Increment is the sum of all the Fig 4 : Important artifacts of Scrum
Product Backlog items completed during a Sprint
combined with the increments of all previous
Sprints.
26
eXtreme Programming (XP)
Extreme Programming (XP) is based on the five values −
Communication
Simplicity
Feedback
Courage
Respect
Extreme Programming is a systematic approach with a set of values, rules and
practices for rapidly developing high quality software that provides the highest
value for customers.
eXtreme Programming (XP)
• Extreme Programming technique is very helpful when there is
constantly changing demands or requirements from the customers or
when they are not sure about the functionality of the system.
• It advocates frequent "releases" of the product in short development
cycles, which inherently improves the productivity of the system and
also introduces a checkpoint where any customer requirements can
be easily implemented.
• The XP develops software keeping customer in the target.
Basic principles of Extreme programming:
• Business requirements are gathered in terms of stories. User stories are
simple and informal statements of the customer about the functionalities
needed. All those stories are stored in a place called the parking lot.
• Based on User stories, the project team proposes Metaphors. Metaphors
are a common vision of how the system would work (design).
• The development team may decide to build a Spike(like prototype) for some
features.
• In this type of methodology, releases are based on the shorter cycles called
Iterations with span of 14 days time period. Each iteration includes phases
like coding, unit testing and system testing where at each phase some minor
or major functionality will be built in the application.
Activities
• Design
• Coding
• Testing
• Feedback
• Pair
Programming
• Continuous
Integration
Process of eXtreme programming
• User stories are the heart of planning in Extreme Programming (XP).
• High level designs or metaphors are created from stories.
• Architectural spikes or prototypes are used to create a simple overall
design.
• High code quality is essential on an XP project.
• Developers receive feedback constantly by working in pairs and testing
code as it is written. Managers get feedback on progress and obstacles at
the daily stand up meeting
Roles
• Developer (also called Programmer by some teams)
• Customer
• Manager (also called tracker)
• Coach
Scrum vs Extreme Programming
SCRUM XP
1 In the Scrum framework, teamwork in In Extreme Programming(XP), teamwork for
iterations is called Sprint which is 2 weeks 1-2 weeks only.
to 1 month long.
2 Scrum models do not allow changes in Extreme Programming allows changes in
their timeline or their guidelines. their set timelines
3 In scrum, the scrum master asks the In XP, customer decides the job priorities
owner of the product to prioritize the being the owner of the product and then
tasks according to their requirements. analyses the releases
4 The tasks are prioritized by the owner of The tasks are prioritized by the customer
the product but with the flexibility that the and the task priorities cannot be changed by
priorities can be changed later on by the the development team.
development team if required.
5 Values- Values-
Openness,Focus,Commitment Communication,Simplicity,Feedback