The document discusses techniques for providing estimates in project management. It begins with introductions of the presenters and instructions to tweet questions or comments with #drestimate. The presenters then discuss why estimates are needed when clients or colleagues request them. Estimates help plan projects by clarifying requirements and schedules, help budget projects by aligning costs and priorities, and communicate expectations. The rest of the document discusses what goes into an estimate, how to determine the best value for money, and using effort vs. risk graphs to optimize estimates.
The Science of Guessing - Drupal estimation techniques from project managers
1. Au
gu
st 2
2,
20
12
The Science of Guessing - Drupal Estimation
Techniques from Project Managers
2. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Introductions
jec l Es
t m tim
an a
ag tion
ers
2
Who are these people?
Shannon Vettes Mattias Axelsson
D8 Project Liason, Project Managing CEO and co-founder, Happiness
since 2005, Drupal since 2010, Drupal agency
Working in IT since 2000
Jakob Persson
Co-founder at Wunderkraut, being
doing Drupal since 2005
3. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Introductions
jec l Es
t m tim
an a
ag tion
ers
3
Tweet, Tweet, Tweedly-deet...
Questions & comments?
#drestimate
5. Why You Are Here
5
When a client or
colleague asks you
for an estimate,
what’s your initial
reaction?
6. Why You Are Here
5
When a client or
colleague asks you
for an estimate,
what’s your initial
reaction?
Is it THIS?
7. Why You Are Here
5
When a client or
colleague asks you
for an estimate,
what’s your initial
reaction?
Or... Maybe This?
8. Why You Are Here
5
When a client or
colleague asks you
for an estimate,
what’s your initial
reaction?
I hope it’s not this....
9. Why You Are Here
If it’s anything like that, 6
You’ve come to the right place!
10. Why You Are Here
7
At the end of this
presentation, we want
you to feel like this when
asked for an estimate
We’ll cover:
What an estimate is
What (not) to use them for
What they are affected by
How an estimate is done
Answers to your questions
12. What’s an estimate?
9
“Estimation is the calculated approximation
of a result which is usable even if input data
may be incomplete or uncertain.”
– Wikipedia
13. What’s an estimate?
10
Burning questions
What’s in an What advice can
estimate? you give me?
14. What’s an estimate?
“How to bake a pie” 11
✔ Requirements
clarification
✔ Use cases ✔ Theming
✔ UI refinement ✔ Development/config
✔ Automated ✔ Training/doc
testmaking
✔ Testing
✔ Bugfixing
✔ Deployment
✔ Project management time
15. ✔ Requirements
clarification
✔ Use cases
✔ UI refinement
12
Story Case
Focuses on needs Focus on behavior
and describe and interaction,
functionality in a eliminates
way the shows its ambiguity and
application and provides the
business value. developer with the
information he/
she needs.
•Role •Summary
•Need •Rationale
•Sequence of •Users
events •Preconditions
•How to demo •Default events
•Alternative
sequence
http://www.stellman-greene.com/2009/05/03/requirements-101-user-stories-vs-use-cases/
16. ✔ Requirements
clarification
✔ Use cases
✔ UI refinement
13
Requirements evolve and are clarified over the course of a
project, and they’re often provided as UI designs.
Click me Click me Click me
April May
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
17. ✔ Theming
✔ Development/config
14
<html> The “real” work?
< ?p hp
m_al ter() .tpl.php
hook_for
Views Panel <as ide>
CCK s
R ules $(function() {
...})
18. ✔ Automated
testmaking
✔ Testing
✔ Bugfixing
15
• 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
20. 17
What’s this?
PM? Project baloney!
We don’t need a PM.
We got our own PM
team.
Yes but
who’s gonna tell
the nodes where
to go?
✔ Project management time
http://www.sxc.hu/photo/684719
22. Why do we need them?
05
19
Burning questions
How does an
estimate help me plan What does an
the project? estimate
communicate?
How does an estimate
help me budget?
23. Why do we need them?
05
20
stimates help us
E
Plan
$ Budget
€
Communicate
24. Why do we need them?
Plan
05
21
Practical
Example!
25. Why do we need them?
Plan
05
21
Practical
Example!
120 hrs
32 hrs × 3 = 96 hrs
96 hrs × 0.25 = 24 hrs
31. Why do we need them?
Plan
25
http://www.sxc.hu/photo/1206511
32. Why do we need them?
26
$
Practical
Budget
€
Example!
33. Why do we need them?
26
$
Practical
Budget
€
Example!
34. Why do we need them?
$ Budget
€ 27
What can I
What gets me
get for my money?
the most bang for
the buck?
And why is
that?
...
35. Why do we need them?
$ Budget
€ Is this slide about COST vs
VALUE?
28
Maybe we should have those
2 words appear on here?
$ €
€€ $
$
$ $€ $ €
€
?
“stuff customer wants” “customer’s budget”
42. Why do we need them?
$ Budget
€ 34
The sweet spot, Brings a lot of
low hanging fruit value but also risk
Value
Postpone, change
Not a lot of gain
or discard
Effort / Risk
43. Why do we need them?
$ Budget
€ 35
€50 €120
10 -20 €100
40 -60 80 -120
€60
Value
€50
€40
10 -20 30 -40
80 -120
€30
10-20
Effort / Risk
44. Why do we need them?
$ Budget
€ 36
We think this is
I’m sure!
accurate...
€120
80 -120
55. What affects Risk
estimation?
44
“When the map and the territory don’t
agree, always believe the territory.”
– Saying from the Swedish Army
56. What affects Risk
estimation?
45
Burning questions
Why should I Are there
care about risk so common risks
early on? with Drupal?
How do I manage &
communicate risk?
57. What affects Risk
estimation?
46
What’s the point
of all these
questions?
To help you assess risks to
your estimation, and align the
numbers to manage that risk. Avoid car wrecks
59. What affects Risk
estimation?
? Identification
? 05
48
60. What affects Risk
estimation?
Assessment 05
49
Composite Risk Rating
Impact Probability
× =8
It’s an opportunity to
evaluate risk in order to
decide how to treat it.
http://www.sxc.hu/photo/1196348 http://www.sxc.hu/photo/1120986
61. What affects Risk
estimation?
Assessment 05
50
RISK IMPACT PROBABILITY RATING
Video component 5 5 25
Integration online booking 4 4 16
Migration legacy system 2 4 8
Asteroid hitting the Earth 1×10^+21 0.000000001
Hey! Don’t forget
about us!
http://www.sxc.hu/photo/1338362
62. What affects Risk
estimation?
Assessment 05
51
Overall risk assessment: Low 1-8, Medium 9-16 or High 17-25
LOW MEDIUM HIGH
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.
63. Assessment
05
52
DUDE, WTF?
Meh Meh seriously Dude, seriously
SERIOUSLY SERIOUSLY?
the api is stable
5 ASTEROID VIDEO COMPONENT
4 INTEGRATION
Impact
3
2 MIGRATION
1
1 2 3 4 5
Probability
64. What affects Risk
estimation?
Mitigation 05
53
Accept risk - no action
Eliminate risk
Limit risk
Share risk
65. What affects Risk
estimation?
Mitigation 05
54
F RO N T LINES
F RO M THE
A TRUE RISK MI
TIGATION STORY
66. What affects Risk
estimation?
THE USUAL SUSPECTS
05
55
HEY, NOT MY PROBLEM!
THE API IS STABLE! THERE´S A MODULE FOR THAT!
ISN’T IT OOTB?
UI IS EASY
TO CHANGE!
68. Drupal Estimation
Techniques
57
Burning questions
What techniques When should I
should I use? use what?
How do they work?
69. Drupal Estimation
Techniques
58
“Estimation is like a walking stick for a blind
man. It won’t miraculously give you sight, but it
might help you avoid walking into a wall.”
- Old Chinese proverb says
70. Drupal Estimation
Techniques
niques
05
59
3 Example Tech
Ball Park Top-Down
Weighted Estimate
Delphi Methods
71. Drupal Estimation
Techniques
Ball Park Top-Down 05
60
Poll: how many use this?
How many new it was called
this?
s
Requ irement
o
r I want t
• As a use create
to
be able
s
b log post
to
r I want
• As a use edit blog
to
be able
posts to
r I want sh
• As a use un/publi
to
be able
?
sts
blog po
72. Drupal Estimation
Techniques
Poll: how many use this?
How many knew it was called
this?
Weighted Estimate 05
61
Task Est Conf Low - Hi
Blog listing view 1 4 0.7 - 1.5
Blog
Blog post 1 4 0.7 - 1.5
Comments 1 4 0.7 - 1.5
Create views Create rules Theming Test
Redirect user 2 3 1-4
Redirect user
Blog listing after making Blog front page
post
Show message 2 3 1-4
Showing
Blog post
message
Post pages
...
Comments
Comment listing 300 - 450
Create a post
form
73. Drupal Estimation Poll: how many use this?
Techniques
How many knew it was called
this?
Delphi Methods 05
62
Hmm... Hmm... Hmm...
Hmm...
74. Drupal Estimation
Techniques
05
63
When should I use what?
Weighted
Ball Park Top-Down Delphi
Estimation
General Strategy Specific Features
When Estimate Ranges
Decisions > Accuracy Several Experts
Pros: Easy/Fast Pros: Smarter/Accurate Pros: Variance Range
Why Cons: Short-term Cons: Feature Specific Cons: Takes time
Helps for decision making Helps validate theories Helps level-set expectations
76. Beware
65
The don’ts
• Don’t the blame game
• Don’t estimate what you
cannot know – requirements
are like icebergs
• Don’t in a vacuum
http://www.sxc.hu/photo/1001938
77. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Take Aways
jec l Es
t m tim
an a
ag tion
ers
66
We want you to remember:
• 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/
78. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Opinions welcome
jec l Es
t m tim
an a
ag tion
ers
67
Thanks everyone!
Please review:
http://bit.ly/IYEGEB
Note: You need to be logged in to the
DrupalCon website to rate and review sessions.
79. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Ask away
jec l Es
t m tim
an a
ag tion
ers
68
Who’s got funny
graphic
goes
Questions?! here
http://interspeciesfriends.blogspot.de/2008/08/curious-kitten-and-ducklings.html
80. T he
Sci
en
c
Tec e of
hn G
iqu uess
es in
fro g: D
m
pro rupa
Talk to us
jec l Es
t m tim
an a
ag tion
ers
69
Shannon Vettes
Twitter: @svettes Wait, there’s
more!
shannonvettes@gmail.com
Jakob Persson
Twitter: @realsolipsist Meet us tomorrow at the
jakob.persson@gmail.com “Drupal PM lunch date” BoF
at 11.45 to 13.00 in Athen.
/
Mattias Axelsson You’re w elcome to bring food
Twitter: @mattiasaxelsson
lunch.
mattias.axelsson@happiness.se