SlideShare a Scribd company logo
Dimitar Bakardzhiev
Managing Director
Taller Technologies Bulgaria
@dimiterbak
Probabilistic project sizing
using Randomized Branch
Sampling (RBS)
How big is our project?
Agile sizing techniques
T-Shirt sizes (Small,
Medium, Large and so on)
Story points (Fibonacci
numbers or Exponential scale)
http://www.mountaingoatsoftware.com/blog/estimating-with-
tee-shirt-sizes
http://www.mountaingoatsoftware.com/blog/do
nt-equate-story-points-to-hours
measure User Stories
Story points are about effort.
http://www.mountaingoatsoftware.com/blog/story-points-are-still-about-effort
But…software sizing is different from
software effort estimation!
Sizing estimates the probable size of a
piece of software while effort estimation
estimates the effort needed to build it.
Kanban project sizing? Count!
Number of user stories,
features, use cases
Number of tasks
Project size is the total of "work items suitable
for the development organization."
Example sizing
• We have identified 16 epics in our project
• We have identified that those 16 epics contain 102
user stories in total
• We have analyzed and sized every single one of those
102 user stories and arrived at a total number of 396
tasks for our project
This practice is time consuming and
probably great part of this effort will be a
pure waste!
How can we estimate the total number
of stories or tasks for a project without
prior identification, analysis and sizing
of every single user story?
Randomized Branch Sampling
The technique was designed to
efficiently estimate the total
number of fruit found in the canopy
of a tree while only having to count
the fruit on select branches. RBS
is a method for sampling tree
branches which does not require
prior identification of all branches,
and provides the sampler with
unbiased tree level estimates.Raymond J. Jessen
1910–2003
Randomized branch sampling (RBS)
• A multi-stage unequal probability sampling method
which doesn’t require prior identification of all branches
in the crown, and provides the sampler with unbiased
tree level estimates
• Designed to efficiently estimate the total number of fruit
found in the canopy of a tree while only having to count
the fruit on select branches
• A tree level estimate is derived by combining the
number of fruit from the terminal branch and the
associated probability with which that particular branch
was selected
Product backlog as a branching system
Product Backlog
User Story 3
Epic C Epic B
User Story 4
Epic C
User Story 6 User Story 7User Story 1 User Story 2 User Story 5
Product
Epic
User
Story
Total size per section level
The user story rectangle represents the
estimated size of a randomly sampled user
story. The size of that user story is expanded
to an estimated total project size by dividing
that size by its selection probabilities which is
indicated here by the arrows. The selection
probabilities assigned to epics and user
stories are arbitrary. Unless the probabilities
do not sum to one they will not affect the
unbiasedness of the resultant estimate, but
they will affect its precision. When applying
RBS for sizing a project today we will use the
method “probabilities proportional to number”
where the total number of epics in the product
backlog and the total number of user stories
per epic are used to calculate conditional
selection probabilities.
Applications of RBS to project sizing
Is RBS applicable to software
development?
The method of analysis used to break
down requirements and itemize them
for development has its own degree of
variability. DJA, Kanban, p.221
Why RBS works?
• The assumption behind using RBS for software
development is that project size depends on the
context – the customer, the people developing the
product and the methodology they use for managing
the requirements.
• RBS estimates the original scope. Then there is a
relationship between the original and eventual
(emergent, expanded) scope which we only identify
when the results of the execution of our plans meet the
customer. The scope expansion is referred to as “dark
matter”.
RBS compared to the actual results
of 13 real ScrumDo.com projects
• Epic-Story-Task breakdowns
• Successful release history
• Stable teams (systems)
• Have an active ScrumDo coach or scrum master
• Commercial projects
• Have a minimum size of 12 epics/features.
RBS estimated number of stories
RBS estimated total story points
ScrumDo data and results here.
RBS estimated number of tasks per story
Conclusions from Scrumdo.com data
• During project execution all project teams consistently
applied a methodology for slicing the requirements into
user stories and sizing them using story points
• During project execution all project teams maturely
managed the emergent and high-change-risk
requirements
• Execution is more important than planning!!!
Application of RBS
1. Applying RBS for estimating total number of user
stories in a project
2. Applying RBS for estimating total Story points in a
project
3. Applying RBS for estimating total number of tasks in a
project
4. Applying RBS for estimating total number of BDD
scenarios in a project
Applying RBS for estimating total
number of user stories in a project
Stories based sizing model
Product
User Story 1
Epic 1 Epic 2
User Story N…
…
Product
User Story 1
Epic 1 Epic N
User Story N…
…
Mapping
Product Trunk
Epic Branch
User Story Terminal Shoot
RBS estimate of the of total number of
user stories for a project
Where:
𝑋𝑖 is an estimate of the total number of user stories for
the project.
𝑋𝑖 =
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑢𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑
𝐸𝑝𝑖𝑐
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝐸𝑝𝑖𝑐𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡
(1)
Total number of user stories for the
project
𝑋 =
1
𝑚
𝑖=1
𝑚
𝑋𝑖 =
1
𝑚
𝑖=1
𝑚
𝑆𝑖
1
𝑛
(2)
𝑋 is an unbiased estimator of the total number of user
stories for the project
𝑆𝑖 is the number of user stories in the m-th epic
m is the number of estimates done
n is the number of epics in the project
Algorithm
1. Divide the project scope into epics.
2. Randomly sample one of the epics
3. Analyze how many stories are in the sampled epic.
Write down the number of stories.
4. Using formula (1) calculate one estimate of the total
number of stories for the project
5. Repeat points 2-4 between 7 and 11 times
6. Using formula (2) calculate the total number of stories
for the project
Following is a calculation with data
from a real ScrumDo.com project.
When the project finished in the
backlog there were 29 epics and a
total of 529 user stories.
Random
epic selector
Epic #
Number of User
Stories inside
the epic
Epic's
selection
probability
Estimated
total stories
0,733796 22 19 0,034483 551,00
0,596877 18 16 0,034483 464,00
0,30461 9 24 0,034483 696,00
0,988762 29 19 0,034483 551,00
0,191704 6 11 0,034483 319,00
0,184528 6 11 0,034483 319,00
0,091998 3 20 0,034483 580,00
Total Number of stories for the project
Estimated
project size
497
Number of
RBS paths
7
SD 53
Median 551
Mode 551
LKCE2011 - Predictability & Measurement
with Kanban by David Anderson
DJA way to calculate the number of
work items for a project?
“At 42:50 it is presented how to came out with the number
of work items (user stories) for a project. Randomly
sample at least 7 and ideally 11 of the customer defined
requirements and analyze them into work items that are
meaningful to the development organization. User stories
is just one example of a suitable work item type. Take the
average number of the user stories per saga and multiply
it with the number of sagas. The product is the number of
user stories for the project.”
DJA formula compared with RBS –
they are the same!
𝑆 =
𝑛
𝑚
𝑖=1
𝑚
𝑆𝑖 =
1
𝑚
𝑖=1
𝑚
𝑆𝑖
1
𝑛
Where:
𝑆 is the number of work items per saga
n is the number of sagas in the project
m is the number of sagas broken down into user stories
Applying RBS for estimating total
Story points in a project
Story points based sizing model
Project
User Story
Epic Epic
User Story
Story points Story points
…
…
Product
User Story 1
Epic 1 Epic N
User Story N
X Story points Y Story points
…
…
Mapping
Product Trunk
Epic Branch
User Story Terminal Shoot
Story points per
story
Number of Fruit
on the Shoot
Estimate of the of total story points for
a project
Where:
𝑋𝑖 is an unbiased estimator of the population total of the
of story points for the project.
𝑋𝑖 =
𝑆𝑡𝑜𝑟𝑦 𝑝𝑜𝑖𝑛𝑡𝑠
𝑜𝑓 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝐸𝑝𝑖𝑐𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐
(3)
Total story points for the project
𝑋 =
1
𝑚
𝑖=1
𝑚
𝑋𝑖 (4)
Where:
𝑋 is an unbiased estimator of the total story points for the
project.
m is the number of estimates done
Algorithm
1. Divide the project scope into epics.
2. Randomly sample one of the epics
3. Analyze how many stories are in the epic. Write down
the number of stories.
4. Randomly sample one of the stories of the epic from
p.2
5. Estimate the story points for the story from p.4
6. Using formula (3) calculate one estimate of the total
story points for the project
7. Repeat points 2-6 between 7 and 11 times
8. Using formula (4) calculate the total story points for
the project
Following is a calculation with data
from a real ScrumDo.com project.
When the project finished there were
delivered 20 epics, 176 user stories
and a total of 573,5 story points.
Random
epic
selector
Epic #
Number of
User
Stories
inside the
epic
Random
story
selector
Selected
user
story
Story
points
for the
selected
story
Epic's
selection
probability
Story's
selection
probability
Conditional
selection
probability
Estimated
total story
points
0,09123
6
2 14
0,57786821
7
313067 5 0,05 0,071429 0,0035714 1400,00
0,69412
8
14 10
0,29687134
2
307842 1 0,05 0,1 0,005 200,00
0,71178
7
15 13
0,21917813
5
302447 1 0,05 0,076923 0,0038462 260,00
0,62331
9
13 6
0,34026452
4
308115 1 0,05 0,166667 0,0083333 120,00
0,89309
3
18 12
0,21872392
6
308016 1 0,05 0,083333 0,0041667 240,00
0,34069 7 8
0,00535048
1
305382 2 0,05 0,125 0,00625 320,00
0,62292
5
13 6
0,89401048
9
325545 8 0,05 0,166667 0,0083333 960,00
Total Story points for the project
Estimated
project
size
500
Number
of RBS
paths
7
SD 183
Median 260
Applying RBS for estimating total
number of tasks in a project
When we size each user story in
the number of tasks then the
project size is the total of all tasks.
Tasks based sizing model
Product
User Story 1
Epic 1 Epic 2
User Story N
Task 1 Task N…
…
…
Product
User Story 1
Epic 1 Epic N
User Story N
Task 1 Task N
…
…
…
Mapping
Product Trunk
Epic Branch
User Story Terminal Shoot
Number of tasks
per User story
Number of Fruit
on the Shoot
Estimate of the of total number of
tasks for a project
Where:
𝑋𝑖 is an unbiased estimator of the population total of the
of story points for the project.
𝑋𝑖 =
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑎𝑠𝑘𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝐸𝑝𝑖𝑐𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐
(5)
Total number of tasks for the project
𝑋 =
1
𝑚
𝑖=1
𝑚
𝑋𝑖 (6)
Where:
𝑋 is an unbiased estimator of the total number of tasks for
the project.
m is the number of estimates done
Algorithm
1. Divide the project scope into epics.
2. Randomly sample one of the epics
3. Analyze how many stories are in the sampled epic.
Write down the number of stories.
4. Randomly sample one of the stories of the epic from
p.2
5. Establish the tasks for the story from p.4
6. Using formula (5) calculate one estimate of the total
number of tasks for the project
7. Repeat points 2-6 between 7 and 11 times
8. Using formula (6) calculate the total number of tasks
for the project
Following is a calculation with data
from a real project. When the project
finished in the backlog there were 15
epics, 720 user stories and a total of
5591 tasks.
Random
epic
selector
Epic #
Number of
User Stories
inside the
epic
Random
story
selector
Selected
user
story
Tasks for
the
selected
story
Epic's
selection
probability
Story's
selection
probability
Conditional
selection
probability
Estimated
total tasks
0,887642 14 42 0,649722871 545769 12 0,066667 0,02381 0,0015873 7560,00
0,763994 12 51 0,017087888 506420 8 0,066667 0,019608 0,0013072 6120,00
0,897303 14 42 0,571814178 541008 1 0,066667 0,02381 0,0015873 630,00
0,542088 9 37 0,559320969 544703 2 0,066667 0,027027 0,0018018 1110,00
0,510646 8 48 0,360797137 527216 14 0,066667 0,020833 0,0013889 10080,00
0,457058 7 46 0,892151817 564853 14 0,066667 0,021739 0,0014493 9660,00
0,736139 12 51 0,972991924 567925 0 0,066667 0,019608 0,0013072 0,00
Total Number of tasks for the project
Estimated
project size
5023
Number of
RBS paths
7
SD 1652
Median 6120
Applying RBS for estimating total
number of BDD scenarios in a project
Scenario based sizing model
Product
User Story
Epic Epic
User Story
Scenario Scenario…
…
…
Product
User Story
Epic Epic
User Story
Scenario Scenario
…
…
…
What is a Scenario?
• A scenario is an acceptance test customers could
understand written in their ordinary business language.
It is a formal test conducted to determine whether or
not the system satisfies its acceptance criteria and to
enable the customer to determine whether or not to
accept the system.
• A User Story can have one or more scenarios
When we size each user story in
the number of scenarios then the
project size is the total of all
scenarios. If we slice stories down
to needing only a single
acceptance test then the number of
user stories will equal the number
of scenarios.
Mapping
Product Trunk
Epic Branch
User Story Terminal Shoot
Number of
Scenarios per
User story
Number of Fruit
on the Shoot
An estimate of the of total number of
scenarios for a project
Where:
𝑋𝑖 is an estimate of the total number of scenarios for the
project.
𝑋𝑖 =
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝐸𝑝𝑖𝑐𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡
1
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓
𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠
𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐
(7)
Total number of scenarios for the
project
𝑋 =
1
𝑚
𝑖=1
𝑚
𝑋𝑖 (8)
Where:
𝑋 is an unbiased estimator of the total number of
scenarios for the project.
m is the number of estimates done
Algorithm
1. Divide the project scope into epics.
2. Randomly sample one of the epics
3. Analyze how many stories are in the sampled epic.
Write down the number of stories.
4. Randomly sample one of the stories of the epic from
p.2
5. Establish the scenarios for the story from p.4
6. Using formula (7) calculate an estimate of the total
number of scenarios for the project
7. Repeat points 2-6 between 7 and 11 times
8. Using formula (8) calculate the total number of
scenarios for the project
Conclusion
• RBS is a forecasting technique for sizing software
projects without prior identification, analysis and sizing
of every single user story. Project size may be
measured in story points, number of tasks, BDD
scenarios.
• By running RBS on past data from actual projects, we
found that the RBS would have estimated the same
size without all the usual effort.
• RBS helps us to reduce uncertainty regarding “how
much” software needs to be developed when we have
to make portfolio related decisions, provide quotations
on prospect projects etc.
Dimitar Bakardzhiev is the Managing Director of
Taller Technologies Bulgaria and an expert in driving
successful and cost-effective technology
development. As a Lean-Kanban University (LKU)-
Accredited Kanban Trainer (AKT) and avid, expert
Kanban practitioner, Dimitar puts lean principles to
work every day when managing complex software
projects with a special focus on building innovative,
powerful mobile CRM solutions. Dimitar has been one
of the leading proponents and evangelists of Kanban
in his native Bulgaria and has published David
Anderson’s Kanban book as well as books by Eli
Goldratt and W. Edwards Deming in the local
language.
@dimiterbak

