iterative incremental development

Post on 13-Dec-2014

1.453 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

Iterative vs Incremental Oliver Schreck, 2012

Oliver Schreck, Copyright 2012 2

Rough overview of picture

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.

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)

Oliver Schreck, Copyright 2012 5

1st Iteration

Oliver Schreck, Copyright 2012 6

2nd Iteration

Oliver Schreck, Copyright 2012 7

3rd Iteration

Oliver Schreck, Copyright 2012 8

4th Iteration

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.

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

Oliver Schreck, Copyright 2012 11

1st Increment

Oliver Schreck, Copyright 2012 12

2nd Increment

Oliver Schreck, Copyright 2012 13

3rd Increment

Oliver Schreck, Copyright 2012 14

4th Increment

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.

Oliver Schreck, Copyright 2012 16

1st Increment and 1st Iteration

Oliver Schreck, Copyright 2012 17

1st Increment and 4th Iteration

Oliver Schreck, Copyright 2012 18

2nd Increment and Xth Iteration

Oliver Schreck, Copyright 2012 19

3rd Increment

Oliver Schreck, Copyright 2012 20

4th Increment

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

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?

Oliver Schreck, Copyright 2012 23

Requirement Specification – What to do rough?

ViewerFilmin

gServic

e

Customer ViewCR CR CR

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.

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.

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.

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.

Oliver Schreck, Copyright 2012 28

Questions?

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

top related