Introduction to Agile Practices

Post on 23-Jan-2015

7.926 views 11 download

description

An intro to agile slidedeck that was presented at the 2009 ESRI Developers Summit.

Transcript of Introduction to Agile Practices

adoption

iterative scrum

sprint

xp

planning

back

log

team scru

mm

aste

r

collaboration product owner

review re

tros

pect

ive

inspect

adapt Agile Software

Development release

daily stand-up

user stories

tim

e-bo

x

velocity

burn

-dow

n im

pedi

men

ts

roles

done

testing

acce

ptan

ce

incremental

shippable

esti

mat

ing

story points

design manifesto

prioritize

high value

quality working software

interactions

chan

ge

resp

ondi

ng

servant leader

self-organizing

commitment

rusty

rusty

rusty

rusty

stressed

stressed

WTF?

stressed

WTF?

stressed

WTF?

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

monster.com

projects completed on-time, within budget, or delivered on specification

35% The Standish Group, 2006 Chaos Report

projects cancelled

31% The Standish Group, 2006 Chaos Report

software value on the dollar

59¢ The Standish Group, 2006 Chaos Report

features rarely or ever used

64% The Standish Group, 2006 Chaos Report

manifesto

testing design

back

log

Development

individuals

and interactions

processes and tools

working software

comprehensive documentation

customer collaboration

contract negotiation

responding to

change

following a plan

iterative incremental

Agile quality

commitment

iterative development

ChecktheFit

EstablishBusinessRela/onship

ProjectIncep1onDiscoveryAssessment

Itera1on0

SetupProjectInfrastructure

TargetSystem

Incrementaldeliveryin/me‐boxed2weekitera/ons

Itera1on1 Itera1on2 Itera1on3 Itera1onn

ProductBacklog

Itera1onBacklog

Itera1on2Weeks

ProductIncrement

incremental delivery

back

log manifesto

design testing

tim

atin

g sp

ecti

ve

review release

product backlog

future releases

current release

current iteration

user stories prioritize

scru

mm

aste

r

servant leader

collaboration

conversation ca

rd

confirmation

conversation ca

rd

confirmation

As a frequent flyer!I want to rebook a past!

trip so that I save!time booking trips.!ca

rd

As a frequent flyer!I want to rebook a past!

trip so that I save!time booking trips.!ca

rd

conversation ca

rd

confirmation

I WANT THE TOAST TO POP UP WHEN IT’S

DONE

THAT’S REALLY EXPENSIVE. THE POPPING PART IS EASY—THAT’S JUST A SPRING. BUT KNOWING WHEN THE TOAST IS DONE REQUIRES AN OPTICAL SENSOR—NEW

TECHNOLOGY.

BUT WHAT ABOUT ALL

THOSE OTHER TOASTERS OUT

THERE?

OH, THEY USE A TIMER. THEY DON’T REALLY KNOW WHEN THE TOAST IS DONE.

IT’S A KLUDGE.

OUR CUSTOMERS DON’T WANT A SUPER-TOASTER.

THEY JUST WANT A REGULAR TOASTER, WITH A

TIMER, LIKE EVERYONE ELSE.

OH, WELL THAT WON’T

BE EXPENSIVE AT ALL. COOL.

YEAH, COOL!

acce

ptan

ce

planning team

high value collaboration servant leader

self-organizing ch

ange

user stories prioritize

conversation ca

rd

confirmation

As a frequent fly

er!

I want to reboo

k a past!

trip so that

I save!

time booking tri

ps.!

1.  Only frequent fly

ers can

rebook past

trip!

2.  Allow selection f

rom all

past trips!

3.  New trip must match p

ast

trip, except

for dates!

confirmation

planning team

high value acce

ptan

ce

collaboration servant leader

chan

ge

Task14hours

Task26hours

Task32hours

Task48hours

Task52hours

Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6

Release 1.0 Release 2.0 Release 3.0 Release 1.0 Release 2.0 Release 3.0

Product A Product B Product C Product A Product B Product C

release review

Development velocity

interactions daily stand-up

SIZE CALCULATION DURATION

200 UNITS VELOCITY = 10 20 ITERATIONS

Effort

Story 1

Complexity

Effort

Story 2

Complexity

Doubt

DoubtEffort

Story 3

Complexity

Doubt

Doubt

Complexity Effort

Complexity

Effort

Doubt

Complexity Effort

Doubt

M

M XL Story 1

Story 2

Story 3

Doubt

Complexity Effort

Complexity

Effort

Doubt

Complexity Effort

Doubt

5

5 10 Story 1

Story 2

Story 3

Impe

dim

ents

