This presentation describes the diferences between Iterative and Incremental development and how both combined lead to success at agile development. Furthermore it explains how requirements shoudl be broken down in smaller parts to support incremental iterative development.
3. Iterative Development
Develop, then evaluate, then change, …
Never expected it to be right.
Iterate to find the right solution.
Given some good candidate solution, we might then
iterate to improve a candidate solution.
Oliver Schreck, Copyright 2012 3
4. Iterative Development
Wikipedia:
Iteration means the act of repeating a process usually
with the aim of approaching a desired goal or target or
result. Each repetition of the process is also called an
“iteration”, and the results of one iteration are used as
the starting point for the next iteration.
The whole product is iterated all the time.
(This of course is in the purest iterative, non-incremental case)
Oliver Schreck, Copyright 2012 4
9. Incremental development
Incrementally add software a time
Build up functionality gradually
Release incrementally so that we actually get that
business value we're chasing.
We don't really get return on investment till people
begin to use the software we've built.
Oliver Schreck, Copyright 2012 9
10. Incremental development
Wikipedia:
Incrementalism is a method of working by adding to a
project using many small, incremental changes instead
of a few (extensively planned) large jumps.
It means you develop one part of the system and when
it’s ready you develop the next part
Oliver Schreck, Copyright 2012 10
11. 1st Increment
Oliver Schreck, Copyright 2012 11
12. 2nd Increment
Oliver Schreck, Copyright 2012 12
13. 3rd Increment
Oliver Schreck, Copyright 2012 13
14. 4th Increment
Oliver Schreck, Copyright 2012 14
15. Putting both together all the phases of
Incremental development goes through
development (analysis, testing, development, design,
integration, production) it is a perfect tool to expose all
problems in the process.
Incrementalism improves the process and
adds new topics.
Iterative process means rework on the existing product.
Iterativity improves the product
Both can be used without each other but they can be used
together as well.
Oliver Schreck, Copyright 2012 15
16. 1st Increment and 1st Iteration
Oliver Schreck, Copyright 2012 16
17. 1st Increment and 4th Iteration
Oliver Schreck, Copyright 2012 17
18. 2nd Increment and Xth Iteration
Oliver Schreck, Copyright 2012 18
19. 3rd Increment
Oliver Schreck, Copyright 2012 19
20. 4th Increment
Oliver Schreck, Copyright 2012 20
21. The different flavors
Waterfall is non-
iterative, non-
incremental process
Staged delivery is
incremental but not
iterative
Spiral model is highly
iterative but not at all
incremental
Agile process has
many different
flavors, amount of
iterative and
Oliver Schreck, Copyright 2012 incremental can vary 21
22. Document level
Requirement What to do rough?
Specification (Customer
req.)
How to do rough?
System Specification
(System req.)
What to do in detail?
Feature Specification
(Feature req.)
Design Specification How to do in detail?
(Design req.)
Oliver Schreck, Copyright 2012 22
23. Requirement Specification – What to do rough?
CR CR CR
Customer View
Viewer Filming Service
Oliver Schreck, Copyright 2012 23
24. System Specification – How to do rough?
CR CR CR
System
Architecture View
Viewer Filming Service
Front End System req.
Back End System req.
Services System req.
Oliver Schreck, Copyright 2012 24
25. Feature Specification – What to do in detail?
CR CR CR
Customer View
Load Images
Zoom
Viewer Filming Service
Front End System req.
Feature req.
Feature req.
Back End System req.
Services System req.
Oliver Schreck, Copyright 2012 25
26. Design Specification – How to do in detail?
Customer req.
Design
Load Images
Feature req.
Feature req.
Zoom
Architecture View
Design req.
Front End System req.
Design req.
Viewer
Design req.
Design req. Back End System req.
Design req.
Services System req.
Design req.
Oliver Schreck, Copyright 2012 26
27. After Multiple Iterations
Customer req.
Viewer
Design req. Front End System req.
Design req.
Back End System req.
Design req.
Design req. Services System req.
Oliver Schreck, Copyright 2012 27