Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Agile vs Waterfall Model of Software Development

No description

Aparna Iyer

on 4 May 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Agile vs Waterfall Model of Software Development

Waterfall Model of software development

Software Development Methods

Agile Method
Ken Schwaber & Jeff Sutherland introduced the Scrum methodology

Agile projects make progress in a series of “sprints” and its designed, coded and tested during the sprint

During a project the customers can change their minds about what they want and need
So, What kind of method we are using here??

Delegated Task to self directed team


Working Prototype Available at early cycle

does not required all requirements to be finalized at the start of the project

When 1 features goes wrong, it will not effect another features

Waterfall Advantages
Design errors are captured before any software is written saving time during the implementation phase.

Phases are processed and completed one at a time

Works well for smaller projects where requirements are very well understood

Reduces the risk of missing the defined schedule/deadlines.

Task is given to specific team


Working Prototype available at the end of cycle

need to finalize all the requirements before start the project

Every phase is visited only once and there's no turning back





Waterfall Disadvantage
Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage

The product/software is made available after the implementation phase is complete

Estimating time and costs with any degree of accuracy is often extremely difficult.

Not suitable for the projects where requirements are at a moderate to high risk of changing
Agile Advantages

It provides for an open forum, where everyone knows who is responsible for which item

Daily meetings make it possible to measure individual productivity. This leads to the improvement in the productivity of each of the team members

Due to short sprints and constant feedback from user, it becomes easier to cope with the changes

Helps the company in saving time and money.
Agile Disadvantage
If the team members are not committed, the project will either never complete or fail

It is good for small, fast moving projects as it works well only with small team

Agile Scrum is one of the leading causes of scope creep because unless there is a definite end date, the user will be tempted to keep demanding for a new requirements
Which method is better for us??
Questions ???
Waterfall Method
Winston W. Royce was the first who described the Waterfall model for software

Waterfall model has been structured on multiple phases especially to help out the software construction companies to develop an organized system of construction.

The phase is one moves progressively to the final stage and once that point is reached, you cannot turn back. The concept similar to the water in a waterfall.
Waterfall Model

Intro and characteristics
The first formal description of the waterfall model is often cited as a 1970 article by Winston W. Royce

 sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall).

Each phase is completed before the next one is started and there is no turning back. i.e Project is planned from top to bottom at once.

A schedule is typically set with deadlines for each stage of development.


– defines needed information, function, behavior, performance and interfaces.

– data structures, software architecture, design principles, design concepts and patterns

– includes linking together different components to act as a co-ordinated whole.

Developing of an software product may fail…
There are many factors that must be considered and brought together in order to develop a successful software product.
Software Development Life Cycle is one approach to reduce the risk of failure.

Steps (contd...)
– includes testing levels like Unit Testing, Integration Testing, System Integration Testing (SIT) and User Acceptance Test (UAT).

- includes all the operations to prepare a system for assembly and transfer to the customer site.

– includes the preparation for handling problems identified during development; the follow-up on product configuration management, issues encountered during regular use of the application / product.

Agile Methodologies
Rapid Application Development (RAD)

Incremental SDLC
Extreme Programming (XP)

Feature Driven Development (FDD)
Dynamic Software Development Method (DSDM)
User Example
As a Customer I want to add a product in cart
As a Customer I want to pay via Paypal
As a Customer I want to have DHL shipping option
As a Customer I want to add items in wish list
As a Sales person I want to see the most popular items in wish lists
When making a car:
The requirements are fixed or predicted.
No change in the requirements during the process.
Once we complete a stage, we proceed to the next one.

If there is any change in requirements, we have to change our complete system.
That requires extra time and extra money.
When making software:
The requirements are always changing.
Updates are constantly required.
You need to adapt to the the external changes.

If there is any change, you retrace your steps and fix the problem rather than the whole system.
We can take real life examples of an automobile company for waterfall model
We can link agile method to software development
Advantages (contd..)
Continuous attention to technical excellence and good design.
Regular adaptation to changing circumstances.
The end result is the high quality software in least possible time duration and satisfied customer
Even late changes in requirements are welcomed

Agile Terminologies
Product Backlog
Sprint Backlog
Scrum Team
Scrum Master
Product Owner
Development Team
Sprint Plan Meeting
Daily Scrum Meeting
Sprint Review Meeting
Software Development Life Cycle (SDLC)
A SDLC is a standardised format for
organising, and
a new development project.

-> It is a structured step-by-step approach for developing information systems.

Thank You
“No matter how good the team or how efficient the methodology, if we’re not solving the right problem, the project fails.” –- Woody Williams
Full transcript