More Related Content

What's hot

VARIABLES AND HYPOTHESES
VARIABLES  AND HYPOTHESES VARIABLES  AND HYPOTHESES
VARIABLES AND HYPOTHESES
Dr. Mohamed Hassan
 
Study title, abstract, key words
Study title, abstract, key wordsStudy title, abstract, key words
Study title, abstract, key words
Subramani Parasuraman
 
Writing a good book review
Writing a good book reviewWriting a good book review
Writing a good book review
Kamal Vora
 
How to Write A Research Paper? - Useful Tips For Successful Academic Writing
How to Write A Research Paper? - Useful Tips For Successful Academic WritingHow to Write A Research Paper? - Useful Tips For Successful Academic Writing
How to Write A Research Paper? - Useful Tips For Successful Academic Writing
Alina Stepanova
 
Transdisciplinary skills scope and sequence research1
Transdisciplinary skills scope and sequence   research1Transdisciplinary skills scope and sequence   research1
Transdisciplinary skills scope and sequence research1guest2e0242
 
Write that journal article in 7 days
Write that journal article in 7 daysWrite that journal article in 7 days
Write that journal article in 7 days
Thesiswhisperer
 
Academic writing
Academic writingAcademic writing
Academic writing
Miann91
 
Academic Writing
Academic WritingAcademic Writing
Academic Writing
Dr. Khaled OUANES
 
