Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Agile and the Seven Deadly
Sins of Project Management
April 19, 2011
Mike Cohn
1
® © 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 fourcompanies
Agile coachand trainer
2
® © 2008–2011 Mountain Goat Software®
A cornucopia of agile processes
Extreme Programming (XP)
Scrum
Crystal
DSDM
Lean software development
Unbranded “agile”
Agile Processes
Feature-Driven Development
(FDD)
OpenUP
Semi-Agile Processes
3
© 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
® © 2008–2011 Mountain Goat Software®
The Scrum project community
Programmer Programmer
DBA
Programmer
Tester
Tester
User Experience
Designer
Analyst
to build and
in what order
The
team
Scrum
Master
Product
Owner
Process coach
and Sheepdog
for the team
5
® © 2008–2011 Mountain Goat Software®
Scrum
Cancel
Gift wrap
Return
Sprint
2-4 weeks
Return
Sprint goal
Sprint
backlog
Potentially shippable
product increment
Product
backlog
CouponsGift wrap
Coupons
Cancel
24 hours
6
® © 2008–2011 Mountain Goat Software®
Seven Sins of Project Management
Gluttony
1
Lust
2
Sloth
3
Opaqueness
4
Pride
5
Wastefulness
6
Myopia
7
7
© 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 as
Impossible schedules
Death marches
Leads to
Trying to do too much for the
resources (time, people) available
Cutting quality to meet other
goals
8
© 2008–2011 Mountain Goat Software®
®
Timeboxes help avoid gluttony
But the number of iterations is variable
Focus is always on “what can we accomplish
next?”
9
© 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 9
Iterations
Velocity
Knowing this
prevents the
temptation to
overcommit
10
© 2008–2011 Mountain Goat Software®
®
What expectation of future
velocity should this team set?
Feature A 5
Feature B 3
Feature C 5
Feature F 3
Feature D 5
Feature E 5
Feature G 3
Feature I 3
Feature H 5
Feature J 2
Feature K 5
Feature L 3
Feature A 5
Feature B 3
Feature C 5
Feature F 3
Feature D 5
Feature E 5
Feature G 3
Feature I 3
Feature H 5
Feature J 2
Feature K 5
Feature L 3
✓
✓
✓
11
© 2008–2011 Mountain Goat Software®
®
Sin #2: Lust
Intense or unrestrained craving for features
Experienced as
Trying to put too many features into a product during
the time allowed
Treating all features
as “critical”
Leads to
Overtime, reduced
quality, surprises
12
® © 2008–2011 Mountain Goat Software®
Three ways agile deals with
lust
Incremental
2
Developing features in
priority order
1
13
® © 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
® © 2008–2011 Mountain Goat Software®
Normal
Velocity
Iterations
Velocity Overtime
Velocity
15
© 2008–2011 Mountain Goat Software®
®
Sin #3: Sloth
Failing to do high quality
work at all times
Experienced as
Testing quality in at the end
Instability during
development
Leads to
Big delays
Unpredictable schedules
16
® © 2008–2011 Mountain Goat Software®
Agile practices related to quality
Continuous integration
Simple design
Automated testing
Test-driven development
Refactoring
Pair programming
17
® © 2008–2011 Mountain Goat Software®
Case Study 1
Cosmodemonic Biotech
Waterfall 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
® © 2008–2011 Mountain Goat Software®
Productivity (NCSS / month)
270US average
389Three years prior
to introducing agile
1206First nine months
after starting agile
NCSS=Non-Comment Source Statment (Java)
Case Study 2
ePS
19
® © 2008–2011 Mountain Goat Software®
ePS
Defects per KNCSS
10Three years prior
to introducing agile
2.9First nine months
after starting agile
Results achieved without any targeted rewrite of existing
(buggy) code
Many 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
© 2008–2011 Mountain Goat Software®
®
Sin #4: Opaqueness
Obscuring the progress,
quality or other attribute of
a project
Experienced as
Not knowing the true state
of the project
Leads to
Surprises
Poor decisions
21
© 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 opaqueness
1
22
® © 2008–2011 Mountain Goat Software®
How agile addresses Schedule opaqueness
2
StoryPoints
Iterations
400
300
200
100
0
1 2 3 4 5
23
© 2008–2011 Mountain Goat Software®
®
0
10
20
30
40
1 2 3 4 5 6 7 8 9
Iterations
interval
(28–37 here)
How agile addresses Scope opaqueness
3Velocity
24
© 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
© 2008–2011 Mountain Goat Software®
®
Sin #5: Pride
Believing that we know everything to build the product
Experienced as
A lack of stakeholder and user involvement
Leads to
Failure to
solicit feedback
Failure to learn
26
® © 2008–2011 Mountain Goat Software®
Sprint
2-4 weeks
Return
Sprint goal
Sprint
backlog
Potentially shippable
product increment
Product
backlog
Gift wrap
Coupons
Cancel
24 hours
Where are opportunities for
feedback?
27
® © 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
© 2008–2011 Mountain Goat Software®
®
Sin #6:Wastefulness
Misuse of critical resources
Experienced as
Losses of creativity,
motivation, and time
Leads to
Project malaise
Delays
Doing it the same way
(again)
29
® © 2008–2011 Mountain Goat Software®
How agile handles waste
1
Daily standups
2
Iteration retrospectives
3
Self-organizing teams
4
30
® © 2008–2011 Mountain Goat Software®
Months
Intensity
Waterfall
Scrum
Spreading intensity evenly
5
31
® © 2008–2011 Mountain Goat Software®
Salesforce.com
Improvement 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
© 2008–2011 Mountain Goat Software®
®
Sin #7: Myopia (Shortsightedness)
Not seeing beyond your own
work
Experienced as
Teams who don’t see the big
picture
Individuals who work only
within their roles
Leads to
Unsuccessful products
Delays
33
® © 2008–2011 Mountain Goat Software®
Seeing the forest and the
trees at the same time
Release Plan
Sprint 1 Sprint 2 Sprint 3 Sprints 4–7
8 hoursTask A
16 hoursTask B
5 hoursTask C
8 hoursTask D
Iteration
Plan
34
© 2008–2011 Mountain Goat Software®
®
Cross-functional team
All disciplines necessary to go from idea to
implementation
Improves creativity and ownership
Whole team
commitment
But does
that make
everyone a
generalist?
35
® © 2008–2011 Mountain Goat Software®
Is everyone a generalist?
36
® © 2008–2011 Mountain Goat Software®
Is everyone a generalist?
Screw that;
where’s
lunch?
37
® © 2008–2011 Mountain Goat Software®
Is everyone a generalist?
Ferentino’sBruno’s
Screw that;
where’s
lunch?
Meconi’s
Order-taker
Key
Floater
Sandwich-maker
38
® © 2008–2011 Mountain Goat Software®
Additional resources
Scrum Information
www.MountainGoatSoftware.com/scrum
www.MountainGoatSoftware.com/presentations
www.ScrumAlliance.org
Training
www.MountainGoatSoftware.com/training
Books
Agile Software Development with Scrum, Ken Schwaber
Succeeding with Agile, Mike Cohn
39
® © 2008–2011 Mountain Goat Software®
Mike Cohn
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
twitter: mikewcohn
(888) 61−AGILE
40

