agile and the seven sins of project management

40
Agile and the Seven Deadly Sins of Project Management April 19, 2011 Mike Cohn 1

Upload: mike-cohn

Post on 01-Nov-2014

849 views

Category:

Business


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Agile and the Seven Sins of Project Management

Agile and the Seven DeadlySins of Project Management

April 19, 2011

Mike Cohn

1

Page 2: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Mike Cohn - background

•Founding member and director of Agile Alliance and Scrum Alliance•Founder of Mountain Goat Software•Ran my first Scrum project in 1995•Former VPE in four companies

Agile coachand trainer

2

Page 3: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

A cornucopia of agile processes

Extreme Programming (XP)ScrumCrystalDSDMLean software developmentUnbranded “agile”

Agile Processes

Feature-Driven Development (FDD)

OpenUP

Semi-Agile Processes

3

Page 4: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

A closer look at Scrum

But many Scrum teams are adopting much of XP

2- to 4-week iterations called “sprints”

Self-organizing, cross-functional teams

Uses generative rules to create an agile environment

4

Page 5: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

The Scrum project community

Programmer Programmer

DBA

Programmer

Tester

Tester

User ExperienceDesigner

Analyst

to build andin what order

The team

ScrumMaster

Product Owner

Process coachand Sheepdogfor the team

5

Page 6: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Scrum

Cancel

Gift wrap

Return

Sprint2-4 weeks

Return

Sprint goal

Sprint backlog

Potentially shippableproduct increment

Productbacklog

CouponsGift wrap

Coupons

Cancel

24 hours

6

Page 7: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Seven Sins of Project Management

Gluttony1

Lust2

Sloth3

Opaqueness4

Pride5

Wastefulness6

Myopia7

7

Page 8: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #1: Gluttony

Fixing all dimensions (scope, schedule, resources, and quality) of a project

A project management sin of excess

Experienced asImpossible schedules

Death marches

Leads toTrying to do too much for the resources (time, people) available

Cutting quality to meet other goals

8

Page 9: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Timeboxes help avoid gluttony

But the number of iterations is variableFocus is always on “what can we accomplish next?”

9

Page 10: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Timeboxed iterations increase predictability

Over time a team learns how much it can complete per iteration (its “velocity”)

0

10

20

30

40

1 2 3 4 5 6 7 8 9Iterations

Velo

city

Knowing this prevents the temptation to overcommit

10

Page 11: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

What expectation of future velocity should this team set?

Feature A 5Feature B 3Feature C 5Feature F 3Feature D 5Feature E 5Feature G 3Feature I 3Feature H 5Feature J 2Feature K 5Feature L 3

Feature A 5Feature B 3Feature C 5Feature F 3Feature D 5Feature E 5Feature G 3Feature I 3Feature H 5Feature J 2Feature K 5Feature L 3

✓✓✓

11

Page 12: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #2: Lust

Intense or unrestrained craving for features

Experienced asTrying to put too many features into a product during the time allowedTreating all features as “critical”

Leads to

Overtime, reduced quality, surprises

12

Page 13: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Three ways agile deals with lust

Incremental2

Developing features in priority order

1

13

Page 14: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

~Kent Beck

“Overtime is a symptom of a serious problem on the project. The XP rule is simple–you can’t work a

and put in some extra hours. If you come in on Monday and say ‘To meet our goals, we’ll have to work late again,’ then you already have a problem that can’t be solved by working more hours.”

3

14

Page 15: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

NormalVelocity

Iterations

Velo

city

OvertimeVelocity

15

Page 16: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #3: Sloth

Failing to do high quality work at all times

Experienced asTesting quality in at the end

Instability during development

Leads toBig delays

Unpredictable schedules

16

Page 17: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Agile practices related to quality

Continuous integration

Simple design

Automated testing

Test-driven development

Refactoring

Pair programming

17

Page 18: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Case Study 1

Cosmodemonic BiotechWaterfall Scrum

Use Case pages

User Stories

Calendar months

Person months

Lines of Java code

Lines of Java code per person-month

3,000

1,400

9 12

540 54

58,000 51,000

120 840

18

Page 19: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Productivity (NCSS / month)

270US average

389Three years priorto introducing agile