Writing introduction in research report and articles
Writing introduction in research report and articlesWriting introduction in research report and articles
Writing introduction in research report and articles
Achyut Raj Pandey
 
Research Proposal and Research Paper writing workshop on 23 Aug
Research Proposal and Research Paper writing workshop on 23 AugResearch Proposal and Research Paper writing workshop on 23 Aug
Research Proposal and Research Paper writing workshop on 23 Aug
Dr. Rashmi Hebalkar
 
Campaign speech
Campaign speechCampaign speech
Campaign speech
angelo ang
 
Academic writing
Academic writingAcademic writing
Academic writing
Danish Sayanee
 
Ethos pathos logos presentation w audio
Ethos pathos logos presentation w audioEthos pathos logos presentation w audio
Ethos pathos logos presentation w audio
kb615
 
Conclusions
ConclusionsConclusions
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
sarfraznawaz
 
Comparing Citation Styles: APA and MLA
Comparing Citation Styles: APA and MLAComparing Citation Styles: APA and MLA
Comparing Citation Styles: APA and MLA
College of the Rockies
 
Doing Grounded Thoery
Doing Grounded ThoeryDoing Grounded Thoery
Doing Grounded Thoery
Leo Casey
 
Understanding Critical Writing
Understanding Critical Writing Understanding Critical Writing
Understanding Critical Writing
Fred Freeman Okpala. BA, MBA,...
 
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
Dr. Achim Bonte
 

What's hot (20)

VARIABLES AND HYPOTHESES
VARIABLES  AND HYPOTHESES VARIABLES  AND HYPOTHESES
VARIABLES AND HYPOTHESES
 
Study title, abstract, key words
Study title, abstract, key wordsStudy title, abstract, key words
Study title, abstract, key words
 
Writing a good book review
Writing a good book reviewWriting a good book review
Writing a good book review
 
How to Write A Research Paper? - Useful Tips For Successful Academic Writing
How to Write A Research Paper? - Useful Tips For Successful Academic WritingHow to Write A Research Paper? - Useful Tips For Successful Academic Writing
How to Write A Research Paper? - Useful Tips For Successful Academic Writing
 
