Waterfall
Agile
vs
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??
Waterfall?
Comparison
Agile
Delegated Task to self directed team
Flexible
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.
Agile?
Waterfall
Task is given to specific team
Linear
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
TASK
FLOW
IMPLEMENTATION
REQUIREMENTS
PROCESS
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 ???
Decision
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.
RAD
Agile
Iterative
Spiral
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.
Steps
Requirements
– defines needed information, function, behavior, performance and interfaces.
Design
– data structures, software architecture, design principles, design concepts and patterns
Implementation
– includes linking together different components to act as a co-ordinated whole.
Sprint
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...)
Testing
– includes testing levels like Unit Testing, Integration Testing, System Integration Testing (SIT) and User Acceptance Test (UAT).
Installation
- includes all the operations to prepare a system for assembly and transfer to the customer site.
Maintenance
– 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
Scrum
Extreme Programming (XP)
Feature Driven Development (FDD)
Dynamic Software Development Method (DSDM)
Approaches
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
Examples
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
Sprint
Product Backlog
Sprint Backlog
Scrum Team
Scrum Master
Product Owner
Development Team
Sprint Plan Meeting
Daily Scrum Meeting
Sprint Review Meeting
Introduction
Software Development Life Cycle (SDLC)
SDLC
A SDLC is a standardised format for
planning
organising, and
running
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
Present Remotely
Send the link below via email or IM
Present to your audience
- 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
Agile vs Waterfall Model of Software Development
No description
by
Tweet