1206First nine monthsafter starting agile

NCSS=Non-Comment Source Statment (Java)

Case Study 2

ePS

19

Page 20: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

ePSDefects per KNCSS

10Three years priorto introducing agile

2.9First nine monthsafter starting agile

Results achieved without any targeted rewrite of existing (buggy) codeMany of the post-agile defects continued to be in the old code True results would be even better (if we had measured them)

But wait, there’s more...

20

Page 21: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #4: Opaqueness

Obscuring the progress, quality or other attribute of a project

Experienced asNot knowing the true state of the project

Leads toSurprises

Poor decisions

21

Page 22: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Three types of opaqueness

Continuous integration

Features are either “Done” or “Not Done”

Avoids the 90% Syndrome

How agile addresses Quality opaqueness1

22

Page 23: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

How agile addresses Schedule opaqueness2

Stor

y Po

ints

Iterations

400

300

200

100

01 2 3 4 5

23

Page 24: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

0

10

20

30

40

1 2 3 4 5 6 7 8 9Iterations

interval(28–37 here)

How agile addresses Scope opaqueness3

Velo

city

24

Page 25: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

predict what will be delivered

(5×33)

We’ll almost certainly get here (5×28)

This is the most we can realistically expect (5×37)

Assume:There are five sprints left.

25

Page 26: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #5: Pride

Believing that we know everything to build the product

Experienced asA lack of stakeholder and user involvement

Leads toFailure to solicit feedback

Failure to learn

26

Page 27: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Sprint2-4 weeks

Return

Sprint goal

Sprint backlog

Potentially shippableproduct increment

Productbacklog

Gift wrap

Coupons

Cancel

24 hours

Where are opportunities for feedback?

27

Page 28: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Agile requirements“User stories” facilitate working closely with users & customers

As a user, I want to reserve a hotel room. As a vacation traveler, I

want to see photos of the hotels so that I can choose the best one for me. As a user, I want the site to

be available 99.999% of the time I try to access it.

28

Page 29: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #6: Wastefulness

Misuse of critical resources

Experienced asLosses of creativity, motivation, and time

Leads toProject malaise

Delays

Doing it the same way (again)

29

Page 30: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

How agile handles waste1

Daily standups2

Iteration retrospectives3

Self-organizing teams4

30

Page 31: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Months

Inte

nsity

Waterfall

Scrum

Spreading intensity evenly5

31

Page 32: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Salesforce.comImprovement in mean time to

release for major releases +61%

Increase in features delivered in major releases +94%

Increase in features delivered per developer +38%

Increase in major release cumulative value +568%

Source: Scrum Gathering, April 16, 2008

32

Page 33: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Sin #7: Myopia (Shortsightedness)

Not seeing beyond your own work

Experienced asTeams who don’t see the big picture

Individuals who work only within their roles

Leads toUnsuccessful products

Delays

33

Page 34: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Seeing the forest and the trees at the same time

Release PlanSprint 1 Sprint 2 Sprint 3 Sprints 4–7

8 hoursTask A16 hoursTask B5 hoursTask C8 hoursTask D

Iteration Plan

34

Page 35: Agile and the Seven Sins of Project Management

© 2008–2011 Mountain Goat Software®®

Cross-functional teamAll disciplines necessary to go from idea to implementation

Improves creativity and ownership

Whole team commitment

But does that make everyone a generalist?

35

Page 36: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Is everyone a generalist?

36

Page 37: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Is everyone a generalist?Screw that;

where’slunch?

37

Page 38: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Is everyone a generalist?

Ferentino’sBruno’s

Screw that;where’slunch?

Meconi’sOrder-taker

Key

Floater

Sandwich-maker

38

Page 39: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Additional resourcesScrum Information

www.MountainGoatSoftware.com/scrumwww.MountainGoatSoftware.com/presentationswww.ScrumAlliance.org

Trainingwww.MountainGoatSoftware.com/training

BooksAgile Software Development with Scrum, Ken SchwaberSucceeding with Agile, Mike Cohn

39

Page 40: Agile and the Seven Sins of Project Management

® © 2008–2011 Mountain Goat Software®

Mike [email protected]

twitter: mikewcohn(888) 61−AGILE

40