Transdisciplinary skills scope and sequence research1
Transdisciplinary skills scope and sequence   research1Transdisciplinary skills scope and sequence   research1
Transdisciplinary skills scope and sequence research1
 
Write that journal article in 7 days
Write that journal article in 7 daysWrite that journal article in 7 days
Write that journal article in 7 days
 
Academic writing
Academic writingAcademic writing
Academic writing
 
Academic Writing
Academic WritingAcademic Writing
Academic Writing
 
Writing introduction in research report and articles
Writing introduction in research report and articlesWriting introduction in research report and articles
Writing introduction in research report and articles
 
Research Proposal and Research Paper writing workshop on 23 Aug
Research Proposal and Research Paper writing workshop on 23 AugResearch Proposal and Research Paper writing workshop on 23 Aug
Research Proposal and Research Paper writing workshop on 23 Aug
 
Campaign speech
Campaign speechCampaign speech
Campaign speech
 
Citation_Referencing
Citation_ReferencingCitation_Referencing
Citation_Referencing
 
Academic writing
Academic writingAcademic writing
Academic writing
 
Ethos pathos logos presentation w audio
Ethos pathos logos presentation w audioEthos pathos logos presentation w audio
Ethos pathos logos presentation w audio
 
Conclusions
ConclusionsConclusions
Conclusions
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
 
Comparing Citation Styles: APA and MLA
Comparing Citation Styles: APA and MLAComparing Citation Styles: APA and MLA
Comparing Citation Styles: APA and MLA
 
Doing Grounded Thoery
Doing Grounded ThoeryDoing Grounded Thoery
Doing Grounded Thoery
 
Understanding Critical Writing
Understanding Critical Writing Understanding Critical Writing
Understanding Critical Writing
 
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
Der wissenschaftliche Dienst in der Digitalen Bibliothek. Was kommt nach dem ...
 

Viewers also liked

Seo rescue shaf cangil practical scrum
Seo rescue shaf cangil practical scrumSeo rescue shaf cangil practical scrum
Seo rescue shaf cangil practical scrum
shaf cangil
 
Introduction to Nim
Introduction to NimIntroduction to Nim
Introduction to Nim
Fred Heath
 
Agile diff usp
Agile diff uspAgile diff usp
Agile diff usp
Fred Heath
 
Port80: the uncertainty principle
Port80: the uncertainty principlePort80: the uncertainty principle
Port80: the uncertainty principle
Fred Heath
 
Agile Adoption and Initiation
Agile Adoption and InitiationAgile Adoption and Initiation
Agile Adoption and Initiationreggie_d
 
Scrumban
ScrumbanScrumban
Scrumban
Ajay Reddy
 
Agile :what i learnt so far
Agile :what i learnt so farAgile :what i learnt so far
Agile :what i learnt so farRohan Chandane
 
Using Agile and Lean to Stay Ahead in a Tough Economy
Using Agile and Lean to Stay Ahead in a Tough EconomyUsing Agile and Lean to Stay Ahead in a Tough Economy
Using Agile and Lean to Stay Ahead in a Tough Economy
Sally Elatta
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & Planning
AgileDad
 
Scrum planning poker, principles of the game
Scrum planning poker, principles of the gameScrum planning poker, principles of the game
Scrum planning poker, principles of the game
Sid Dane
 
USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016
Fred Heath
 
Planning Poker
Planning PokerPlanning Poker
Planning Poker
vineet
 
An introduction to agile estimation and release planning
An introduction to agile estimation and release planningAn introduction to agile estimation and release planning
An introduction to agile estimation and release planning
James Whitehead
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
Volker Hirsch
 

Viewers also liked (15)

Seo rescue shaf cangil practical scrum
Seo rescue shaf cangil practical scrumSeo rescue shaf cangil practical scrum
Seo rescue shaf cangil practical scrum
 
Introduction to Nim
Introduction to NimIntroduction to Nim
Introduction to Nim
 
Agile diff usp
Agile diff uspAgile diff usp
Agile diff usp
 
Port80: the uncertainty principle
Port80: the uncertainty principlePort80: the uncertainty principle
Port80: the uncertainty principle
 
Agile Adoption and Initiation
Agile Adoption and InitiationAgile Adoption and Initiation
Agile Adoption and Initiation
 
Scrumban
ScrumbanScrumban
Scrumban
 
Agile :what i learnt so far
Agile :what i learnt so farAgile :what i learnt so far
Agile :what i learnt so far
 
Using Agile and Lean to Stay Ahead in a Tough Economy
Using Agile and Lean to Stay Ahead in a Tough EconomyUsing Agile and Lean to Stay Ahead in a Tough Economy
Using Agile and Lean to Stay Ahead in a Tough Economy
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & Planning
 
Scrum planning poker, principles of the game
Scrum planning poker, principles of the gameScrum planning poker, principles of the game
Scrum planning poker, principles of the game
 
USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016USP Estimation - SwanseaCon 2016
USP Estimation - SwanseaCon 2016
 
Agile Software Development - Agile and Scrum Intro
Agile Software Development - Agile and Scrum IntroAgile Software Development - Agile and Scrum Intro
Agile Software Development - Agile and Scrum Intro
 
Planning Poker
Planning PokerPlanning Poker
Planning Poker
 
An introduction to agile estimation and release planning
An introduction to agile estimation and release planningAn introduction to agile estimation and release planning
An introduction to agile estimation and release planning
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similar to Probabilistic project sizing using Randomized Branch Sampling (RBS)

Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
Steven J. Peters, PhD
 
Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile ProjectsMike Cohn
 
Elg 5100 project report anurag & jayanshu
Elg 5100 project report   anurag & jayanshuElg 5100 project report   anurag & jayanshu
Elg 5100 project report anurag & jayanshu
Anurag Das
 
DA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluDA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluCan Köklü
 
battery pa report.docx
battery pa report.docxbattery pa report.docx
battery pa report.docx
deependerdeshwal
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Alok Singh
 
Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!
A Jorge Garcia
 
Streamlio and IoT analytics with Apache Pulsar
Streamlio and IoT analytics with Apache PulsarStreamlio and IoT analytics with Apache Pulsar
Streamlio and IoT analytics with Apache Pulsar
Streamlio
 
