Date post: | 17-Nov-2014 |
Category: |
Technology |
Upload: | dynacognetics-ltd |
View: | 120 times |
Download: | 0 times |
What’s Wrong With Estimates?
A Journey with LEGO and Maths
A Well Known
Brand of
Plastic Blocks
In My World (Agile-EA)
In My Head (Helpful?)
…And It Works!
Example: Custom Load Balancing Algorithm in 2000
Focused on computational cost of calculating Averages <- SERIOUSLY!!
…And It Works! (Contd)
Healthy Respect for New Stuff!
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)
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!
ACTIVITY: Audience Participation
• Score-sheet Coming Round1. Shown Patterns of Red
Dots for 2 seconds2. Count/Estimate
Number of Dots3. 5 Second Countdown4. This will be repeated
10 times5. Swap Scorecards &
Total Results Yes, there is 3!
Question 1
5
3
12
4
Question 2
5
3
12
4
Question 3
5
3
12
4
Question 4
5
3
12
4
Question 5
5
3
12
4
Question 6
5
3
12
4
Question 7
5
3
12
4
Question 8
5
3
12
4
Question 9
5
3
12
4
Question 10
5
3
12
4
End of Activity(You can now relax)
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)
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
Freq
uenc
y
Actual Client Data
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!
= 14,4
4
3
3= + = 10
9 1
Cone of UncertaintyLarge 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
So, Get Feedback Fast!
• Make Small Changes• Change one thing!• Deploy & Evaluate Efficacy
Bigger Tasks Lose Accuracy, Reduce Certainty and ‘Quality’ of Knowledge!
Which Looks More Accurate?
Hamley’s Queen Ethar’s Lego Queen
OR
TAKEAWAY: KEEP STUFF SMALL!
Small tasks, small batches, small cycles, small timescales, small change, small planning…
BUT…
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?
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 ReplatformsLarge Business PivotsMass Change ProgrammesEntire Codebase Rewrite…
TAKEAWAY: KEEP STUFF SMALL!
Small tasks, small batches, small cycles, small timescales, small change, small planning…
(INCLUDING CONTEXT SWITCH COST)
Thanks for Watching
LinksKanban 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 ArchitectPolymath-MathMo. Programming since 9 years old. TOGAF 9 Certified, change agent. Blog: GoadingtheITGeek.blogspot.co.uk
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.
About Me
Accreditations & Associations
Q & A