7. Estimates
• Traditionally Blamed for Project Failure
• We Don’t Like Being Held to Them
• Blame Ensues
– “You told me it would take this long” (external)
– “I failed to hit my own deadline” (internal)
8. However, Estimates…
• Never Killed A Project!
– Variance Between Estimate & Actual Time/Cost Killed it!
• Set Expectations
– Uncertainty & Stakeholder Expectation Badly Managed
• Deliver one ‘half’ of Value Equation
– Like it or not, cost is the other
• Salaries, Recruitment, Capex, Opex, SaaS…
• Stakeholders Don’t Understand Variance
• Larger Estimates = Uncertainty Higher
• Humans Better At Smaller Estimates!
9. ACTIVITY: Audience Participation
• Score-sheet Coming
Round
1. Shown Patterns of Red
Dots for 2 seconds
2. Count/Estimate
Number of Dots
3. 5 Second Countdown
4. This will be repeated
10 times
5. Swap Scorecards &
Total Results
Yes, there is 3!
31. Relevant Concepts…
• Humans Naturally Remember (& Process) 5 to 9
items
– More Leads to Confusion & Complexity
– Less and You’re Easily Confused :o)
– Stories of 8+ Points Need Breaking Down
• Regularity Makes Estimates Easier
– Low/Zero Variance
– Use Lessons Learned/Code Libraries As-is
– e.g. Squares Easiest to Estimate (measure one side
and square it)
32. However…
• Coder’s World is [Mostly]
Uncertain!!
• Regularity Doesn’t Exist!
– No two projects/Components
are exactly the same.
• Usually > 9 items of
ANYTHING
– Components
– Classes
– Methods
– Lines of Code
• Continually look at points
distribution! Or do ‘1-point’
stories (e.g. #NoEstimates)
Time
Frequency
Actual Client Data
33. Tackling Uncertainty
• Split into Predictable Chunks, Then Aggregate
• Use Small Chunks - Lowers Variability (& Confusion)
• Beware Relationships! Any Relationship is Complex! Especially if Shared!
• Use what you know as a baseline and LEARN!
• = More ‘Accurate’ Delivery!
4 = 14,
4
3
3
= + = 10
9 1
34. Cone of Uncertainty
Large Chunk Project
(BDUF/RUP) = Long
Feedback Cycle. Slow
journey to certainty
Small Chunk Project
(Sprint/Iteration) =
Frequent Learning, Moves
towards Certainty,
Descends Cone Faster
Predictability
Time
Uncertainty Curve
KEY
35. So, Get Feedback Fast!
• Make Small Changes
• Change one thing!
• Deploy & Evaluate Efficacy
Bigger Tasks Lose Accuracy, Reduce Certainty
and ‘Quality’ of Knowledge!
39. ACTIVITY: Can it be Too Small?
Team A: 2 Dev + Product Owner
• 8 sticks x 5 blocks each
• Each block is a task
• Each task
– Pull in stack
– Take 2 blocks from stack
– Place into ready
• Pay Per Delivery
Team B: 4 Dev + Product Owner
• 8 sticks x 5 blocks each
• Each block is a task
• Each task
– Pull in stack
– Take 1 block from stack
– Place in ready
• Pay Per Delivery
Question: Who Wins? Why?
40. Beware Context Switching
• What are context
switches?
– Task Done that Doesn’t
Add Value!
• The ‘Zero’ cost switch…
– …Doesn’t exist!
• Switching yourself
between tasks…
• But what else?
Tasks Between Stages!!
– Columns, People,
Boards…
Total Replatforms
Large Business Pivots
Mass Change
Programmes
Entire Codebase Rewrite
…
41. Small tasks, small batches, small cycles, small timescales, small change,
small planning…
TAKEAWAY: KEEP STUFF SMALL!
(INCLUDING CONTEXT SWITCH COST)
42. Thanks for Watching
Links
Kanban Simulator
http://www.kanbansim.org/
Queuing Theory
http://en.wikipedia.org/wiki/Queueing_theory
Attribution
All images courtesy of Google images and are the property of their respective owners
Ethar Alali @EtharUK @Dynacognetics
Managing Director & Chief Architect
Polymath-MathMo. Programming since 9 years old. TOGAF 9 Certified, change
agent.
Blog: GoadingtheITGeek.blogspot.co.uk
About Me
Managing Director/CEO of Dynacognetics.
Specialist Agile-EA, ICT Strategist & Advisor.
Member of HiveMind Network.
Accredited Growth Voucher Advisor
certified to deliver IT & Web Growth
Consultancy to SMEs and Startups as part of
the government’s Growth Voucher Scheme.
Accreditations & Associations