Software Engineering Software Project Management
Software Engineering Software Project ManagementSoftware Engineering Software Project Management
Software Engineering Software Project Management
Dr Anuranjan Misra
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
Mojammel Haque
 
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...Tomasz Okborg
 
Scaling Analytics with Apache Spark
Scaling Analytics with Apache SparkScaling Analytics with Apache Spark
Scaling Analytics with Apache Spark
QuantUniversity
 
Scrum
ScrumScrum
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_LibrarySaurabh Chauhan
 
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docxBTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
AASTHA76
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Model
jayanth72
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
Aman Adhikari
 
4th sem project.pptx
4th sem project.pptx4th sem project.pptx
4th sem project.pptx
saiproject
 

Similar to Probabilistic project sizing using Randomized Branch Sampling (RBS) (20)

Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...
 
Planning and Tracking Agile Projects
Planning and Tracking Agile ProjectsPlanning and Tracking Agile Projects
Planning and Tracking Agile Projects
 
Elg 5100 project report anurag & jayanshu
Elg 5100 project report   anurag & jayanshuElg 5100 project report   anurag & jayanshu
Elg 5100 project report anurag & jayanshu
 
DA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can KokluDA 592 - Term Project Report - Berker Kozan Can Koklu
DA 592 - Term Project Report - Berker Kozan Can Koklu
 
battery pa report.docx
battery pa report.docxbattery pa report.docx
battery pa report.docx
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
 
Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!Building A Linux Cluster Using Raspberry PI #1!
Building A Linux Cluster Using Raspberry PI #1!
 
Streamlio and IoT analytics with Apache Pulsar
Streamlio and IoT analytics with Apache PulsarStreamlio and IoT analytics with Apache Pulsar
Streamlio and IoT analytics with Apache Pulsar
 
Software Engineering Software Project Management
Software Engineering Software Project ManagementSoftware Engineering Software Project Management
Software Engineering Software Project Management
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
 
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...
Evaluation_of_a_simulation_game_that_illustrates_the_software_development_pro...
 
Scaling Analytics with Apache Spark
Scaling Analytics with Apache SparkScaling Analytics with Apache Spark
Scaling Analytics with Apache Spark
 
Scrum
ScrumScrum
Scrum
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
 
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docxBTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docx
 
Agile Estimation for Fixed Price Model
Agile Estimation for Fixed Price ModelAgile Estimation for Fixed Price Model
Agile Estimation for Fixed Price Model
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
4th sem project.pptx
4th sem project.pptx4th sem project.pptx
4th sem project.pptx
 

More from Dimitar Bakardzhiev

Kanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations BulgariaKanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations Bulgaria
Dimitar Bakardzhiev
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
Dimitar Bakardzhiev
 
Capacity planning
Capacity planningCapacity planning
Capacity planning
Dimitar Bakardzhiev
 
#NoEstimates project planning using Monte Carlo simulation
#NoEstimates project planning using Monte Carlo simulation#NoEstimates project planning using Monte Carlo simulation
#NoEstimates project planning using Monte Carlo simulation
Dimitar Bakardzhiev
 
Project Planning using Little’s Law
Project Planning using Little’s LawProject Planning using Little’s Law
Project Planning using Little’s Law
Dimitar Bakardzhiev
 
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?Dimitar Bakardzhiev
 

More from Dimitar Bakardzhiev (8)

Kanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations BulgariaKanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations Bulgaria
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Capacity planning
Capacity planningCapacity planning
Capacity planning
 
#NoEstimates project planning using Monte Carlo simulation
#NoEstimates project planning using Monte Carlo simulation#NoEstimates project planning using Monte Carlo simulation
#NoEstimates project planning using Monte Carlo simulation
 
Bulgarian culture and agile
Bulgarian culture and agileBulgarian culture and agile
Bulgarian culture and agile
 
The impact of national culture
The impact of national cultureThe impact of national culture
The impact of national culture
 
Project Planning using Little’s Law
Project Planning using Little’s LawProject Planning using Little’s Law
Project Planning using Little’s Law
 
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
 

Recently uploaded

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 

Recently uploaded (20)

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 

