Drupal Estimation Techniques by Project Managers

5,574 views

Published on

This is a rerun of a session Shannon and I did in Munich in August of 2012. It's the development of my highly popular sessions on project estimation where I demonstrated a method to size even complex fixed scope projects and come up with realistic estimates even when there's little information. In this session, we will take a broader look at estimation and the role it plays in Drupal project management. We will look at several cases, discuss how to mitigate and classify risk and introduce several methods for making estimates.

Published in: Business

Drupal Estimation Techniques by Project Managers

  1. 1. ience of Gu essing The Sc ru pal E stim ation D Te chni ques P ro ject from M an agers http://www.sxc.hu/photo/814294AS PRESENTED AT DRUPALCAMP STOCKHOLM ON MARCH 8 2013
  2. 2. IntroductionsSeriously, who are these people? Shannon Vettes Jakob Persson Partner Manager at Doing Drupal since 2005, co- Commerce Guys, Project founded NodeOne in 2007, Managing since 2005, currently freelance Drupal Drupal since 2010, consultant Working in IT since 2000 S J
  3. 3. WE ENCOURAGE BIRDSONGTweet , Tweet , Tweedly-deet... Questions & comments? #drestimate S J
  4. 4. WHY YOU ARE HERE
  5. 5. WHY YOU ARE HEREWhen a client orcolleague asks youfor an estimate,what’s your initialreaction? S
  6. 6. WHY YOU ARE HEREWhen a client orcolleague asks youfor an estimate,what’s your initialreaction? Is it THIS? S
  7. 7. WHY YOU ARE HEREWhen a client orcolleague asks youfor an estimate,what’s your initialreaction? Or... Maybe This? S
  8. 8. WHY YOU ARE HEREWhen a client orcolleague asks youfor an estimate,what’s your initialreaction? I hope it’s not this.... S
  9. 9. WHY YOU ARE HEREIf it’s anything like that, You’ve come to the right place!
  10. 10. WHY YOU ARE HEREAt the end of this presentation,we want you to feel like thiswhen asked for an estimate.We’ll cover: What an estimate is Why estimates are needed How risks affect estimates How an estimate is made Answers to your questions S
  11. 11. WHAT AN ESTIMATE IS
  12. 12. WHAT AN ESTIMATE IS“Estimation is the calculatedapproximation of a result which isusable even if input data may beincomplete or uncertain.”– Wikipedia J
  13. 13. WHAT AN ESTIMATE IS “How to bake a pie”✔ Requirements clarification ✔ Use cases ✔ Theming ✔ UI refinement ✔ Development/config ✔ Training/doc ✔ Automated testmaking ✔ Testing ✔ Bugfixing ✔ Deployment ✔ Project management time J
  14. 14. ✔ Requirements clarification ✔ Use cases ✔ UI refinement Story CaseFocuses on needs Focus on behaviorand describe and interaction,functionality in a eliminatesway the shows its ambiguity andapplication and provides thebusiness value. developer with the information he/she needs.•Role •Summary•Need •Rationale•Sequence of •Users events •Preconditions•How to demo •Default events •Alternative sequence http://www.stellman-greene.com/2009/05/03/requirements-101-user-stories-vs-use-cases/ J
  15. 15. ✔ Requirements clarification ✔ Use cases ✔ UI refinement Requirements evolve and are clarified over the course of a project, and they’re often provided as UI designs. Click me Click me Click me April May5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 J
  16. 16. ✔ Theming ✔ Development/config<html> The “real” work? < ?p hp m_al ter() .tpl.phphook_for Views Panel <as ide> CCK sR ules $(function() { ...}) J
  17. 17. ✔ Automated testmaking ✔ Testing ✔ Bugfixing • Test more, build more • Automated testing saves time over the course of a project • Tests helps identify and manage ambiguous requirementshttp://www.sxc.hu/photo/684719 J
  18. 18. ✔ Training/doc ✔ Deployment HOMEWORK (DON’T FORGET!): - Creating content - Ed iting menus les, ok? Dr upal ruhttp://www.sxc.hu/photo/987819 J
  19. 19. PROJECT MANAGEMENT DOES TAKE TIME What about the dreaded.... ✔ Project management time J
  20. 20. PROJECT MANAGEMENT DOES TAKE TIME What about the dreaded....“We don’t need anotherPM from your teamadding overhead to thisproject.” - Poor Soul ✔ Project management time J
  21. 21. PROJECT MANAGEMENT DOES TAKE TIME What about the dreaded....“We don’t need anotherPM from your teamadding overhead to thisproject.” - Poor Soul ✔ Project management time J
  22. 22. WHY WE NEED ESTIMATES
  23. 23. WHY WE NEED ESTIMATES 05 Estimates help to: Plan $ € Budget Communicate J
  24. 24. WHY WE NEED ESTIMATES Plan 05What do we mean by planning? http://bit.ly/WsdfLj S
  25. 25. WHY WE NEED ESTIMATES Plan 05 What do we mean by planning?When will itbe done?!? (Yes, we mean schedules!) http://bit.ly/WsdfLj S
  26. 26. WHY WE NEED ESTIMATES Plan S
  27. 27. WHY WE NEED ESTIMATES Plan Choose a team then April Block their time1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 based on estimates S
  28. 28. WHY WE NEED ESTIMATES Plan S
  29. 29. WHY WE NEED ESTIMATES Plan1 2 3 4 5 6 7 8 April 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 Get a deadline... then Choose a team S
  30. 30. WHY WE NEED ESTIMATES Plan 05 Project estimated to 115 hours. I got 3 guys working full time for a week gives... 40 hrs × 3 = 120 hrs April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 S
  31. 31. WHY WE NEED ESTIMATES Plan 05 t ’s Project estimated to 115 hours. I got 3 guys working full time for a week gives... t ha ps... IT Y Woo IL= 120 hrs B× 3 Ahrs VAIL 401 2 3 4 5 6 7 8 A April 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 May 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 S
  32. 32. WHY WE NEED ESTIMATES Plan 6.4 × 3 = 19.2 hrs per day April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31115/19.2 = 6 days S
  33. 33. WHY WE NEED ESTIMATES Planhttp://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661 J
  34. 34. WHY WE NEED ESTIMATES Planhttp://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661 J
  35. 35. WHY WE NEED ESTIMATES Planhttp://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661 J
  36. 36. WHY WE NEED ESTIMATES Plan Even the best laid plans... Project A Project B Project C April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 311 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 311 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 “We’re going to have “We need a few “BUG! Fix ASAP!” to work the weekend to extra adjustments” fix this!” :( J
  37. 37. WHY DO WE NEED THEM $ € Budget $ € €€ $ $ $ $€ $ € € ?“stuff customer wants” “customer’s budget” J
  38. 38. WHY DO WE NEED THEM $ € Budget April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ? 500 J
  39. 39. WHY DO WE NEED THEM $ € Budget April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 €???? €???? ? 500 J
  40. 40. WHY DO WE NEED THEM $ € Budget€60 €30 €100 €120 €50 J
  41. 41. WHY DO WE NEED THEM $ € Budget€60 €30 €100 €120 $ € €€ $ €50 $ $ $€ $ € € J
  42. 42. WHY DO WE NEED THEM $ € Budget €60 €30 €100 10-20 30 -40 €120 $ € €€ $ $80 -120 10 -20 €50 $ $€ $ € € J
  43. 43. WHY DO WE NEED THEM $ € BudgetWe think this is I’m sure! accurate... €120 80 -120 J
  44. 44. WHY DO WE NEED THEM $ € Budget We think this is I’m sure! accurate... €120 80 -120 April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 J
  45. 45. WHY DO WE NEED THEM $ € Budget We know this is I’m sure! accurate... €120 80 -120 April May1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 J
  46. 46. WHY DO WE NEED THEM $ € Budget Complexity €100 Familiarity80 -120 Dependency 80-120 J
  47. 47. WHY DO WE NEED THEM $ € Budget The sweet spot, Brings a lot of low hanging fruit value but also riskValue Postpone, change Not a lot of gain or discard Effort / Risk J
  48. 48. WHY DO WE NEED THEM $ € Budget The sweet spot, Brings a lot of low hanging fruit value but also riskValue Postpone, change Not a lot of gain or discard Effort / Risk J
  49. 49. WHY DO WE NEED THEM $ € Budget The sweet spot, Brings a lot of low hanging fruit value but also riskValue Postpone, change Not a lot of gain or discard Effort / Risk J
  50. 50. WHY DO WE NEED THEM $ € Budget The sweet spot, Brings a lot of low hanging fruit value but also riskValue Postpone, change Not a lot of gain or discard Effort / Risk J
  51. 51. WHY DO WE NEED THEM $ € Budget The sweet spot, Brings a lot of low hanging fruit value but also riskValue Postpone, change Not a lot of gain or discard Effort / Risk J
  52. 52. WHY DO WE NEED THEM $ € Budget €50 €120 10 -20 C €100 A 40 -60 80 -120 €60 BValue €50 10 -20 D 30 -40 E €40 €30 80 -120 G 10-20 F Effort / Risk J
  53. 53. WHY DO WE NEED THEM CommunicateCommunication as in ... http://bit.ly/1008C8p S
  54. 54. WHY DO WE NEED THEM Communicate Communication as in ...Are we on thesame page? http://bit.ly/1008C8p S
  55. 55. WHY DO WE NEED THEM Communicate Do they Do theyunderstand how understand what complex this we’re trying to design is? achieve? S
  56. 56. WHY DO WE NEED THEM Communicate4,500 - 5,500 2,500??? Do they 2,500 - 3,500 really understand the risks and complexities? RFP 6,500 - 7,000 S
  57. 57. WHY DO WE NEED THEM Communicate €40,000 €40,000 S
  58. 58. WHY DO WE NEED THEM Communicate S
  59. 59. MANAGING THE UNFORESEEN S
  60. 60. MANAGING THE UNFORESEEN RISK S
  61. 61. MANAGING RISK Risk“Risk comes from not knowingwhat you’re doing.”- Warren Buffett S
  62. 62. MANAGING RISK Risk What’s the point of Risk Management?To help you assess risks toyour estimation, and align thenumbers to manage that risk. Avoid car wrecks S
  63. 63. MANAGING RISK Risk 05? Identification ? Assessment Mitigation S
  64. 64. MANAGING RISK Risk? Identification ? 05 S
  65. 65. MANAGING RISK Risk ? Identification ? 05 The usual suspects… HEY, NOT MY PROBLEM! THE API IS STABLE! THERE´S A MODULE FOR THAT! ISN’T IT OOTB?UI IS EASYTO CHANGE! S J
  66. 66. MANAGING RISK Risk Assessment 05 Composite risk rating Impact Probability × =8 It’s an opportunity to evaluate risk in order to decide how to treat it.http://www.sxc.hu/photo/1196348 http://www.sxc.hu/photo/1120986 S
  67. 67. MANAGING RISK Risk Assessment 05RISK IMPACT PROBABILITY RATINGShared sign on 5 5 25Integration online booking 4 4 16Migration legacy system 2 4 8Asteroid hitting the Earth 1E+21 0.000000001 Hey! Don’t forget about us! http://www.sxc.hu/photo/1338362 S J
  68. 68. MANAGING RISK Risk Assessment 05 Overall risk assessment: Low 1-8, Medium 9-16 or High 17-25 LOW MEDIUM HIGH1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 IGNORE QUARTERLY MONTHLY WEEKLY DAILY Overall risk monitoring, a continual process. S
  69. 69. MANAGING RISK Risk Assessment 05 DUDE, WTF? Meh Meh seriously Dude, seriously SERIOUSLY SERIOUSLY? the api is stable 5 ASTEROID VIDEO COMPONENT 4 INTEGRATIONImpact 3 2 MIGRATION 1 1 2 3 4 5 Probability S
  70. 70. MANAGING RISK Risk Mitigation 05 Accept risk - no action Eliminate risk Limit risk Share risk S J
  71. 71. MANAGING RISK Risk 05 THE F RONT FROM L INES‘Just trust us’ A TRUE RISK MITIGATIO N STORY http://bit.ly/100ffI1 S
  72. 72. ESTIMATION TECHNIQUES
  73. 73. ESTIMATION TECHNIQUES 05 Ball Park Top-Down Weighted Estimate Delphi Methods J
  74. 74. ESTIMATION TECHNIQUES Ball Park Top-Down 05 sRequ irement o r I want t • As a use create to be able s b log post to r I want • As a use edit blog to be able posts to r I want sh • As a use un/publi to be able ? sts blog po J
  75. 75. ESTIMATION TECHNIQUES Weighted Estimate 05 Task Est Conf Low - Hi Blog listing view 1 4 0.7 - 1.5 Blog Blog post 1 4 0.7 - 1.5 Comments 1 4 0.7 - 1.5Create views Create rules Theming Test Redirect user 2 3 1-4 Redirect user Blog listing after making Blog front page post Show message 2 3 1-4 Showing Blog post message Post pages ... Comments Comment listing 300 - 450 Create a post form J
  76. 76. ESTIMATION TECHNIQUES Delphi Methods 05 J
  77. 77. ESTIMATION TECHNIQUES 05 When should I use what? Ball Park Top-Down Weighted Estimation Delphi General Strategy Specific FeaturesWhen Estimate Ranges Decisions > Accuracy Several Experts Pros: Easy/Fast Pros: Variance Range Pros: Smarter/AccurateWhy Cons: Short-term Cons: Takes time Cons: Feature Specific Helps for decision making Helps level-set expectations Helps validate theories J
  78. 78. ESTIMATION TECHNIQUES 05100% Actual accuracy of the estimate vs Estimator’s confidence in the accuracy of the estimate Time and effort spent J
  79. 79. ESTIMATION TECHNIQUES The dont’s • Don’t play the blame game • Don’t estimate what you cannot know – requirements are like icebergs • Don’t estimate in a vacuumhttp://www.sxc.hu/photo/1001938
  80. 80. TAKE AWAYS • Management by estimate == bad idea • Estimates should include much more than just development • Estimates are more than just numbers • Use risk management to avoid problems you can identifyhttp://www.flickr.com/photos/jakeliefer/290510226/
  81. 81. TACK! GRACIAS! DANKE! Thanks everyone!
  82. 82. ASK AWAY Who’s got funny graphic goes questions? herehttp://interspeciesfriends.blogspot.de/2008/08/curious-kitten-and-ducklings.html
  83. 83. TALK TO USShannon VettesTwitter: @svettesshannonvettes@gmail.com Jakob Persson Twitter: @realsolipsist jakob.persson@gmail.com

×