Drupal Estimation Techniques by Project Managers

83
Drupal Estimation Techniques The Science of Guessing Project Managers from http://www.sxc.hu/photo/814294 AS PRESENTED AT DRUPALCAMP STOCKHOLM ON MARCH 8 2013

description

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.

Transcript of Drupal Estimation Techniques by Project Managers

Page 1: Drupal Estimation Techniques by Project Managers

Drupal Estimation

Techniques

The Science of Guessing

Project Managersfrom

http:/

/www

.sxc.h

u/ph

oto/8

1429

4

AS PRESENTED AT DRUPALCAMP STOCKHOLM ON MARCH 8 2013

Page 2: Drupal Estimation Techniques by Project Managers

Seriously, who are these people?Shannon VettesPartner Manager at Commerce Guys, Project Managing since 2005, Drupal since 2010, Working in IT since 2000

Jakob PerssonDoing Drupal since 2005, co-founded NodeOne in 2007, currently freelance Drupal consultant

Introductions

S J

Page 3: Drupal Estimation Techniques by Project Managers

Tweet , Tweet , Tweedly-deet...

WE ENCOURAGE BIRDSONG

Questions & comments?

#drestimate

S J

Page 4: Drupal Estimation Techniques by Project Managers

WHY YOU ARE HERE

Page 5: Drupal Estimation Techniques by Project Managers

When a client or colleague asks you for an estimate, what’s your initial reaction?

WHY YOU ARE HERE

S

Page 6: Drupal Estimation Techniques by Project Managers

When a client or colleague asks you for an estimate, what’s your initial reaction?

Is it THIS?

WHY YOU ARE HERE

S

Page 7: Drupal Estimation Techniques by Project Managers

When a client or colleague asks you for an estimate, what’s your initial reaction?

Or... Maybe This?

WHY YOU ARE HERE

S

Page 8: Drupal Estimation Techniques by Project Managers

When a client or colleague asks you for an estimate, what’s your initial reaction?

I hope it’s not this....

WHY YOU ARE HERE

S

Page 9: Drupal Estimation Techniques by Project Managers

If it’s anything like that,

You’ve come to the right place!

WHY YOU ARE HERE

Page 10: Drupal Estimation Techniques by Project Managers

At the end of this presentation, we want you to feel like this when asked for an estimate.

What an estimate is Why estimates are needed How risks affect estimates How an estimate is made Answers to your questions

We’ll cover:

WHY YOU ARE HERE

S

Page 11: Drupal Estimation Techniques by Project Managers

WHAT AN ESTIMATE IS

Page 12: Drupal Estimation Techniques by Project Managers

“Estimation is the calculated approximation of a result which is usable even if input data may be incomplete or uncertain.”

– Wikipedia

WHAT AN ESTIMATE IS

J

Page 13: Drupal Estimation Techniques by Project Managers

✔ Requirements clarification✔ Use cases

✔ UI refinement ✔ Theming✔ Development/config

✔ Automated testmaking✔ Testing✔ Bugfixing

✔ Training/doc

✔ Deployment

✔ Project management time

“How to bake a pie”

WHAT AN ESTIMATE IS

J

Page 14: Drupal Estimation Techniques by Project Managers

Story Case

Focuses on needs and describe functionality in a way the shows its application and business value.

Focus on behavior and interaction, eliminates ambiguity and provides the developer with the information he/she needs.

•Role•Need•Sequence of

events•How to demo

•Summary•Rationale•Users•Preconditions•Default events•Alternative

sequencehttp://www.stellman-greene.com/2009/05/03/requirements-101-user-stories-vs-use-cases/

✔ Requirements clarification✔ Use cases

✔ UI refinement

J

Page 15: Drupal Estimation Techniques by Project Managers

Click meClick meClick me

Requirements evolve and are clarified over the course of a project, and they’re often provided as UI designs.

AprilAprilAprilApril MayMayMayMay

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

✔ Requirements clarification✔ Use cases

✔ UI refinement

J

Page 16: Drupal Estimation Techniques by Project Managers

<html> <?php

hook_form_alter()

ViewsCCK

Rules

Panels$(function() {...})

.tpl.php

<aside>

The “real” work?

✔ Theming✔ Development/config

J

Page 17: Drupal Estimation Techniques by Project Managers

• Test more, build more

• Automated testing saves time over the course of a project

• Tests helps identify and manage ambiguous requirements

http://www.sxc.hu/photo/684719

✔ Automated testmaking✔ Testing✔ Bugfixing

J

Page 18: Drupal Estimation Techniques by Project Managers

http://www.sxc.hu/photo/987819

HOMEWORK (DON’T FORGET!):

- Creating content

- Editing menus

