iterative incremental development

28
Iterative vs Incremental Oliver Schreck, 2012

Upload: oliver-schreck

Post on 13-Dec-2014

1.459 views

Category:

Documents


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Iterative Incremental development

Iterative vs Incremental Oliver Schreck, 2012

Page 2: Iterative Incremental development

Oliver Schreck, Copyright 2012 2

Rough overview of picture

Page 3: Iterative Incremental development

Oliver Schreck, Copyright 2012 3

Iterative DevelopmentDevelop, 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.

Page 4: Iterative Incremental development

Oliver Schreck, Copyright 2012 4

Iterative DevelopmentWikipedia:

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)

Page 5: Iterative Incremental development

Oliver Schreck, Copyright 2012 5

1st Iteration

Page 6: Iterative Incremental development

Oliver Schreck, Copyright 2012 6

2nd Iteration

Page 7: Iterative Incremental development

Oliver Schreck, Copyright 2012 7

3rd Iteration

Page 8: Iterative Incremental development

Oliver Schreck, Copyright 2012 8

4th Iteration

Page 9: Iterative Incremental development

Oliver Schreck, Copyright 2012 9

Incremental developmentIncrementally 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.

Page 10: Iterative Incremental development

Oliver Schreck, Copyright 2012 10

Incremental developmentWikipedia:

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

Page 11: Iterative Incremental development

Oliver Schreck, Copyright 2012 11

1st Increment

Page 12: Iterative Incremental development

Oliver Schreck, Copyright 2012 12

2nd Increment

Page 13: Iterative Incremental development

Oliver Schreck, Copyright 2012 13

3rd Increment

Page 14: Iterative Incremental development

Oliver Schreck, Copyright 2012 14

4th Increment

Page 15: Iterative Incremental development

Oliver Schreck, Copyright 2012 15

Putting both togetherIncremental development goes through all the phases

of 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.

Page 16: Iterative Incremental development

Oliver Schreck, Copyright 2012 16

1st Increment and 1st Iteration

Page 17: Iterative Incremental development

Oliver Schreck, Copyright 2012 17

1st Increment and 4th Iteration

Page 18: Iterative Incremental development

Oliver Schreck, Copyright 2012 18

2nd Increment and Xth Iteration

Page 19: Iterative Incremental development

Oliver Schreck, Copyright 2012 19

3rd Increment

Page 20: Iterative Incremental development

Oliver Schreck, Copyright 2012 20

4th Increment

Page 21: Iterative Incremental development

Oliver Schreck, Copyright 2012 21

The different flavorsWaterfall 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 incremental can vary

Page 22: Iterative Incremental development

Oliver Schreck, Copyright 2012 22

Document levelRequirement

Specification (Customer req.)

System Specification (System req.)

Feature Specification (Feature req.)

Design Specification (Design req.)

What to do rough?

How to do rough?

What to do in detail?

How to do in detail?

Page 23: Iterative Incremental development

Oliver Schreck, Copyright 2012 23

Requirement Specification – What to do rough?

ViewerFilmin

gServic

e

Customer ViewCR CR CR

Page 24: Iterative Incremental development

Oliver Schreck, Copyright 2012 24

System Specification – How to do rough?

ViewerFilmin

gServic

e

Services

Back End

Front End

System Architecture View

CR CR CR

System req.

System req.

System req.

Page 25: Iterative Incremental development

Oliver Schreck, Copyright 2012 25

Viewer

Feature Specification – What to do in detail?

Filming

Service

Services

Back End

Front End

Zoom

Load

Imag

es

Customer ViewCR CR CR

System req.

System req.

System req.

Featu

re re

q.

Featu

re re

q.

Page 26: Iterative Incremental development

Oliver Schreck, Copyright 2012 26

Viewer

Design Specification – How to do in detail?

Services

Back End

Front End

Zoom

Load

Imag

es

DesignArchitecture View

System req.

Design req.

System req.

Customer req.

Featu

re re

q.

Featu

re re

q.

System req.

Design req.

Design req.

Design req.

Design req.

Design req.

Page 27: Iterative Incremental development

Oliver Schreck, Copyright 2012 27

Viewer

After Multiple Iterations

Services

Back End

Front End

Customer req.

System req.

System req.

System req.

Design req.

Design req.

Design req.

Design req.

Page 28: Iterative Incremental development

Oliver Schreck, Copyright 2012 28

Questions?

If (unclear == true) then askme();