introduction to agile practices

113
adoption iterative scrum sprint xp planning backlog team scrummaster collaboration product owner review retrospective inspect adapt Agile Software Development release daily stand-up user stories time-box velocity burn-down impediments roles done testing acceptance incremental shippable estimating story points design manifesto prioritize high value quality working software interactions change responding servant leader self-organizing commitment

Upload: cspag67

Post on 23-Jan-2015

7.928 views

Category:

Technology


11 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

Page 2: Introduction to Agile Practices

rusty

Page 3: Introduction to Agile Practices

rusty

Page 4: Introduction to Agile Practices

rusty

Page 5: Introduction to Agile Practices

rusty

Page 6: Introduction to Agile Practices
Page 7: Introduction to Agile Practices
Page 8: Introduction to Agile Practices
Page 9: Introduction to Agile Practices
Page 10: Introduction to Agile Practices
Page 11: Introduction to Agile Practices
Page 12: Introduction to Agile Practices
Page 13: Introduction to Agile Practices
Page 14: Introduction to Agile Practices

stressed

Page 15: Introduction to Agile Practices

stressed

WTF?

Page 16: Introduction to Agile Practices

stressed

WTF?

Page 17: Introduction to Agile Practices

stressed

WTF?

Page 18: Introduction to Agile Practices

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Page 19: Introduction to Agile Practices

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Page 20: Introduction to Agile Practices

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

Page 21: Introduction to Agile Practices

Nam

e: R

ust

y’s

Pro

ject

Dat

e: 2

/7/2

008

CO

D: M

eth

odol

ogy

monster.com

Page 22: Introduction to Agile Practices

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

35% The Standish Group, 2006 Chaos Report

Page 23: Introduction to Agile Practices

projects cancelled

31% The Standish Group, 2006 Chaos Report

Page 24: Introduction to Agile Practices

software value on the dollar

59¢ The Standish Group, 2006 Chaos Report

Page 25: Introduction to Agile Practices

features rarely or ever used

64% The Standish Group, 2006 Chaos Report

Page 26: Introduction to Agile Practices

manifesto

testing design

back

log

Development

Page 27: Introduction to Agile Practices

individuals

and interactions

processes and tools

Page 28: Introduction to Agile Practices

working software

comprehensive documentation

Page 29: Introduction to Agile Practices

customer collaboration

contract negotiation

Page 30: Introduction to Agile Practices

responding to

change

following a plan

Page 31: Introduction to Agile Practices

iterative incremental

Agile quality

commitment

Page 32: Introduction to Agile Practices

iterative development

ChecktheFit

EstablishBusinessRela/onship

ProjectIncep1onDiscoveryAssessment

Itera1on0

SetupProjectInfrastructure

TargetSystem

Incrementaldeliveryin/me‐boxed2weekitera/ons

Itera1on1 Itera1on2 Itera1on3 Itera1onn

Page 33: Introduction to Agile Practices

ProductBacklog

Itera1onBacklog

Itera1on2Weeks

ProductIncrement

incremental delivery

Page 34: Introduction to Agile Practices

back

log manifesto

design testing

tim

atin

g sp

ecti

ve

review release

Page 35: Introduction to Agile Practices

product backlog

Page 36: Introduction to Agile Practices

future releases

current release

current iteration

Page 37: Introduction to Agile Practices

user stories prioritize

scru

mm

aste

r

servant leader

collaboration

Page 38: Introduction to Agile Practices

conversation ca

rd

confirmation

Page 39: Introduction to Agile Practices

conversation ca

rd

confirmation

Page 40: Introduction to Agile Practices

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

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

rd

Page 41: Introduction to Agile Practices

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

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

rd

Page 42: Introduction to Agile Practices

conversation ca

rd

confirmation

Page 43: Introduction to Agile Practices

I WANT THE TOAST TO POP UP WHEN IT’S

DONE

Page 44: Introduction to Agile Practices

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.

Page 45: Introduction to Agile Practices

BUT WHAT ABOUT ALL

THOSE OTHER TOASTERS OUT

THERE?

Page 46: Introduction to Agile Practices

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

IT’S A KLUDGE.

Page 47: Introduction to Agile Practices

OUR CUSTOMERS DON’T WANT A SUPER-TOASTER.

THEY JUST WANT A REGULAR TOASTER, WITH A

TIMER, LIKE EVERYONE ELSE.

Page 48: Introduction to Agile Practices

OH, WELL THAT WON’T

BE EXPENSIVE AT ALL. COOL.

YEAH, COOL!

Page 49: Introduction to Agile Practices

acce

ptan

ce

planning team

high value collaboration servant leader

self-organizing ch

ange

user stories prioritize

Page 50: Introduction to Agile Practices

conversation ca

rd

confirmation

Page 51: Introduction to Agile Practices

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

Page 52: Introduction to Agile Practices

planning team

high value acce

ptan

ce

collaboration servant leader

chan

ge

Page 53: Introduction to Agile Practices

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

Page 54: Introduction to Agile Practices

release review

Development velocity

interactions daily stand-up

Page 55: Introduction to Agile Practices

SIZE CALCULATION DURATION

200 UNITS VELOCITY = 10 20 ITERATIONS

Page 56: Introduction to Agile Practices

Effort

Story 1

Complexity

Effort

Story 2

Complexity

Doubt

DoubtEffort

Story 3

Complexity

Doubt

Page 57: Introduction to Agile Practices