`

velocity

daily stand-up interactions iterative

commitment

0

5

10

15

20

25

30

35

40

Itera/on1

Itera/on2

Itera/on3

Itera/on4

Itera/on5

Itera/on6

Itera/on7

Itera/on8

Itera/on9

Mean (Last 8) = 33

Mean (Worst 3) = 28

At our slowest velocity we’ll finish here (3X28)

At our average velocity we’ll finish here (3X33)

Will Have

Might Have

Won’t Have

The line of hope (3X28)

The line of despair (3X33)

iterative incremental

Agile quality

commitment

teammember capacitythisitera1on

Rachel 46

Ronica 60

Ken 54

Mark 62

Total 222

teamcapacity

storyone Task Es1mate Owner

CodetheUI 6 Ronica

Codethemiddle/er 8 Rachel

Createandautomatetests

4 Mark

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

storytwo task es1mate owner

CodetheUI 12 Ronica

Codethemiddle/er 5 Rachel

Createandautomatetests

6 Mark

“can we commit to this?”

010203040506070

Rachel Ken Ronica Mark

…storynine Task Es1mate Owner

CodetheUI 8 Ronica

Codethemiddle/er 6 Rachel

Createandautomatetests

3 Mark

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

storyten Task Es1mate Owner

CodetheUI 8 Ronica

Codethemiddle/er 6 Rachel

Createandautomatetests

3 Mark

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

go!

anal

ysis

anal

ysis

design

anal

ysis

design code

anal

ysis

design code test

anal

ysis

design code test

document

daily stand-up interactions

done adapt Agile Software

Impe

dim

ents

What did you work on yesterday?

What are you

working on today?

Do you have any

impediments?

Agile Software done

daily stand-up Dadapt

done… done.

analysis design

coding testing

document user acceptance

pilot live

analysis design

coding testing

document user acceptance

pilot live

analysis design

coding testing

document user acceptance

pilot live

analysis design

coding testing

document user acceptance

pilot live

shippable adoption collaboration

Agile Software

potentially shippable

= shippable

potentially shippable

high quality tested

complete done

design re

tros

pect

ive

review release

back

log

esti

mat

ing

testing

manifesto

inspect

and adapt

roles inspect

adoption collaboration ti

me-

box

resp

ondi

ng

scrum master

product owner

team the

Role Monday Tuesday Wednesday Thursday Friday

Developer Planning/Coding

Coding Coding/DefectFixes

Coding/DefectFixes

Coding/DefectFixes

QA/Tester Planning/Wri/ngUAT

Wri/ngUAT QA/Tes/ng QA/Tes/ng QA/Tes/ng

ScrumMaster FacilitatePlanning

Impedimentresolu/on

Impedimentresolu/on

Impedimentresolu/on

Impedimentresolu/on

ProductOwner

Par/cipateinPlanning

Stakeholderfeedback

Stakeholderfeedback

Stakeholderfeedback

Stakeholderfeedback

Role Monday Tuesday Wednesday Thursday Friday

Developer Coding/DefectFixes

Coding/DefectFixes

DefectFixes/Design/StoryDevelopment

DefectFixes/Design/StoryDevelopment

DefectFixes/Review/Retrospec/ve

QA/Tester QA/Tes/ng QA/Tes/ng QA/Tes/ng QA/Tes/ng/AccpetanceCriteria

FinalUAT/Review/Retrospec/ve

ScrumMaster Impedimentresolu/on/Lookahead

Impedimentresolu/on/Refinestories

Impedimentresolu/on/Refinestories

Impedimentresolu/on/Acceptancecriteria

FacilitateReview/Retrospec/ve

ProductOwner

Lookahead/Acceptancetes/ng

Refinestories/Acceptancetes/ng

Refinestories/Acceptancetes/ng

Acceptancecriteria/Acceptancetes/ng

FinalUAT/Par/cipateinReview/Retrospec/ve

building the right code versus

building the code right

product owner

the team

Agile Software collaboration

self-organizing

servant leader

chan

ge

user stories prioritize

scru

mm

aste

r re

spon

ding

ti

me-

box

inspect roles

adoption inspec

shippable burn

-

Agile Soft

increased productivity

88% Agile Methodologies: Survey Results, by Shine Technologies, 2003

increased quality

93% Agile Methodologies: Survey Results, by Shine Technologies, 2003

increased stakeholder satisfaction

83% Agile Methodologies: Survey Results, by Shine Technologies, 2003

49% reduction in costs

Agile Methodologies: Survey Results, by Shine Technologies, 2003

Sutherland,J.,C.Jacobson,etal.(2007).ScrumandCMMILevel5:AMagicPo/onforCodeWarriors!Agile2007,Washington,D.C.,IEEE.

0

20

40

60

80

100

CMMI1 CMMI5 SCRUM

WORK REWORK PROCESS

50

50 50

109

25

64

.. .................

..

......

...CNET

AccuroHealthcare

Moody’s

BMC

HomeAway

1 10 100 1000

User Stories, Code (KSLOC)

Tim

e to

Mar

ket (

Mon

ths)

100

10

1

QSMA Slim Database Study, 2008

market to time

Tradi/onalP

rojects

innovators pragmatists conservatives laggards

the world is here

mainstream the

welcome to

73% 31% GIS the world

Dr. Dobb’s Journal, Scott Ambler Agile Adoption Survey, 2008 GeoScrum Agile Adoption in GIS Survey, 2008

adoption agile

innovators pragmatists conservatives laggards

the world is here

GIS is here

help cross gis

chasm the

rally software chris spagnuolo

www.rallydev.com

adoption

iterative scrum

sprint

xp

planning

back

log

team scru

mm

aste

r

collaboration product owner

review re

tros

pect

ive

inspect

adapt

release

daily stand-up

user stories

tim

e-bo

x

velocity

burn

-dow

n im

pedi

men

ts roles

done

testing

acce

ptan

ce

incremental

shippable

esti

mat

ing

story points

manifesto

prioritize

high value

quality working software

interactions

chan

ge

resp

ondi

ng

servant leader

self-organizing

commitment