Save 37% off PRO during our Black Friday Sale! »

Unreasonable Estimates & Improbable Goals

Unreasonable Estimates & Improbable Goals

Your job doesn't start when your fingers touch the keyboard. It starts when someone utters the words: "How hard would it be?"

This is a crash course in estimating work, identifying hidden costs, and dealing with constraints. Along the way we will also learn how to defend against tricks from the Dark Side such as estimation bargaining, ego manipulation, and crunch time.

They taught me Big-O notation, I wish they taught me this.

65bd9e4c5aebde25ebf16d599339d570?s=128

Adam Sanderson

April 18, 2014
Tweet

Transcript

  1. Unreasonable Estimates and Improbable Goals Adam Sanderson 1

  2. Adam Sanderson I have been a full stack developer at

    LiquidPlanner for about 6 years. Github: adamsanderson Twitter: adamsanderson Speaker Deck: adamsanderson Blog: http://monkeyandcrow.com 2
  3. Online project management software: Probabilistic scheduling Collaboration Time tracking By

    watching this talk, you're obviously brilliant, so come work with me, heck yes! 3
  4. Estimating Projects Finding Hidden Costs Dealing with Deadlines 4

  5. How hard would it be? Estimating Projects 5

  6. Clarify How hard would it be to add email integration

    to our product? Does that mean: Sending mail Receiving mail A Plugin for Outlook “ 6
  7. Clarify Can you upload each image in the email? Make

    sure you understand why you are implementing the feature. Does a solution already exist? Is there a better approach? “ 7
  8. Estimating What are the major pieces of work you need

    to do? Break down large tasks Group small, but similar details Compare to similar work you have done 8
  9. Make a Guess

  10. Seriously An estimate is an informed guess. It's ok to

    be wrong. It's ok to be uncertain. 10
  11. Quantify Uncertainty Embrace uncertainty, you clearly don't know the future

    * Identify uncertain issues Play a spread * If you did, you wouldn't be here right now. 11
  12. Deal With Uncertainty You can and should change your estimates.

    Do the uncertain things first Re-estimate as you learn Communicate often 12
  13. Defense Against the Dark Arts Estimation Bargaining 13

  14. PM: So how long will it take? You: About three

    weeks. PM: We need this quick, could you do it in one? You: Well, maybe two weeks. Estimation Bargaining “ 14
  15. Estimation Bargaining It's natural for people to haggle, but nobody

    wins in estimation bargaining. You can't negotiate time You can negotiate features You can re-estimate as you learn The assumption is that you are either lazy or lying. 15
  16. You can, but should you? Hidden Costs 16

  17. Complexity Costs Some features incur a cost for every future

    feature. API Support Access Controls Mobile Support Watch for cross cutting concerns 17
  18. Operational Costs Are you introducing new architecture? How will you

    test it? How will you monitor it? How will you deploy it? 18
  19. Support Costs Features can be technically simple, but conceptually difficult.

    Will your users understand it? Will your support team understand it? Will your business understand it? 19
  20. Opportunity Costs What is the priority of this work? For

    you For your team For the business 20
  21. Weigh the Costs Everything you do will cost something down

    the road. Choose which costs you are willing to pay. 21
  22. Defense Against the Dark Arts Ego Manipulation 22

  23. PM: How long will it take? You: About a week.

    PM: Really? I thought you were smarter than that... PM: I'll ask the intern, she seems pretty sharp. You: On second thought, it's probably not that hard. Ego Manipulation “ 23
  24. Ego Manipulation Don't let your ego get you in trouble.

    Stand by your estimates. 24
  25. I’ll need that on Monday Dealing With Deadlines 25

  26. Deadlines Not all deadlines are created equal. They come on

    a spectrum. Soft deadlines: Goals Hard deadlines: Promises 26
  27. Dealing With It When you are going to miss a

    deadline, you have options: Ship late Cut features Add People Work Overtime 27
  28. Overtime Overtime can work, but it's not sustainable. You have:

    8 hours to work 8 hours to sleep 8 hours to commute, clean up after the dog, make dinner, do dishes, vacuum, read a book, watch tv, go for a run, take a shower, buy me coffee, and spend time with friends and family. 28
  29. Defense Against the Dark Arts Deadline Hardening 29

  30. PM: Lets try to release at the end of the

    month. You: I don't think we can make that, but I'll try. …cue spinning clock… PM: We need to release at the end of the month! You: There's no way we'll be ready! PM: Look we've got customers waiting on this. Deadline Hardening “ 30
  31. Deadline Hardening Don't commit to making any deadline you can't

    meet. People are less likely to turn a goal into a deadline if it's risky. Communicate status and risk often. 31
  32. Any Questions? Thinking of good questions is hard, I've thought

    of some for you: If estimates are just guesses, why even bother? Is there some magic product that solves all these problems? Do you have any more Dark Arts to share? Can I buy you coffee? Don't ask scary questions if you don't want scary answers. 32
  33. BONUS

  34. Defense Against the Dark Arts All the other ways we

    get suckered into absurd situations 34
  35. The Secret Project How would you like to work on

    a special project this weekend? “ 35
  36. The Secret Project This is a great way for the

    business to get extra features without cutting anything. Will this be meaningful to you? Is this a precedent you want to set? Does this fit with development best practices? It's your time, if you want to work, that's your call. 36
  37. Estimate Pride I said a day, and damnit I'll do

    it in a day if it takes me all night. “ 37
  38. Estimate Pride An estimate is just a guess. It's perfectly

    alright to change an estimate when you learn more about the issue. Just remember to tell anyone who is depending on that estimate! 38
  39. Certainizing One to five days? Ok, lets just call it

    three. “ 39
  40. Certainizing You might think you are agreeing to the expected

    outcome, but you actually just cut your estimate. 40
  41. “Optimizing” One to five days? You're smart, lets just call

    it one. “ 41
  42. “Optimizing” Ingredients: One part Ego Manipulation One part Certanizing One

    part Optimism Mix thoroughly, serve hot. 42
  43. Time Boxing Don't spend more than 2 hours on that.

    “ 43
  44. Time Boxing Putting a limit on very uncertain tasks is

    OK, but: Be clear about what happens if you stop early If you reach the limit, wrap up and let people know Wrapping up and communicating takes time too. 44
  45. You: We really need to do this, it will only

    take a week. PM: A week? There are a dozen things I'd rather do in a week. You: Ok, what about 3 days? PM: Sold! The Price Tag 45
  46. The Price Tag If someone knows you want to do

    work, they might make you bargain for the privilege. Sell them on the value, not the time. 46
  47. Call in the Cavalry I think this project could use

    some outside help... “ 47
  48. Call in the Cavalry Contractors can help on some projects,

    but remember: You'll be the one maintaining it later They'll need time to get up to speed There will be coordination costs 48
  49. Even More Dark Arts? Let me know @ a d

    a m s a n d e r s o n 49