More Related Content

Agile and the Seven Sins of Project Management

  • 1. Agile and the Seven Deadly Sins of Project Management April 19, 2011 Mike Cohn 1
  • 2. ® © 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 fourcompanies Agile coachand trainer 2
  • 3. ® © 2008–2011 Mountain Goat Software® A cornucopia of agile processes Extreme Programming (XP) Scrum Crystal DSDM Lean software development Unbranded “agile” Agile Processes Feature-Driven Development (FDD) OpenUP Semi-Agile Processes 3
  • 4. © 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
  • 5. ® © 2008–2011 Mountain Goat Software® The Scrum project community Programmer Programmer DBA Programmer Tester Tester User Experience Designer Analyst to build and in what order The team Scrum Master Product Owner Process coach and Sheepdog for the team 5
  • 6. ® © 2008–2011 Mountain Goat Software® Scrum Cancel Gift wrap Return Sprint 2-4 weeks Return Sprint goal Sprint backlog Potentially shippable product increment Product backlog CouponsGift wrap Coupons Cancel 24 hours 6
  • 7. ® © 2008–2011 Mountain Goat Software® Seven Sins of Project Management Gluttony 1 Lust 2 Sloth 3 Opaqueness 4 Pride 5 Wastefulness 6 Myopia 7 7
  • 8. © 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 as Impossible schedules Death marches Leads to Trying to do too much for the resources (time, people) available Cutting quality to meet other goals 8
  • 9. © 2008–2011 Mountain Goat Software® ® Timeboxes help avoid gluttony But the number of iterations is variable Focus is always on “what can we accomplish next?” 9
  • 10. © 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 9 Iterations Velocity Knowing this prevents the temptation to overcommit 10
  • 11. © 2008–2011 Mountain Goat Software® ® What expectation of future velocity should this team set? Feature A 5 Feature B 3 Feature C 5 Feature F 3 Feature D 5 Feature E 5 Feature G 3 Feature I 3 Feature H 5 Feature J 2 Feature K 5 Feature L 3 Feature A 5 Feature B 3 Feature C 5 Feature F 3 Feature D 5 Feature E 5 Feature G 3 Feature I 3 Feature H 5 Feature J 2 Feature K 5 Feature L 3 ✓ ✓ ✓ 11
  • 12. © 2008–2011 Mountain Goat Software® ® Sin #2: Lust Intense or unrestrained craving for features Experienced as Trying to put too many features into a product during the time allowed Treating all features as “critical” Leads to Overtime, reduced quality, surprises 12
  • 13. ® © 2008–2011 Mountain Goat Software® Three ways agile deals with lust Incremental 2 Developing features in priority order 1 13
  • 14. ® © 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
  • 15. ® © 2008–2011 Mountain Goat Software® Normal Velocity Iterations Velocity Overtime Velocity 15
  • 16. © 2008–2011 Mountain Goat Software® ® Sin #3: Sloth Failing to do high quality work at all times Experienced as Testing quality in at the end Instability during development Leads to Big delays Unpredictable schedules 16
  • 17. ® © 2008–2011 Mountain Goat Software® Agile practices related to quality Continuous integration Simple design Automated testing Test-driven development Refactoring Pair programming 17
  • 18. ® © 2008–2011 Mountain Goat Software® Case Study 1 Cosmodemonic Biotech Waterfall 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
  • 19. ® © 2008–2011 Mountain Goat Software® Productivity (NCSS / month) 270US average 389Three years prior to introducing agile 1206First nine months after starting agile NCSS=Non-Comment Source Statment (Java) Case Study 2 ePS 19
  • 20. ® © 2008–2011 Mountain Goat Software® ePS Defects per KNCSS 10Three years prior to introducing agile 2.9First nine months after starting agile Results achieved without any targeted rewrite of existing (buggy) code Many 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
  • 21. © 2008–2011 Mountain Goat Software® ® Sin #4: Opaqueness Obscuring the progress, quality or other attribute of a project Experienced as Not knowing the true state of the project Leads to Surprises Poor decisions 21
  • 22. © 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 opaqueness 1 22
  • 23. ® © 2008–2011 Mountain Goat Software® How agile addresses Schedule opaqueness 2 StoryPoints Iterations 400 300 200 100 0 1 2 3 4 5 23
  • 24. © 2008–2011 Mountain Goat Software® ® 0 10 20 30 40 1 2 3 4 5 6 7 8 9 Iterations interval (28–37 here) How agile addresses Scope opaqueness 3Velocity 24
  • 25. © 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
  • 26. © 2008–2011 Mountain Goat Software® ® Sin #5: Pride Believing that we know everything to build the product Experienced as A lack of stakeholder and user involvement Leads to Failure to solicit feedback Failure to learn 26
  • 27. ® © 2008–2011 Mountain Goat Software® Sprint 2-4 weeks Return Sprint goal Sprint backlog Potentially shippable product increment Product backlog Gift wrap Coupons Cancel 24 hours Where are opportunities for feedback? 27
  • 28. ® © 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
  • 29. © 2008–2011 Mountain Goat Software® ® Sin #6:Wastefulness Misuse of critical resources Experienced as Losses of creativity, motivation, and time Leads to Project malaise Delays Doing it the same way (again) 29
  • 30. ® © 2008–2011 Mountain Goat Software® How agile handles waste 1 Daily standups 2 Iteration retrospectives 3 Self-organizing teams 4 30
  • 31. ® © 2008–2011 Mountain Goat Software® Months Intensity Waterfall Scrum Spreading intensity evenly 5 31
  • 32. ® © 2008–2011 Mountain Goat Software® Salesforce.com Improvement 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
  • 33. © 2008–2011 Mountain Goat Software® ® Sin #7: Myopia (Shortsightedness) Not seeing beyond your own work Experienced as Teams who don’t see the big picture Individuals who work only within their roles Leads to Unsuccessful products Delays 33
  • 34. ® © 2008–2011 Mountain Goat Software® Seeing the forest and the trees at the same time Release Plan Sprint 1 Sprint 2 Sprint 3 Sprints 4–7 8 hoursTask A 16 hoursTask B 5 hoursTask C 8 hoursTask D Iteration Plan 34
  • 35. © 2008–2011 Mountain Goat Software® ® Cross-functional team All disciplines necessary to go from idea to implementation Improves creativity and ownership Whole team commitment But does that make everyone a generalist? 35
  • 36. ® © 2008–2011 Mountain Goat Software® Is everyone a generalist? 36
  • 37. ® © 2008–2011 Mountain Goat Software® Is everyone a generalist? Screw that; where’s lunch? 37
  • 38. ® © 2008–2011 Mountain Goat Software® Is everyone a generalist? Ferentino’sBruno’s Screw that; where’s lunch? Meconi’s Order-taker Key Floater Sandwich-maker 38
  • 39. ® © 2008–2011 Mountain Goat Software® Additional resources Scrum Information www.MountainGoatSoftware.com/scrum www.MountainGoatSoftware.com/presentations www.ScrumAlliance.org Training www.MountainGoatSoftware.com/training Books Agile Software Development with Scrum, Ken Schwaber Succeeding with Agile, Mike Cohn 39
  • 40. ® © 2008–2011 Mountain Goat Software® Mike Cohn mike@mountaingoatsoftware.com www.mountaingoatsoftware.com twitter: mikewcohn (888) 61−AGILE 40