8. All Plans are Wrong
“No plan of operations extends with certainty
beyond the first encounter with the enemy's
main strength.”
- Helmuth von Moltke the Elder
“No software plan extends with certainty
beyond the first component interaction,
or the first unknown technology.”
- Cliff McCollum
11. All Estimates are Flawed
The goal is to eliminate your biases in a
systematic way.
Can you make half of your estimates too low
and half of them too high?
In effect, can you average your errors to
zero?
12. Estimation Techniques
Rely on the expert
Planning Poker
The 50th Percentile Rule
Monte Carlo Simulations
Fudge Factors
17. Project Planning
Consider separate items of business
value.
Deliver them one at a time. Don’t
interleave all your business value.
18. Project Estimation
The further away a deadline is, the less
precise it becomes.
Expected Duration Date Accuracy
One Week +/- one day
One Month +/- one week
One Quarter +/- one month
Six Months +/- two months
One Year +/- six months
> One Year +/- Unknown
You should not estimate > 1 year out.
19. Project Estimation
Always plan to produce something
useful in less than six months.
Even better, do it in one quarter.
20. Project Execution
• I don’t suggest thinking much
about Dev at this level.
• This is where you consider
marketing, communications, etc.
• Biggest value is watching Tech
Milestones.
21. Project Retrospective
• Too high-level to be of much value
– unless you plan to write a book
26. Milestone Retrospective
When a date is missed, it is time to be
brutally honest.
Why was it missed?
What is the impact?
What are you going to
change?
Don’t tell lies.
27. Milestone Retrospective
Why was it missed?
New knowledge?
Difficult problems?
Changed business situation?
Team problems?
29. Milestone Retrospective
What are you going to change?
Don’t tell yourself lies.
If your estimates were wrong here – they are
probably wrong everywhere else.
Working harder is a poor solution.
Hope is not a strategy.
You must accept one of the previous impacts.
What do you change about future milestones?
If you develop software, you are either your own manager, you work for a manager, or you desperately need a manager. No sufficiently complex endeavor can be undertaken without management unless you never care when, how, or if it finishes.
Every software development process executes on these dimensions. Different methods emphasize some areas more than others, but none of these go away regardless of your method.
Every software development process executes on these dimensions. Different methods emphasize some areas more than others, but none of these go away regardless of your method.
Every software development process executes on these dimensions. Different methods emphasize some areas more than others, but none of these go away regardless of your method.
Don’t believe anyone who says they have a plan whose first deliverable is more than six months out. Just walk away. Or find smaller deliverables.