Probabilistic project sizing using Randomized Branch Sampling (RBS)

  • 1. Dimitar Bakardzhiev Managing Director Taller Technologies Bulgaria @dimiterbak Probabilistic project sizing using Randomized Branch Sampling (RBS)
  • 2. How big is our project?
  • 3. Agile sizing techniques T-Shirt sizes (Small, Medium, Large and so on) Story points (Fibonacci numbers or Exponential scale) http://www.mountaingoatsoftware.com/blog/estimating-with- tee-shirt-sizes http://www.mountaingoatsoftware.com/blog/do nt-equate-story-points-to-hours measure User Stories
  • 4. Story points are about effort. http://www.mountaingoatsoftware.com/blog/story-points-are-still-about-effort But…software sizing is different from software effort estimation!
  • 5. Sizing estimates the probable size of a piece of software while effort estimation estimates the effort needed to build it.
  • 6. Kanban project sizing? Count! Number of user stories, features, use cases Number of tasks Project size is the total of "work items suitable for the development organization."
  • 7. Example sizing • We have identified 16 epics in our project • We have identified that those 16 epics contain 102 user stories in total • We have analyzed and sized every single one of those 102 user stories and arrived at a total number of 396 tasks for our project This practice is time consuming and probably great part of this effort will be a pure waste!
  • 8. How can we estimate the total number of stories or tasks for a project without prior identification, analysis and sizing of every single user story?
  • 9. Randomized Branch Sampling The technique was designed to efficiently estimate the total number of fruit found in the canopy of a tree while only having to count the fruit on select branches. RBS is a method for sampling tree branches which does not require prior identification of all branches, and provides the sampler with unbiased tree level estimates.Raymond J. Jessen 1910–2003
  • 10. Randomized branch sampling (RBS) • A multi-stage unequal probability sampling method which doesn’t require prior identification of all branches in the crown, and provides the sampler with unbiased tree level estimates • Designed to efficiently estimate the total number of fruit found in the canopy of a tree while only having to count the fruit on select branches • A tree level estimate is derived by combining the number of fruit from the terminal branch and the associated probability with which that particular branch was selected
  • 11. Product backlog as a branching system Product Backlog User Story 3 Epic C Epic B User Story 4 Epic C User Story 6 User Story 7User Story 1 User Story 2 User Story 5
  • 12. Product Epic User Story Total size per section level The user story rectangle represents the estimated size of a randomly sampled user story. The size of that user story is expanded to an estimated total project size by dividing that size by its selection probabilities which is indicated here by the arrows. The selection probabilities assigned to epics and user stories are arbitrary. Unless the probabilities do not sum to one they will not affect the unbiasedness of the resultant estimate, but they will affect its precision. When applying RBS for sizing a project today we will use the method “probabilities proportional to number” where the total number of epics in the product backlog and the total number of user stories per epic are used to calculate conditional selection probabilities. Applications of RBS to project sizing
  • 13. Is RBS applicable to software development?
  • 14. The method of analysis used to break down requirements and itemize them for development has its own degree of variability. DJA, Kanban, p.221
  • 15. Why RBS works? • The assumption behind using RBS for software development is that project size depends on the context – the customer, the people developing the product and the methodology they use for managing the requirements. • RBS estimates the original scope. Then there is a relationship between the original and eventual (emergent, expanded) scope which we only identify when the results of the execution of our plans meet the customer. The scope expansion is referred to as “dark matter”.
  • 16. RBS compared to the actual results of 13 real ScrumDo.com projects • Epic-Story-Task breakdowns • Successful release history • Stable teams (systems) • Have an active ScrumDo coach or scrum master • Commercial projects • Have a minimum size of 12 epics/features.
  • 17. RBS estimated number of stories
  • 18. RBS estimated total story points ScrumDo data and results here.
  • 19. RBS estimated number of tasks per story
  • 20. Conclusions from Scrumdo.com data • During project execution all project teams consistently applied a methodology for slicing the requirements into user stories and sizing them using story points • During project execution all project teams maturely managed the emergent and high-change-risk requirements • Execution is more important than planning!!!
  • 21. Application of RBS 1. Applying RBS for estimating total number of user stories in a project 2. Applying RBS for estimating total Story points in a project 3. Applying RBS for estimating total number of tasks in a project 4. Applying RBS for estimating total number of BDD scenarios in a project
  • 22. Applying RBS for estimating total number of user stories in a project
  • 23. Stories based sizing model Product User Story 1 Epic 1 Epic 2 User Story N… …
  • 24. Product User Story 1 Epic 1 Epic N User Story N… …
  • 26. RBS estimate of the of total number of user stories for a project Where: 𝑋𝑖 is an estimate of the total number of user stories for the project. 𝑋𝑖 = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑢𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐸𝑝𝑖𝑐𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡 (1)
  • 27. Total number of user stories for the project 𝑋 = 1 𝑚 𝑖=1 𝑚 𝑋𝑖 = 1 𝑚 𝑖=1 𝑚 𝑆𝑖 1 𝑛 (2) 𝑋 is an unbiased estimator of the total number of user stories for the project 𝑆𝑖 is the number of user stories in the m-th epic m is the number of estimates done n is the number of epics in the project
  • 28. Algorithm 1. Divide the project scope into epics. 2. Randomly sample one of the epics 3. Analyze how many stories are in the sampled epic. Write down the number of stories. 4. Using formula (1) calculate one estimate of the total number of stories for the project 5. Repeat points 2-4 between 7 and 11 times 6. Using formula (2) calculate the total number of stories for the project
  • 29. Following is a calculation with data from a real ScrumDo.com project. When the project finished in the backlog there were 29 epics and a total of 529 user stories.
  • 30. Random epic selector Epic # Number of User Stories inside the epic Epic's selection probability Estimated total stories 0,733796 22 19 0,034483 551,00 0,596877 18 16 0,034483 464,00 0,30461 9 24 0,034483 696,00 0,988762 29 19 0,034483 551,00 0,191704 6 11 0,034483 319,00 0,184528 6 11 0,034483 319,00 0,091998 3 20 0,034483 580,00
  • 31. Total Number of stories for the project Estimated project size 497 Number of RBS paths 7 SD 53 Median 551 Mode 551
  • 32. LKCE2011 - Predictability & Measurement with Kanban by David Anderson
  • 33. DJA way to calculate the number of work items for a project? “At 42:50 it is presented how to came out with the number of work items (user stories) for a project. Randomly sample at least 7 and ideally 11 of the customer defined requirements and analyze them into work items that are meaningful to the development organization. User stories is just one example of a suitable work item type. Take the average number of the user stories per saga and multiply it with the number of sagas. The product is the number of user stories for the project.”
  • 34. DJA formula compared with RBS – they are the same! 𝑆 = 𝑛 𝑚 𝑖=1 𝑚 𝑆𝑖 = 1 𝑚 𝑖=1 𝑚 𝑆𝑖 1 𝑛 Where: 𝑆 is the number of work items per saga n is the number of sagas in the project m is the number of sagas broken down into user stories
  • 35. Applying RBS for estimating total Story points in a project
  • 36. Story points based sizing model Project User Story Epic Epic User Story Story points Story points … …
  • 37. Product User Story 1 Epic 1 Epic N User Story N X Story points Y Story points … …
  • 38. Mapping Product Trunk Epic Branch User Story Terminal Shoot Story points per story Number of Fruit on the Shoot
  • 39. Estimate of the of total story points for a project Where: 𝑋𝑖 is an unbiased estimator of the population total of the of story points for the project. 𝑋𝑖 = 𝑆𝑡𝑜𝑟𝑦 𝑝𝑜𝑖𝑛𝑡𝑠 𝑜𝑓 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐸𝑝𝑖𝑐𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐 (3)
  • 40. Total story points for the project 𝑋 = 1 𝑚 𝑖=1 𝑚 𝑋𝑖 (4) Where: 𝑋 is an unbiased estimator of the total story points for the project. m is the number of estimates done
  • 41. Algorithm 1. Divide the project scope into epics. 2. Randomly sample one of the epics 3. Analyze how many stories are in the epic. Write down the number of stories. 4. Randomly sample one of the stories of the epic from p.2 5. Estimate the story points for the story from p.4 6. Using formula (3) calculate one estimate of the total story points for the project 7. Repeat points 2-6 between 7 and 11 times 8. Using formula (4) calculate the total story points for the project
  • 42. Following is a calculation with data from a real ScrumDo.com project. When the project finished there were delivered 20 epics, 176 user stories and a total of 573,5 story points.
  • 43. Random epic selector Epic # Number of User Stories inside the epic Random story selector Selected user story Story points for the selected story Epic's selection probability Story's selection probability Conditional selection probability Estimated total story points 0,09123 6 2 14 0,57786821 7 313067 5 0,05 0,071429 0,0035714 1400,00 0,69412 8 14 10 0,29687134 2 307842 1 0,05 0,1 0,005 200,00 0,71178 7 15 13 0,21917813 5 302447 1 0,05 0,076923 0,0038462 260,00 0,62331 9 13 6 0,34026452 4 308115 1 0,05 0,166667 0,0083333 120,00 0,89309 3 18 12 0,21872392 6 308016 1 0,05 0,083333 0,0041667 240,00 0,34069 7 8 0,00535048 1 305382 2 0,05 0,125 0,00625 320,00 0,62292 5 13 6 0,89401048 9 325545 8 0,05 0,166667 0,0083333 960,00
  • 44. Total Story points for the project Estimated project size 500 Number of RBS paths 7 SD 183 Median 260
  • 45. Applying RBS for estimating total number of tasks in a project
  • 46. When we size each user story in the number of tasks then the project size is the total of all tasks.
  • 47. Tasks based sizing model Product User Story 1 Epic 1 Epic 2 User Story N Task 1 Task N… … …
  • 48. Product User Story 1 Epic 1 Epic N User Story N Task 1 Task N … … …
  • 49. Mapping Product Trunk Epic Branch User Story Terminal Shoot Number of tasks per User story Number of Fruit on the Shoot
  • 50. Estimate of the of total number of tasks for a project Where: 𝑋𝑖 is an unbiased estimator of the population total of the of story points for the project. 𝑋𝑖 = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑎𝑠𝑘𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐸𝑝𝑖𝑐𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐 (5)
  • 51. Total number of tasks for the project 𝑋 = 1 𝑚 𝑖=1 𝑚 𝑋𝑖 (6) Where: 𝑋 is an unbiased estimator of the total number of tasks for the project. m is the number of estimates done
  • 52. Algorithm 1. Divide the project scope into epics. 2. Randomly sample one of the epics 3. Analyze how many stories are in the sampled epic. Write down the number of stories. 4. Randomly sample one of the stories of the epic from p.2 5. Establish the tasks for the story from p.4 6. Using formula (5) calculate one estimate of the total number of tasks for the project 7. Repeat points 2-6 between 7 and 11 times 8. Using formula (6) calculate the total number of tasks for the project
  • 53. Following is a calculation with data from a real project. When the project finished in the backlog there were 15 epics, 720 user stories and a total of 5591 tasks.
  • 54. Random epic selector Epic # Number of User Stories inside the epic Random story selector Selected user story Tasks for the selected story Epic's selection probability Story's selection probability Conditional selection probability Estimated total tasks 0,887642 14 42 0,649722871 545769 12 0,066667 0,02381 0,0015873 7560,00 0,763994 12 51 0,017087888 506420 8 0,066667 0,019608 0,0013072 6120,00 0,897303 14 42 0,571814178 541008 1 0,066667 0,02381 0,0015873 630,00 0,542088 9 37 0,559320969 544703 2 0,066667 0,027027 0,0018018 1110,00 0,510646 8 48 0,360797137 527216 14 0,066667 0,020833 0,0013889 10080,00 0,457058 7 46 0,892151817 564853 14 0,066667 0,021739 0,0014493 9660,00 0,736139 12 51 0,972991924 567925 0 0,066667 0,019608 0,0013072 0,00
  • 55. Total Number of tasks for the project Estimated project size 5023 Number of RBS paths 7 SD 1652 Median 6120
  • 56. Applying RBS for estimating total number of BDD scenarios in a project
  • 57. Scenario based sizing model Product User Story Epic Epic User Story Scenario Scenario… … …
  • 58. Product User Story Epic Epic User Story Scenario Scenario … … …
  • 59. What is a Scenario? • A scenario is an acceptance test customers could understand written in their ordinary business language. It is a formal test conducted to determine whether or not the system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. • A User Story can have one or more scenarios
  • 60. When we size each user story in the number of scenarios then the project size is the total of all scenarios. If we slice stories down to needing only a single acceptance test then the number of user stories will equal the number of scenarios.
  • 61. Mapping Product Trunk Epic Branch User Story Terminal Shoot Number of Scenarios per User story Number of Fruit on the Shoot
  • 62. An estimate of the of total number of scenarios for a project Where: 𝑋𝑖 is an estimate of the total number of scenarios for the project. 𝑋𝑖 = 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑐𝑒𝑛𝑎𝑟𝑖𝑜𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑦 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝐸𝑝𝑖𝑐𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑗𝑒𝑐𝑡 1 𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑈𝑠𝑒𝑟 𝑠𝑡𝑜𝑟𝑖𝑒𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑠𝑎𝑚𝑝𝑙𝑒𝑑 𝐸𝑝𝑖𝑐 (7)
  • 63. Total number of scenarios for the project 𝑋 = 1 𝑚 𝑖=1 𝑚 𝑋𝑖 (8) Where: 𝑋 is an unbiased estimator of the total number of scenarios for the project. m is the number of estimates done
  • 64. Algorithm 1. Divide the project scope into epics. 2. Randomly sample one of the epics 3. Analyze how many stories are in the sampled epic. Write down the number of stories. 4. Randomly sample one of the stories of the epic from p.2 5. Establish the scenarios for the story from p.4 6. Using formula (7) calculate an estimate of the total number of scenarios for the project 7. Repeat points 2-6 between 7 and 11 times 8. Using formula (8) calculate the total number of scenarios for the project
  • 65. Conclusion • RBS is a forecasting technique for sizing software projects without prior identification, analysis and sizing of every single user story. Project size may be measured in story points, number of tasks, BDD scenarios. • By running RBS on past data from actual projects, we found that the RBS would have estimated the same size without all the usual effort. • RBS helps us to reduce uncertainty regarding “how much” software needs to be developed when we have to make portfolio related decisions, provide quotations on prospect projects etc.
  • 66. Dimitar Bakardzhiev is the Managing Director of Taller Technologies Bulgaria and an expert in driving successful and cost-effective technology development. As a Lean-Kanban University (LKU)- Accredited Kanban Trainer (AKT) and avid, expert Kanban practitioner, Dimitar puts lean principles to work every day when managing complex software projects with a special focus on building innovative, powerful mobile CRM solutions. Dimitar has been one of the leading proponents and evangelists of Kanban in his native Bulgaria and has published David Anderson’s Kanban book as well as books by Eli Goldratt and W. Edwards Deming in the local language. @dimiterbak

