Send the link below via email or IMCopy
Present to your audienceStart 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.
Make your likes visible on Facebook?
You can change this under Settings & Account at any time.
Agile vs Waterfall Model of Software Development
Transcript of Agile vs Waterfall Model of Software Development
Waterfall Model of software development
Software Development Methods
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
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
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
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.
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??
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.
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.
– 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.
Rapid Application Development (RAD)
Extreme Programming (XP)
Feature Driven Development (FDD)
Dynamic Software Development Method (DSDM)
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
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
Sprint Plan Meeting
Daily Scrum Meeting
Sprint Review Meeting
Software Development Life Cycle (SDLC)
A SDLC is a standardised format for
a new development project.
-> It is a structured step-by-step approach for developing information systems.
“No matter how good the team or how efficient the methodology, if we’re not solving the right problem, the project fails.” –- Woody Williams