Top Banner
Estimation Or, “How to Dig your own Grave” Rowan Merewood
90

Estimation or, "How to Dig your Grave"

Jun 10, 2015

Download

Technology

Rowan Merewood

Clients need to know how much a project will cost. Waterfall development is always late and over-budget. Agile development is done when it's done. You're left with estimates that you know are too low and then you squeeze them anyway. It shouldn't be this way. We'll look at how this happens, early warning signs, ways out and ways of avoiding it in the first place.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Estimation or, "How to Dig your Grave"

Estimation

Or,“How to Dig your own Grave”

Rowan Merewood

Page 2: Estimation or, "How to Dig your Grave"

Who

Page 3: Estimation or, "How to Dig your Grave"

Who

● Software Engineer● & Team Lead● at Ibuildings

Page 4: Estimation or, "How to Dig your Grave"

Who

● Software Engineer● & Team Lead● at Ibuildings

● @rowan_m

Page 5: Estimation or, "How to Dig your Grave"

Why

Page 6: Estimation or, "How to Dig your Grave"

Why

● I've seen (& made) mistakes

Page 7: Estimation or, "How to Dig your Grave"

Why

● I've seen (& made) mistakes

● You can avoid them

Page 8: Estimation or, "How to Dig your Grave"

Why

● I've seen (& made) mistakes

● You can avoid them

● Make your own

Page 9: Estimation or, "How to Dig your Grave"

What could possibly go wrong?

Page 10: Estimation or, "How to Dig your Grave"

Sales create estimates

Page 11: Estimation or, "How to Dig your Grave"

Sales create estimates

● Use skills correctly

Page 12: Estimation or, "How to Dig your Grave"

Sales create estimates

● Use skills correctly● Send a dev with sales

Page 13: Estimation or, "How to Dig your Grave"

Sales create estimates

● Use skills correctly● Send a dev with sales

● If you're sales & dev...

Page 14: Estimation or, "How to Dig your Grave"

Sales create estimates

● Use skills correctly● Send a dev with sales

● If you're sales & dev...

remember which hat you're wearing

Page 15: Estimation or, "How to Dig your Grave"

Lone developer creates estimates

Page 16: Estimation or, "How to Dig your Grave"

Lone developer creates estimates

● It's ok, he's a ROCKSTAR

Page 17: Estimation or, "How to Dig your Grave"

Lone developer creates estimates

● It's ok, he's a ROCKSTAR

● Independent estimates

Page 18: Estimation or, "How to Dig your Grave"

Lone developer creates estimates

● It's ok, he's a ROCKSTAR

● Independent estimates

● Or, at least review

Page 19: Estimation or, "How to Dig your Grave"

Estimate from detailed task lists

Page 20: Estimation or, "How to Dig your Grave"

Estimate from detailed task lists

● You know it will change

Page 21: Estimation or, "How to Dig your Grave"

Estimate from detailed task lists

● You know it will change

● Gives misplaced confidence

Page 22: Estimation or, "How to Dig your Grave"

Estimate from detailed task lists

● You know it will change

● Gives misplaced confidence

● Encourages micro-management

Page 23: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

Page 24: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

● 16 hr. task == 2 days

Page 25: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