Doubt

Complexity Effort

Complexity

Effort

Doubt

Complexity Effort

Doubt

M

M XL Story 1

Story 2

Story 3

Page 58: Introduction to Agile Practices

Doubt

Complexity Effort

Complexity

Effort

Doubt

Complexity Effort

Doubt

5

5 10 Story 1

Story 2

Story 3

Page 59: Introduction to Agile Practices

Impe

dim

ents

`

velocity

daily stand-up interactions iterative

commitment

Page 60: Introduction to Agile Practices

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

Page 61: Introduction to Agile Practices

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

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

Page 62: Introduction to Agile Practices

Will Have

Might Have

Won’t Have

The line of hope (3X28)

The line of despair (3X33)

Page 63: Introduction to Agile Practices

iterative incremental

Agile quality

commitment

Page 64: Introduction to Agile Practices

teammember capacitythisitera1on

Rachel 46

Ronica 60

Ken 54

Mark 62

Total 222

teamcapacity

Page 65: Introduction to Agile Practices

storyone Task Es1mate Owner

CodetheUI 6 Ronica

Codethemiddle/er 8 Rachel

Createandautomatetests

4 Mark

Page 66: Introduction to Agile Practices

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

Page 67: Introduction to Agile Practices

storytwo task es1mate owner

CodetheUI 12 Ronica

Codethemiddle/er 5 Rachel

Createandautomatetests

6 Mark

Page 68: Introduction to Agile Practices

“can we commit to this?”

010203040506070

Rachel Ken Ronica Mark

Page 69: Introduction to Agile Practices

…storynine Task Es1mate Owner

CodetheUI 8 Ronica

Codethemiddle/er 6 Rachel

Createandautomatetests

3 Mark

Page 70: Introduction to Agile Practices

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

Page 71: Introduction to Agile Practices

storyten Task Es1mate Owner

CodetheUI 8 Ronica

Codethemiddle/er 6 Rachel

Createandautomatetests

3 Mark

Page 72: Introduction to Agile Practices

010203040506070

Rachel Ken Ronica Mark

“can we commit to this?”

Page 73: Introduction to Agile Practices

go!

Page 74: Introduction to Agile Practices

anal

ysis

Page 75: Introduction to Agile Practices

anal

ysis

design

Page 76: Introduction to Agile Practices

anal

ysis

design code

Page 77: Introduction to Agile Practices

anal

ysis

design code test

Page 78: Introduction to Agile Practices

anal

ysis

design code test

document

Page 79: Introduction to Agile Practices
Page 80: Introduction to Agile Practices

daily stand-up interactions

done adapt Agile Software

Impe

dim

ents

Page 81: Introduction to Agile Practices

What did you work on yesterday?

What are you

working on today?

Do you have any

impediments?

Page 82: Introduction to Agile Practices

Agile Software done

daily stand-up Dadapt

Page 83: Introduction to Agile Practices

done… done.

Page 84: Introduction to Agile Practices

analysis design

coding testing

document user acceptance

pilot live

Page 85: Introduction to Agile Practices

analysis design

coding testing

document user acceptance

pilot live

Page 86: Introduction to Agile Practices

analysis design

coding testing

document user acceptance

pilot live

Page 87: Introduction to Agile Practices

analysis design

coding testing

document user acceptance

pilot live

Page 88: Introduction to Agile Practices

shippable adoption collaboration

Agile Software

Page 89: Introduction to Agile Practices

potentially shippable

Page 90: Introduction to Agile Practices

= shippable

potentially shippable

Page 91: Introduction to Agile Practices

high quality tested

complete done

Page 92: Introduction to Agile Practices
Page 93: Introduction to Agile Practices

design re

tros

pect

ive

review release

back

log

esti

mat

ing

testing

manifesto

Page 94: Introduction to Agile Practices

inspect

and adapt

Page 95: Introduction to Agile Practices

roles inspect

adoption collaboration ti

me-

box

resp

ondi

ng

Page 96: Introduction to Agile Practices

scrum master

Page 97: Introduction to Agile Practices

product owner

Page 98: Introduction to Agile Practices

team the

Page 99: Introduction to Agile Practices

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

Page 100: Introduction to Agile Practices

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

Page 101: Introduction to Agile Practices

building the right code versus

building the code right

product owner

the team

Page 102: Introduction to Agile Practices

Agile Software collaboration

self-organizing

servant leader

chan

ge

user stories prioritize

scru

mm

aste

r re

spon

ding

ti

me-

box

inspect roles

Page 103: Introduction to Agile Practices

adoption inspec

shippable burn

-

Agile Soft

Page 104: Introduction to Agile Practices

increased productivity

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

Page 105: Introduction to Agile Practices

increased quality

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

Page 106: Introduction to Agile Practices

increased stakeholder satisfaction

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

Page 107: Introduction to Agile Practices

49% reduction in costs

Agile Methodologies: Survey Results, by Shine Technologies, 2003

Page 108: Introduction to Agile Practices

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

Page 109: Introduction to Agile Practices

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

..

......

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

Page 110: Introduction to Agile Practices

innovators pragmatists conservatives laggards

the world is here

mainstream the

welcome to

Page 111: Introduction to Agile Practices

73% 31% GIS the world

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

adoption agile

Page 112: Introduction to Agile Practices

innovators pragmatists conservatives laggards

the world is here

GIS is here

help cross gis

chasm the

Page 113: Introduction to Agile Practices

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