The document discusses why the Scrum agile approach is better than the traditional waterfall approach for software development projects. It argues that the waterfall approach assumes requirements are fully known upfront and the project can be accurately estimated and planned, but in reality software projects face unknowns, changing requirements, and risks. The Scrum methodology allows for iterative development, early delivery of working software, and the ability to adapt to changes - helping to minimize risks and ensure the delivered software provides business value.
1. Why Scrum should be used instead of traditional
waterfall approach?
Why Scrum should be used instead of a traditional
waterfall (staged) approach?
Piotr Nowinski
http://nowinskipiotr.wordpress.com
2. Traditional waterfall approach and writing a massive specification document up-front guarantees that the project is
delivered within an estimated budget and on time.
Does it?
Myth #1
In most of IT projects:
final delivery date is delayed
requirements are vague
scope is changed in the course of the work
budget has to be increased (change orders)
quality slips because of schedule pressure
AGILE vs WATERFALL
4. Software development is a predictable process.
Is it?
Myth #2
Some parts may be predictable, but most are not because of a number of reasons:
software is an intangible product
different interpretations and miscommunication
understanding of the client’s domain
business processes are not black-and-white
interdependencies
many unknowns (“we know 95% of the functionality”)
AGILE vs WATERFALL
5. Advantages of Agile approach:
change is a part of software development
higher quality of deliverables
iterative and incremental development
minimise risk
frequent and quick feedback loops
doing instead of planning
delivering functionality to achieve business value
client remains in control of the project
client has a great degree of flexibility
AGILE vs WATERFALL
8. Advantages of Agile approach:
iterative and incremental development
delivering functionality to achieve business value
minimised risk
Agile
time
100%
90%
90% features 100% completed
Traditional
time
100%
90%
100% features 90% completed
9. time
value of
requirements
Advantages of Agile approach:
change is a part of software development
minimise risk
doing instead of planning
delivering functionality to achieve business value
client remains in control of the project
50%
100 %
25%
actual
release
planned
release
11. TIME
VALUE (ROI)
ROI CUT-OFF
STOP THERE
Advantages of Agile approach:
iterative and incremental development
minimise risk
delivering functionality to achieve business value
client remains in control of the project
client has a great degree of flexibility
12. time
cost of deferringcost of deciding
last responsible moment
cost
Advantages of Agile approach:
change is a part of software development
minimise risk
frequent and quick feedback loops
client remains in control of the project
client has a great degree of flexibility
13. Advantages of Agile approach:
higher quality of deliverables
minimise risk
client remains in control of the project
Fixed time and scope project must let
quality slip, because there is always risk
Agile process fix quality at the
expense of either time or scope.
SCOPE
QUALITY
TIME
14. Advantages of Agile approach:
change is a part of software development
higher quality of deliverables
delivering functionality to achieve business value
client remains in control of the project
Scope
Resources Date
Resources Date
Scope
fixed
estimated
Waterfall
Value
Quality Constraints
Agile Triangle