● 16 hr. task == 2 days(ha ha – you're cute)

Page 26: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

● 16 hr. task == 2 days(ha ha – you're cute)

● You are not a code machine

Page 27: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

● 16 hr. task == 2 days(ha ha – you're cute)

● You are not a code machine

● Even if you are,your team is not

Page 28: Estimation or, "How to Dig your Grave"

Estimate a day as 8 hours

● 16 hr. task == 2 days(ha ha – you're cute)

● You are not a code machine

● Even if you are,your team is not

● Dev: 6 hr. Lead: 4 hr.

Page 29: Estimation or, "How to Dig your Grave"

Estimate in hours

Page 30: Estimation or, "How to Dig your Grave"

Estimate in hours

● Still too much detail

Page 31: Estimation or, "How to Dig your Grave"

Estimate in hours

● Still too much detail

● Use ¼ days

Page 32: Estimation or, "How to Dig your Grave"

Estimate in hours

● Still too much detail

● Use ¼ days● ¼, ½, 1, 2, 3 days

Page 33: Estimation or, "How to Dig your Grave"

Estimate in hours

● Still too much detail

● Use ¼ days● ¼, ½, 1, 2, 3 days

● 1, 3, 5, 7 days

Page 34: Estimation or, "How to Dig your Grave"

Estimate in hours

● Still too much detail

● Use ¼ days● ¼, ½, 1, 2, 3 days

● 1, 3, 5, 7 days● Larger increments,

larger projects

Page 35: Estimation or, "How to Dig your Grave"

Just estimate coding time

Page 36: Estimation or, "How to Dig your Grave"

Just estimate coding time

● Remember your overheads

Page 37: Estimation or, "How to Dig your Grave"

Just estimate coding time

● Remember your overheads

● Remember team overheads

Page 38: Estimation or, "How to Dig your Grave"

Just estimate coding time

● Remember your overheads

● Remember team overheads

● Think about dependencies

Page 39: Estimation or, "How to Dig your Grave"

Estimates as commitments

Page 40: Estimation or, "How to Dig your Grave"

Estimates as commitments

● Well, yes and no...

Page 41: Estimation or, "How to Dig your Grave"

Estimates as commitments

● Well, yes and no...

● List and quantify risk

Page 42: Estimation or, "How to Dig your Grave"

Estimates as commitments

● Well, yes and no...

● List and quantify risk● Estimates != schedule

Page 43: Estimation or, "How to Dig your Grave"

Waterfall estimates are useless

Page 44: Estimation or, "How to Dig your Grave"

Waterfall estimates are useless

● Fine, stop calling yourself an engineer

Page 45: Estimation or, "How to Dig your Grave"

Waterfall estimates are useless

● Fine, stop calling yourself an engineer

● Lots of work in“off-the-shelf” tasks

Page 46: Estimation or, "How to Dig your Grave"

Waterfall estimates are useless

● Fine, stop calling yourself an engineer

● Lots of work in“off-the-shelf” tasks

● Cone of Uncertainty

Page 47: Estimation or, "How to Dig your Grave"

Agile means we can't estimate

Page 48: Estimation or, "How to Dig your Grave"

Agile means we can't estimate

“Yeah, well, you know, that's just like, your opinion, man.”

Page 49: Estimation or, "How to Dig your Grave"

Agile means we can't estimate

● Over-reaction to Waterfall

“Yeah, well, you know, that's just like, your opinion, man.”

Page 50: Estimation or, "How to Dig your Grave"

Agile means we can't estimate

● Over-reaction to Waterfall

● Excuse to drop software engineering and just hack it

“Yeah, well, you know, that's just like, your opinion, man.”

Page 51: Estimation or, "How to Dig your Grave"

Enough mistakes, time for a treat

Page 52: Estimation or, "How to Dig your Grave"

Help your client understand

● Estimates as a budget

Page 53: Estimation or, "How to Dig your Grave"

Help your client understand

● Estimates as a budget

● The Holy Triangle● MoSCoW● Kano model

Page 54: Estimation or, "How to Dig your Grave"

Holy Triangle

Good

Fast

Cheap

Page 55: Estimation or, "How to Dig your Grave"

Holy Triangle

Good

Fast

Cheap

Scope

Time

CostQuality

Page 56: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Page 57: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Capacity

Page 58: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Page 59: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Page 60: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Page 61: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Page 62: Estimation or, "How to Dig your Grave"

MoSCoW

● Must● Should● Could● Won't

Density

Page 63: Estimation or, "How to Dig your Grave"

Kano Model

Page 64: Estimation or, "How to Dig your Grave"

Kano Model

● Basic functionality● Performance● Exciters

Page 65: Estimation or, "How to Dig your Grave"

Kano Model

● Basic functionality● Performance● Exciters Exciters

Performance

Basic

High Satisfaction

Low Satisfaction

FeatureAbsent

FeaturePresent

Page 66: Estimation or, "How to Dig your Grave"

Earn their trust, then get agile

Page 67: Estimation or, "How to Dig your Grave"

Earn their trust, then get agile

● Low risk, fixed price to start

Page 68: Estimation or, "How to Dig your Grave"

Earn their trust, then get agile

● Low risk, fixed price to start

● Create a roadmap

Page 69: Estimation or, "How to Dig your Grave"

Earn their trust, then get agile

● Low risk, fixed price to start

● Create a roadmap

● Move to sprint-based work

Page 70: Estimation or, "How to Dig your Grave"

Gamble with Planning Poker

Page 71: Estimation or, "How to Dig your Grave"

Gamble with Planning Poker

● The whole team makes the commitment

Page 72: Estimation or, "How to Dig your Grave"

Gamble with Planning Poker

● The whole team makes the commitment

● Combines independent estimates and review

Page 73: Estimation or, "How to Dig your Grave"

And now mistakes during projects

Page 74: Estimation or, "How to Dig your Grave"

Lose track of time

Page 75: Estimation or, "How to Dig your Grave"

Lose track of time

● Developers hate time-tracking

Page 76: Estimation or, "How to Dig your Grave"

Lose track of time

● Developers hate time-tracking

● Automate if you can

Page 77: Estimation or, "How to Dig your Grave"

Lose track of time

● Developers hate time-tracking

● Automate if you can● Include it in

stand-ups to update the burn-down

Page 78: Estimation or, "How to Dig your Grave"

Estimate bugs

Page 79: Estimation or, "How to Dig your Grave"

Estimate bugs

● “Nein, nein, nein! Das ist verboten!”-- @dzuelke

Page 80: Estimation or, "How to Dig your Grave"

Estimate bugs

● “Nein, nein, nein! Das ist verboten!”-- @dzuelke

● You do not know the size of the problem

Page 81: Estimation or, "How to Dig your Grave"

Estimate bugs

● “Nein, nein, nein! Das ist verboten!”-- @dzuelke

● You do not know the size of the problem

● Spend 3 days investigating – change 1 line of code

Page 82: Estimation or, "How to Dig your Grave"

Try to catch up

Page 83: Estimation or, "How to Dig your Grave"

Try to catch up

● [wo]man up and admit you're wrong

Page 84: Estimation or, "How to Dig your Grave"

Try to catch up

● [wo]man up and admit you're wrong

● Don't burn yourself or your team out

Page 85: Estimation or, "How to Dig your Grave"

Try to catch up

● [wo]man up and admit you're wrong

● Don't burn yourself or your team out

● Work overtime and you set a precedent

Page 86: Estimation or, "How to Dig your Grave"

Skip the review

Page 87: Estimation or, "How to Dig your Grave"

Skip the review

● Make time to learn

Page 88: Estimation or, "How to Dig your Grave"

Skip the review

● Make time to learn● Share your mistakes,

so others avoid them

Page 89: Estimation or, "How to Dig your Grave"

Questions?

● Feedback

http://joind.in/6321

(don't make me send the clown)

Page 90: Estimation or, "How to Dig your Grave"

Credits

● All sculpture/photos© Tamra Kohlhttp://www.flickr.com/photos/claylindo/

(Used with kind permission)

● Thank you!

● Photo jiggery-pokery:http://pixlr.com/o-matic/

● Background:http://www.colourlovers.com/pattern/635/Death_Flowers