Drupal rules, ok?

✔ Training/doc ✔ Deployment

J

Page 19: Drupal Estimation Techniques by Project Managers

PROJECT MANAGEMENT DOES TAKE TIME

J

What about the dreaded....

✔ Project management time

Page 20: Drupal Estimation Techniques by Project Managers

PROJECT MANAGEMENT DOES TAKE TIME

J

What about the dreaded....“We don’t need another PM from your team adding overhead to this project.”

- Poor Soul

✔ Project management time

Page 21: Drupal Estimation Techniques by Project Managers

PROJECT MANAGEMENT DOES TAKE TIME

J

What about the dreaded....“We don’t need another PM from your team adding overhead to this project.”

- Poor Soul

✔ Project management time

Page 22: Drupal Estimation Techniques by Project Managers

WHY WE NEED ESTIMATES

Page 23: Drupal Estimation Techniques by Project Managers

05

Plan

Budget$€Communicate

WHY WE NEED ESTIMATES

Estimates help to:

J

Page 24: Drupal Estimation Techniques by Project Managers

05Plan

WHY WE NEED ESTIMATES

S

What do we mean by planning?

http://bit.ly/WsdfLj

Page 25: Drupal Estimation Techniques by Project Managers

05Plan

WHY WE NEED ESTIMATES

S

What do we mean by planning?

When will it be done?!?

http://bit.ly/WsdfLj

(Yes, we mean schedules!)

Page 26: Drupal Estimation Techniques by Project Managers

Plan

S

WHY WE NEED ESTIMATES

Page 27: Drupal Estimation Techniques by Project Managers

Plan

S

Choose a team

Block their time based on estimates

AprilAprilAprilApril

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 1

WHY WE NEED ESTIMATES

then

Page 28: Drupal Estimation Techniques by Project Managers

Plan

S

WHY WE NEED ESTIMATES

Page 29: Drupal Estimation Techniques by Project Managers

Plan

S

Choose a team

Get a deadline...

WHY WE NEED ESTIMATES

then

AprilAprilAprilApril

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 1

Page 30: Drupal Estimation Techniques by Project Managers

05Plan

40 hrs × 3 = 120 hrs

WHY WE NEED ESTIMATES

S

Project estimated to 115 hours. I got 3 guys working full time for a week gives...

AprilAprilAprilApril MayMayMayMay

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 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

Page 31: Drupal Estimation Techniques by Project Managers

05Plan

40 hrs × 3 = 120 hrs

WHY WE NEED ESTIMATES

S

Project estimated to 115 hours. I got 3 guys working full time for a week gives...

AprilAprilAprilApril MayMayMayMay

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 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

Woops... that’s

AVAILABILITY

Page 32: Drupal Estimation Techniques by Project Managers

6.4 × 3 = 19.2 hrs per day

115/19.2 = 6 days

AprilAprilAprilApril MayMayMayMay

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 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

Plan

WHY WE NEED ESTIMATES

S

Page 33: Drupal Estimation Techniques by Project Managers

http://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661

Plan

WHY WE NEED ESTIMATES

J

Page 34: Drupal Estimation Techniques by Project Managers

http://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661

Plan

WHY WE NEED ESTIMATES

J

Page 35: Drupal Estimation Techniques by Project Managers

http://www.sxc.hu/photo/1397088 http://www.sxc.hu/photo/1344947 http://www.sxc.hu/photo/348661

Plan

WHY WE NEED ESTIMATES

J

Page 36: Drupal Estimation Techniques by Project Managers

AprilAprilAprilApril MayMayMayMay

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 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

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 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

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 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

Project A Project B Project C

“We need a few extra adjustments” “BUG! Fix ASAP!”

“We’re going to have to work the weekend to

