Slide 1

Slide 1 text

Unreasonable Estimates and Improbable Goals Adam Sanderson 1

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Estimating Projects Finding Hidden Costs Dealing with Deadlines 4

Slide 5

Slide 5 text

How hard would it be? Estimating Projects 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

Make a Guess

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Deal With Uncertainty You can and should change your estimates. Do the uncertain things first Re-estimate as you learn Communicate often 12

Slide 13

Slide 13 text

Defense Against the Dark Arts Estimation Bargaining 13

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

You can, but should you? Hidden Costs 16

Slide 17

Slide 17 text

Complexity Costs Some features incur a cost for every future feature. API Support Access Controls Mobile Support Watch for cross cutting concerns 17

Slide 18

Slide 18 text

Operational Costs Are you introducing new architecture? How will you test it? How will you monitor it? How will you deploy it? 18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Opportunity Costs What is the priority of this work? For you For your team For the business 20

Slide 21

Slide 21 text

Weigh the Costs Everything you do will cost something down the road. Choose which costs you are willing to pay. 21

Slide 22

Slide 22 text

Defense Against the Dark Arts Ego Manipulation 22

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Ego Manipulation Don't let your ego get you in trouble. Stand by your estimates. 24

Slide 25

Slide 25 text

I’ll need that on Monday Dealing With Deadlines 25

Slide 26

Slide 26 text

Deadlines Not all deadlines are created equal. They come on a spectrum. Soft deadlines: Goals Hard deadlines: Promises 26

Slide 27

Slide 27 text

Dealing With It When you are going to miss a deadline, you have options: Ship late Cut features Add People Work Overtime 27

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Defense Against the Dark Arts Deadline Hardening 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

BONUS

Slide 34

Slide 34 text

Defense Against the Dark Arts All the other ways we get suckered into absurd situations 34

Slide 35

Slide 35 text

The Secret Project How would you like to work on a special project this weekend? “ 35

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

Estimate Pride I said a day, and damnit I'll do it in a day if it takes me all night. “ 37

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

Certainizing One to five days? Ok, lets just call it three. “ 39

Slide 40

Slide 40 text

Certainizing You might think you are agreeing to the expected outcome, but you actually just cut your estimate. 40

Slide 41

Slide 41 text

“Optimizing” One to five days? You're smart, lets just call it one. “ 41

Slide 42

Slide 42 text

“Optimizing” Ingredients: One part Ego Manipulation One part Certanizing One part Optimism Mix thoroughly, serve hot. 42

Slide 43

Slide 43 text

Time Boxing Don't spend more than 2 hours on that. “ 43

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

Call in the Cavalry I think this project could use some outside help... “ 47

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

Even More Dark Arts? Let me know @ a d a m s a n d e r s o n 49