Description
"How much will it cost? When will it be done". These questions echo much too often in the corridors of the PMO. The need for better predictability in the world of ever-increasing complexity has surfaced tensions in the existing "siloed, protectionist" business-IT dynamics. We continue to behave as a separate entities within an organization instead of navigating through the unpredictability together because of various systemic challenges – one of them being estimation.
This workshop is intended to help you with tools that will necessitate collaboration and transparency between business and IT teams with the goal of generating better estimates. We will bring together well established principles such as relative estimation, cone of uncertainty, and a risk-reduction strategy to enable better estimates. You can use this tool to then schedule program dates, generate insights for stakeholders, and prioritize your teams investments – together with your stakeholders.
------------------------------------------------------------------------------------------------
Bio:
Vinayak is a systems thinker with a with a successful track record of helping organizations achieve Agility. He believes that there is immense power in the humanistic approach of Agile to transform our way of working - trust over control, goals over tasks, and dialogue over discussions.
Connect with Vinny on:
linkedIn- https://www.linkedin.com/in/nvinayak/ and Twitter: @dj_vinayak
2. Workshop Key Agenda Items
• Setting up the Premise for Estimating differently
• The three concepts we will use – relative estimation, cone of
uncertanity and derisking through spikes
• Simulation – Pre-Sprint, Sprint 1, Sprint 2
• Debrief, My learnings and Other modelling add-ons
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
3. Blockbuster and Kodak –
What's common between
them?
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
5. Paradox: Things change, our plans don't
Our organizations are good at creating plans – but not changing them
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
6. Premise for changing our estimation
technique
• We need to adapt to Change
- Incorporate your learnings --> Do not stick to deterministic plans, and rigid
change management technique
• We need to Work Together to succeed in the changing world
- Break the Business-IT silo --> Stop hiding estimates, costs and start discovering
the viability of the initiative together
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
7. Making it real – Concepts we will use
• Relative Estimation
• Cone of Uncertainty
• De-Risking through Spikes
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
9. Boehm, B (1981). Software Engineering Economics, Prentice-Hal
McConnell, S (2006). Software Estimation: Demystifying the Black Art, Microsoft Press
Image Source: https://envoc.com/think/the-envoc-agile-glossary
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
10. De-Risking through spikes
User Story A
User
Story A.1
Spike
User Story A
Story
A.1
Story
A.2
Story
A.3
Story
A.4
Investigate/De-Risk
Small stories have lesser uncertainty
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
11. Simulation – To Online or Not To Online
• Goals : Help the new library management board decide If the library
will benefit in going online by determining the cost for the initiative
• Context:
• A new library management board has created a simple database of all its
books
• They need to go digital – reach out to a digital consumer base
• How:
• Discover as soon as possible the number of sprints it will take to build this
system
• Self-Organize into scrum teams (Board Member, PO, Scrum Master, Team
Members)
• Pre Sprint, Sprint 1-2
• Focus on the process, roles are fluid
5 mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
12. Pre Sprint Preparation – Backlog
Creation
• In line with the goal, create at least 15 functional
(business/technical) stories on Stickies
• Have at least - one easily identifiable small(simple) story and
- one huge visionary story
• Everyone can write stories, but PO owns the backlog and the vision
10 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
13. Pre Sprint Preparation – Backlog
Estimation
• Arrange all stories in order of size (small to large)
A B C D E F G H I J K L M N O
Increasing Size (Effort, Uncertainty/Risk)
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
14. Pre Sprint Preparation – Backlog
Estimation
A B C D E F G H I J K L M N O
• Group stories in at least 5 buckets. Each bucket can have zero to 4
stories
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
15. Pre Sprint Preparation – Backlog
Estimation
A B C D E F G H I J K L M N O
• Group stories in at least 5 buckets. Each bucket can have zero to 4
stories
A B C D E F G H I J K L M N O
1 2 5 8 20
• Size Stories based on Fibonacci - 1,2,3,5,8,13,20,40,100
(You can skip story sizes if you want to)
5 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
16. Pre Sprint Preparation – Confidence
Intervals
A B C D E F G H I J K L M N O
1 2 5 8 20
High Confidence (1.25x to
0.8x)
Low Confidence(4x to
0.25x)
1. Determine the confidence levels (2) based on YOUR Cone of uncertainty
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
17. Pre Sprint Preparation – Confidence
Intervals
A B C D E F G H I J K L M N O
1 2 5 8 20
High Confidence (1.25x to
0.8x)
Low Confidence(4x to
0.25x)
Pessimistic (Sum of Stories
* Upper Confidence
Interval)
Low (Sum of Stories *
Lower Confidence Interval)
Sum of HC Stories (3*1) + (4*2) = 11 11* 1.25 =13.75 8.8
Sum of LC Stories (5*2)+ (8*4) + (20*2) =
82
82 * 4 = 328 20.5
BACKLOG 93 341 30
1. Determine the confidence levels (2) based on your Cone of uncertainty
2. Fill in your Data Sheets for Pre Sprint
5 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
18. Pre Sprint Preparation – Initial Forecast
Projected Velocity
(10 Story Points per
sprint)
Pessimistic # of
Sprints
Optimistic # of
Sprints
Pre Sprint 1
Estimate
10 story points per
sprint
341/10= 34 Sprints 30/10 = 3 Sprints
Pre Sprint 2
Estimate
Final Estimate
• Estimate your velocity
• A technique I use is to estimate how many of the HC stories I think can be delivered in a sprint
• Calculate your pessimistic and optimistic # of sprints based on velocity
• Uncertainty is captured in Backlog Variance - from a possible 341 Story Points to 30 Story Points
5 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
19. Sprint 1 Start – Collaborate & De-Risk
• PO & Team to work together to Prioritize which stories to be De-
risked through spikes. Talk about Why this story is important to be
broken down vs any other story.
• Create spikes that reduce uncertainty around stories
N O
20
Spike(N) Spike(O)
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
20. Sprint 1 Execution– Collaborate & De-
Risk
• Agree on which spikes you will take into Sprint 1
N O
20
Spike(N)
8
Spike(O)
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
21. Sprint 1 Execution– Collaborate & De-
Risk
• Agree on which spikes you will take into Sprint 1
• Assume that you have executed the sprint – and you learned/discovered
information through the spikes
• Write down the smaller stories that resulted from the spike
• Put them in the backlog bucket based on its relative size
N O
20
Spike(N) N.1 O
20 8 3
N.2 N.3
5
10 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
23. Sprint 2 Execution– Collaborate & De-
Risk
• Agree on which spikes you will take into Sprint 2
• Assume that you have executed the sprint – and you learned/discovered
information through the spikes
• Write down the smaller stories that resulted from the spike
• Put them in the backlog bucket based on its relative size
N O
20
Spike(O)
8
12/5/18 Estimating Better, Together - with Vinayak Nagarajan
24. Sprint 2 Execution– Collaborate & De-
Risk
• Agree on which spikes you will take into Sprint 2
• Assume that you have executed the sprint – and you learned/discovered
information through the spikes
• Write down the smaller stories that resulted from the spike
• Put them in the backlog bucket based on its relative size
N O
20
Spike(O)
8
5 Mins
12/5/18 Estimating Better, Together - with Vinayak Nagarajan