Editor's Notes

  1. It means that to plan initiatives, features or epics you have to break them down to user stories. It requires quite significant analysis process and it can easily happen that great part of this effort will be a pure waste. Priorities of initiatives and features can change and feature will not be started at all. This practice is hard to follow.
  2. http://senate.universityofcalifornia.edu/inmemoriam/RaymondJessen.htm Randomized branch sampling (RBS) was first proposed by Jessen (Jessen, 1955). It is a multi-stage unequal probability sampling method. The technique was designed to efficiently estimate the total number of fruit (oranges) found in the canopy of a tree while only having to count the fruit on select branches. RBS is a method for sampling tree branches which does not require prior identification of all branches, and provides the sampler with unbiased tree level estimates. As an example, we suppose that it is of interest to estimate the total number of fruit on a apple tree. The number of fruit on the tree is the population and it is desired to select a sample from which an estimate of the population's number can be obtained. In the case of the apple tree, the samples to be selected are the terminal branches upon which the fruit is typically borne.
  3. RBS is a method for sampling tree branches which does not require prior identification of all branches, and provides the sampler with unbiased tree level estimates. With RBS, branches are selected from the tree by creating a pathway which starts at the base of the bole and travels upwards. Every time the path encounters a fork (branching), selection probabilities are calculated proportional to the size of each limb emanating from the fork. A random number is then generated to determine the limb through which the path continues to travel along. This procedure is repeated up the tree until the path selects a terminal branch which is small enough that it becomes easy to measure the number of fruit. A tree level estimate is derived by combining the number of fruit from the terminal branch and the associated probability with which that particular branch was selected. RBS is an advantageous sampling scheme in the field because it does not require the user to take measurements on, or to have prior knowledge of all branches in the crown.
  4. Epics are the highest-level requirements artifact. Epics are not implemented directly but are broken into user stories, which are the primitives used by the teams for actual coding and testing. ‹‹ Epics are not directly testable. Instead, they are tested by the acceptance tests associated with the user stories that implement them. When breaking an epic down do not consider how many steps the workflow will consist of. Consider the user story the only work item type at the lowest level of granularity.
  5. The assumption behind using RBS for software development is that project size depends on the context – the customer, the people developing the product and the methodology they use for managing the requirements, breaking down the product into stories and sizing a story. It doesn’t matter what the methodology is – Planning Poker (Cohn, 2005), Product Sashimi (Rainsberger, 2012), Behavior Driven Development (North, 2006), Feature Driven Development (Coad, 1999) etc. What is important is the methodology to be cohesive, explicit and to be consistently applied during project execution when we slice the requirements into user stories. RBS estimates the original scope. Then there is a relationship between the original and eventual (emergent, expanded) scope which we only identify when the results of the execution of our plans meet the customer). The scope expansion occurs when the requirement change risk materializes.
  6. I teamed up with Ajay Reddy and the CodeGenesys/ScrumDo.com team to test the correlation between project sizes estimated using RBS and the actual story points estimated in thirteen randomly selected projects from the pool of real Scrumdo projects that met the following criteria: Epic-Story-Task breakdowns Successful release history Stable teams (systems) Have an active ScrumDo coach or scrum master Commercial projects Have a minimum size of 12 epics/features. As seen on the scatterplot below we found a very strong correlation between project sizes estimated using RBS and the actual number of stories estimated for some real Scrumdo projects.
  7. Mapping Product = Trunk Epic = Branch User Story = Terminal Shoot
  8. “Randomly sample at least 7 and ideally 11 of the customer defined requirements and analyze them into work items that are meaningful to the development organization. User stories is just one example of a suitable work item type.” “Take the average number of the user stories per saga and multiply it with the number of sagas. The product is the number of user stories for the project.” “replace "user stories" with "work items suitable for the development organization."” http://www.lean-kanban-conference.de/what-happened-2011/predictability-and-measurement-with-kanban/ https://groups.yahoo.com/neo/groups/kanbandev/conversations/messages/16704
  9. Epics are the highest-level requirements artifact. Epics are not implemented directly but are broken into user stories, which are the primitives used by the teams for actual coding and testing. ‹‹ Epics are not directly testable. Instead, they are tested by the acceptance tests associated with the user stories that implement them. When breaking an epic down do not consider how many steps the workflow will consist of. Consider the user story the only work item type at the lowest level of granularity.
  10. Product = Trunk Epic = Branch User Story = Terminal Shoot Story points = Number of Fruit on the shoot
  11. The delivery time per scenario will come from the historical delivery rate of the system.
  12. Mapping Product = Trunk Epic = Branch User Story = Terminal Shoot Number of tasks per User story = Number of Fruit on the Shoot
  13. The delivery time per scenario will come from the historical delivery rate of the system.
  14. Mapping Product = Trunk Epic = Branch User Story = Terminal Shoot Number of Scenarios per User story = Number of Fruit on the Shoot
  15. Thank you very much for your attention. My hope is that you will start using this approach for high-level planning your next project. Dimitar Bakardzhiev is the Managing Director of Taller Technologies Bulgaria and an expert in driving successful and cost-effective technology development. As a Lean-Kanban University (LKU)-Accredited Kanban Trainer (AKT) and avid, expert Kanban practitioner, Dimitar puts lean principles to work every day when managing complex software projects with a special focus on building innovative, powerful mobile CRM solutions. Dimitar has been one of the leading proponents and evangelists of Kanban in his native Bulgaria and has published David Anderson’s Kanban book as well as books by Eli Goldratt and W. Edwards Deming in the local language. He is also a lecturer and frequent speaker at numerous conferences and his passion is to educate audiences on the benefits of lean principles and agile methodologies for software development.