Drupal Estimation Techniques by Project Managers

Post on 13-Dec-2014

4.067 views 2 download

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

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

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

Tweet , Tweet , Tweedly-deet...

WE ENCOURAGE BIRDSONG

Questions & comments?

#drestimate

S J

WHY YOU ARE HERE

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

WHY YOU ARE HERE

S

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

Is it THIS?

WHY YOU ARE HERE

S

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

Or... Maybe This?

WHY YOU ARE HERE

S

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

If it’s anything like that,

You’ve come to the right place!

WHY YOU ARE HERE

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

WHAT AN ESTIMATE IS

“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

✔ 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

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

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

<html> <?php

hook_form_alter()

ViewsCCK

Rules

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

.tpl.php

<aside>

The “real” work?

✔ Theming✔ Development/config

J

• 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

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

HOMEWORK (DON’T FORGET!):

- Creating content

- Editing menus

Drupal rules, ok?

✔ Training/doc ✔ Deployment

J

PROJECT MANAGEMENT DOES TAKE TIME

J

What about the dreaded....

✔ Project management time

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

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

WHY WE NEED ESTIMATES

05

Plan

Budget$€Communicate

WHY WE NEED ESTIMATES

Estimates help to:

J

05Plan

WHY WE NEED ESTIMATES

S

What do we mean by planning?

http://bit.ly/WsdfLj

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

Plan

S

WHY WE NEED ESTIMATES

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

Plan

S

WHY WE NEED ESTIMATES

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

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

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

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

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

Plan

WHY WE NEED ESTIMATES

J

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

Plan

WHY WE NEED ESTIMATES

J

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

Plan

WHY WE NEED ESTIMATES

J

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

€$$€$$

€$

€€ €$?

“stuff customer wants” “customer’s budget”

WHY DO WE NEED THEM

Budget$€

J

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

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

€100

€50

€30€60

€120

WHY DO WE NEED THEM

Budget$€

J

€$$€$$

€$

€€ €$

€100

€50

€30€60

€120

WHY DO WE NEED THEM

Budget$€

J

€$$€$$

€$

€€ €$

€100

€50

€30€60

€120

80-120

10-20

30-4010-20

WHY DO WE NEED THEM

Budget$€

J

€120

80-120

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

WHY DO WE NEED THEM

Budget$€

J

€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

€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

€100Complexity

Familiarity

Dependency

80-120

80-120

WHY DO WE NEED THEM

Budget$€

J

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

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

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

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

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

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

Communicate

WHY DO WE NEED THEM

S

Communication as in ...

http://bit.ly/1008C8p

Communicate

WHY DO WE NEED THEM

S

Communication as in ...

Are we on the same page?

http://bit.ly/1008C8p

Do they understand what we’re trying to

achieve?

Do they understand how

complex this design is?

WHY DO WE NEED THEM

Communicate

S

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

€40,000

€40,000

WHY DO WE NEED THEM

Communicate

S

WHY DO WE NEED THEM

Communicate

S

MANAGING THE UNFORESEEN

S

RISKMANAGING THE UNFORESEEN

S

RiskMANAGING RISK

S

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

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?

05

Identification? ?

Mitigation

Assessment

RiskMANAGING RISK

S

05Identification? ?

RiskMANAGING RISK

S

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

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

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

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

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

05Mitigation

Accept risk - no action

Eliminate risk

Limit risk

Share risk

RiskMANAGING RISK

S J

ESTIMATION TECHNIQUES

05

Delphi Methods

Weighted Estimate

Ball Park Top-Down

ESTIMATION TECHNIQUES

J

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

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

05

Delphi Methods

ESTIMATION TECHNIQUES

J

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

05

Actual accuracy of the estimate

vs

Estimator’s confidence in the accuracy of the

estimate

Time and effort spent

100%

ESTIMATION TECHNIQUES

J

• 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

• 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

Thanks everyone!

TACK! GRACIAS! DANKE!

funnygraphicgoeshere

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

ASK AWAY

Who’s got questions?

Shannon VettesTwitter: @svettesshannonvettes@gmail.com

Jakob PerssonTwitter: @realsolipsistjakob.persson@gmail.com

TALK TO US