fix this!” :(

Plan

WHY WE NEED ESTIMATES

Even the best laid plans...

J

Page 37: Drupal Estimation Techniques by Project Managers

€$$€$$

€$

€€ €$?

“stuff customer wants” “customer’s budget”

WHY DO WE NEED THEM

Budget$€

J

Page 38: Drupal Estimation Techniques by Project Managers

AprilAprilAprilApril MayMayMayMay

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 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

WHY DO WE NEED THEM

Budget$€

J

Page 39: Drupal Estimation Techniques by Project Managers

AprilAprilAprilApril MayMayMayMay

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 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

€????€????

WHY DO WE NEED THEM

Budget$€

J

Page 40: Drupal Estimation Techniques by Project Managers

€100

€50

€30€60

€120

WHY DO WE NEED THEM

Budget$€

J

Page 41: Drupal Estimation Techniques by Project Managers

€$$€$$

€$

€€ €$

€100

€50

€30€60

€120

WHY DO WE NEED THEM

Budget$€

J

Page 42: Drupal Estimation Techniques by Project Managers

€$$€$$

€$

€€ €$

€100

€50

€30€60

€120

80-120

10-20

30-4010-20

WHY DO WE NEED THEM

Budget$€

J

Page 43: Drupal Estimation Techniques by Project Managers

€120

80-120

I’m sure!We think this is accurate...

WHY DO WE NEED THEM

Budget$€

J

Page 44: Drupal Estimation Techniques by Project Managers

€120

80-120

I’m sure!We think this is accurate...

AprilAprilAprilApril MayMayMayMay

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 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

WHY DO WE NEED THEM

Budget$€

J

Page 45: Drupal Estimation Techniques by Project Managers

€120

80-120

I’m sure!We know this is accurate...

AprilAprilAprilApril MayMayMayMay

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 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

WHY DO WE NEED THEM

Budget$€

J

Page 46: Drupal Estimation Techniques by Project Managers

€100Complexity

Familiarity

Dependency

80-120

80-120

WHY DO WE NEED THEM

Budget$€

J

Page 47: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

The sweet spot, low hanging fruit

Not a lot of gain

Brings a lot of value but also risk

Postpone, change or discard

WHY DO WE NEED THEM

Budget$€

J

Page 48: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

The sweet spot, low hanging fruit

Not a lot of gain

Brings a lot of value but also risk

Postpone, change or discard

WHY DO WE NEED THEM

Budget$€

J

Page 49: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

The sweet spot, low hanging fruit

Not a lot of gain

Brings a lot of value but also risk

Postpone, change or discard

WHY DO WE NEED THEM

Budget$€

J

Page 50: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

The sweet spot, low hanging fruit

Not a lot of gain

Brings a lot of value but also risk

Postpone, change or discard

WHY DO WE NEED THEM

Budget$€

J

Page 51: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

The sweet spot, low hanging fruit

Not a lot of gain

Brings a lot of value but also risk

Postpone, change or discard

WHY DO WE NEED THEM

Budget$€

J

Page 52: Drupal Estimation Techniques by Project Managers

Effort / Risk

Val

ue

€120

80-120

€3010-20

€100

40-60

€5010-20

€60

30-40

€5010-20

€40

80-120

WHY DO WE NEED THEM

Budget$€

J

AB

C

D E

FG

Page 53: Drupal Estimation Techniques by Project Managers

Communicate

WHY DO WE NEED THEM

S

Communication as in ...

http://bit.ly/1008C8p

Page 54: Drupal Estimation Techniques by Project Managers

Communicate

WHY DO WE NEED THEM

S

Communication as in ...

Are we on the same page?

http://bit.ly/1008C8p

Page 55: Drupal Estimation Techniques by Project Managers

Do they understand what we’re trying to

achieve?

Do they understand how

complex this design is?

WHY DO WE NEED THEM

Communicate

S

Page 56: Drupal Estimation Techniques by Project Managers

2,500??? Do they really understand

the risks and complexities?

4,500 - 5,5002,500 - 3,500

6,500 - 7,000

RFP

WHY DO WE NEED THEM

Communicate

S

Page 57: Drupal Estimation Techniques by Project Managers

€40,000

€40,000

WHY DO WE NEED THEM

Communicate

S

Page 58: Drupal Estimation Techniques by Project Managers

WHY DO WE NEED THEM

Communicate

S

Page 59: Drupal Estimation Techniques by Project Managers

MANAGING THE UNFORESEEN

S

Page 60: Drupal Estimation Techniques by Project Managers

RISKMANAGING THE UNFORESEEN

S

Page 61: Drupal Estimation Techniques by Project Managers

RiskMANAGING RISK

S

“Risk comes from not knowing what you’re doing.”- Warren Buffett

Page 62: Drupal Estimation Techniques by Project Managers

To help you assess risks to your estimation, and align the numbers to manage that risk. Avoid car wrecks

RiskMANAGING RISK

S

What’s the point of Risk

Management?

Page 63: Drupal Estimation Techniques by Project Managers

05

Identification? ?

Mitigation

Assessment

RiskMANAGING RISK

S

Page 64: Drupal Estimation Techniques by Project Managers

05Identification? ?

RiskMANAGING RISK

S

Page 65: Drupal Estimation Techniques by Project Managers

05

ISN’T IT OOTB?

HEY, NOT MY PROBLEM! THERE´S A MODULE FOR THAT!THE API IS STABLE!

UI IS EASY TO CHANGE!

RiskMANAGING RISK

S

The usual suspects…Identification? ?

J

Page 66: Drupal Estimation Techniques by Project Managers

05

http://www.sxc.hu/photo/1196348 http://www.sxc.hu/photo/1120986

× = 8

It’s an opportunity to evaluate risk in order to decide how to treat it.

Impact Probability

RiskMANAGING RISK

Assessment

S

Composite risk rating

Page 67: Drupal Estimation Techniques by Project Managers

05

RISK IMPACT PROBABILITY RATING

Shared sign on 5 5 25

Integration online booking 4 4 16

Migration legacy system 2 4 8

Asteroid hitting the Earth 1E+21 0.000000001

Hey! Don’t forget about us!

http://www.sxc.hu/photo/1338362

RiskMANAGING RISK

S

Assessment

J

Page 68: Drupal Estimation Techniques by Project Managers

05

Overall risk assessment: Low 1-8, Medium 9-16 or High 17-25

LOWLOW MEDIUMMEDIUMMEDIUMMEDIUM HIGHHIGHHIGH

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

IGNORE QUARTERLY MONTHLY WEEKLY DAILY

Overall risk monitoring, a continual process.

RiskMANAGING RISK

S

Assessment

Page 69: Drupal Estimation Techniques by Project Managers

05

Meh Meh seriously Dude, seriously DUDE, SERIOUSLY

WTF? SERIOUSLY?

5 ASTEROIDthe api is stable

VIDEO COMPONENT

4 INTEGRATION

3

2 MIGRATION

1

1 2 3 4 5

Impa

ct

Probability

RiskMANAGING RISK

S

Assessment

Page 70: Drupal Estimation Techniques by Project Managers

05Mitigation

Accept risk - no action

Eliminate risk

Limit risk

Share risk

RiskMANAGING RISK

S J

Page 72: Drupal Estimation Techniques by Project Managers

ESTIMATION TECHNIQUES

Page 73: Drupal Estimation Techniques by Project Managers

05

Delphi Methods

Weighted Estimate

Ball Park Top-Down

ESTIMATION TECHNIQUES

J

Page 74: Drupal Estimation Techniques by Project Managers

05

Requirements

• As a user I want to

be able to create

blog posts

• As a user I want to

be able to edit blog

posts

• As a user I want to

be able to un/publish

blog posts ?

Ball Park Top-Down

ESTIMATION TECHNIQUES

J

Page 75: Drupal Estimation Techniques by Project Managers

05

Task Est Conf Low - Hi

Blog listing view 1 4 0.7 - 1.5

Blog post 1 4 0.7 - 1.5

Comments 1 4 0.7 - 1.5

Redirect user 2 3 1 - 4

Show message 2 3 1 - 4

...

300 - 450

Blog

Create views Create rules Theming Test

Blog listing

Blog post

Comments

Redirect user after making

post

Showing message

Blog front page

Post pages

Comment listing

Create a post form

Weighted Estimate

ESTIMATION TECHNIQUES

J

Page 76: Drupal Estimation Techniques by Project Managers

05

Delphi Methods

ESTIMATION TECHNIQUES

J

Page 77: Drupal Estimation Techniques by Project Managers

05

Ball Park Top-Down Weighted Estimation Delphi

When General Strategy Decisions > Accuracy Estimate Ranges Specific Features

Several Experts

WhyPros: Easy/FastCons: Short-term

Helps for decision making

Pros: Variance RangeCons: Takes time

Helps level-set expectations

Pros: Smarter/AccurateCons: Feature SpecificHelps validate theories

ESTIMATION TECHNIQUES

When should I use what?

J

Page 78: Drupal Estimation Techniques by Project Managers

05

Actual accuracy of the estimate

vs

Estimator’s confidence in the accuracy of the

estimate

Time and effort spent

100%

ESTIMATION TECHNIQUES

J

Page 79: Drupal Estimation Techniques by Project Managers

• Don’t play the blame game

• Don’t estimate what you cannot know – requirements are like icebergs

• Don’t estimate in a vacuum

http://www.sxc.hu/photo/1001938

ESTIMATION TECHNIQUES

The dont’s

Page 80: Drupal Estimation Techniques by Project Managers

• 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 identify

http://www.flickr.com/photos/jakeliefer/290510226/

TAKE AWAYS

Page 81: Drupal Estimation Techniques by Project Managers

Thanks everyone!

TACK! GRACIAS! DANKE!

Page 82: Drupal Estimation Techniques by Project Managers

funnygraphicgoeshere

http://interspeciesfriends.blogspot.de/2008/08/curious-kitten-and-ducklings.html

ASK AWAY

Who’s got questions?

Page 83: Drupal Estimation Techniques by Project Managers

Shannon VettesTwitter: @[email protected]

Jakob PerssonTwitter: @[email protected]

TALK TO US