Analyzing all the stories in a project requires significant time and it can easily happen that great part of this effort will be pure waste. Priorities of features change and some features would not be developed at all. The question many of us in software development try to answer is - how can we estimate the size of a project without prior identification and analysis of every single user story? The answer is needed for portfolio related decisions, quotations on prospect projects etc.
You want to estimate the size of your project but you don't want to analyze all user stories in it? Try Randomized Branch Sampling!
How to Write Scientific Research Article? A General GuideNabeel Salih Ali
A general guide for writing a scientific research article, present all methods and strategies regarding article structure, common research sections, IMRAD techniques and so on.
How to Write Scientific Research Article? A General GuideNabeel Salih Ali
A general guide for writing a scientific research article, present all methods and strategies regarding article structure, common research sections, IMRAD techniques and so on.
Research methodology at students of university
Objectives
Meaning of variables
Types of variables (independent, dependent )
Concept of hypothesis
Sources of hypothesis
Types of hypothesis
Characteristics of a good hypothesis
How to Write A Research Paper? - Useful Tips For Successful Academic WritingAlina Stepanova
Academic writing is a style of writing that makes your work easier to read and understand. No matter how well versed you are with grammar, punctuation and other areas that come into play for writing papers, making a mistake with the content hurts your overall academic writing.
The purpose of academic writing is to make your work clear and understandable to whoever is reading and/or evaluating it. Another important part of academic writing is ensuring that your work is fully and correctly referenced. The tips in Research Leap Manual on Academic Writing contain practical methods of creating an academic paper which your readers will easily follow. With this guide, you will learn how to:
Choose a topic
Think (brainstorm)
Build an organized text
Write good introduction, thesis, body and conclusion parts
Format your writing
Reference your work
Get expert academic writing tips straight to your inbox, and become a better academic writer. Download our PDF manual right now from the attachment.
Your comment and feedback are highly appreciated. To receive other tips and manuals, and to expand your research network and access research opportunities, join us on Linked In or FB.
Any student in a high level institution will be usually required to write a variety of dissertations, papers and essays throughout the whole period of their studies.
These writing tasks and assignments will cover a myriad of goals, objectives and purposes.
Chart-form document presenting general guidelines for APA and MLA, along with examples of bot parenthetical, in-text, and Reference or Work Cited list. Excellent resources for college and university students. Canadian content.
This guide on Critical Writing will help you understand how to communicate your critical thinking in your assignments which is very important to succeeding in your academic career.
Practical Scrum Workshop by SEO Rescue. A Practical hands on approach to training. please contact Shaf Cangil on linkedin or www.seorescuenow.co.uk to book a training session.
Research methodology at students of university
Objectives
Meaning of variables
Types of variables (independent, dependent )
Concept of hypothesis
Sources of hypothesis
Types of hypothesis
Characteristics of a good hypothesis
How to Write A Research Paper? - Useful Tips For Successful Academic WritingAlina Stepanova
Academic writing is a style of writing that makes your work easier to read and understand. No matter how well versed you are with grammar, punctuation and other areas that come into play for writing papers, making a mistake with the content hurts your overall academic writing.
The purpose of academic writing is to make your work clear and understandable to whoever is reading and/or evaluating it. Another important part of academic writing is ensuring that your work is fully and correctly referenced. The tips in Research Leap Manual on Academic Writing contain practical methods of creating an academic paper which your readers will easily follow. With this guide, you will learn how to:
Choose a topic
Think (brainstorm)
Build an organized text
Write good introduction, thesis, body and conclusion parts
Format your writing
Reference your work
Get expert academic writing tips straight to your inbox, and become a better academic writer. Download our PDF manual right now from the attachment.
Your comment and feedback are highly appreciated. To receive other tips and manuals, and to expand your research network and access research opportunities, join us on Linked In or FB.
Any student in a high level institution will be usually required to write a variety of dissertations, papers and essays throughout the whole period of their studies.
These writing tasks and assignments will cover a myriad of goals, objectives and purposes.
Chart-form document presenting general guidelines for APA and MLA, along with examples of bot parenthetical, in-text, and Reference or Work Cited list. Excellent resources for college and university students. Canadian content.
This guide on Critical Writing will help you understand how to communicate your critical thinking in your assignments which is very important to succeeding in your academic career.
Practical Scrum Workshop by SEO Rescue. A Practical hands on approach to training. please contact Shaf Cangil on linkedin or www.seorescuenow.co.uk to book a training session.
Scrumban Demystified. Talk from Agile New England.
A few of the Scrumban Evolutions from Mamamoth bank from the upcoming book on Scrumban.
More excerpts can be found at facebook.com/scrumban
Learn more at scrumban.io
Do you have a case study of applying the Kanban Method in a Scrum context. We want to learn more from your experiments and results. Contact us at info@codegenesys.com
Using Agile and Lean to Stay Ahead in a Tough EconomySally Elatta
This seminar was presented to a group of IT and Business managers and executives on the topic of how to use Agile and Lean methods to stay ahead in the current economic conditions.
Contact me if you would like this presented for your organization.
sally@agiletransformation.com
TEDx Manchester: AI & The Future of WorkVolker Hirsch
TEDx Manchester talk on artificial intelligence (AI) and how the ascent of AI and robotics impacts our future work environments.
The video of the talk is now also available here: https://youtu.be/dRw4d2Si8LA
Practical Agile Analytics: Reduce uncertainty and stop making such a big deal...Steven J. Peters, PhD
These slides focus on analyzing user story size estimates of and actual task hours scrum teams to gauge the uncertainty around those estimates. An approach is suggested for reducing uncertainty and improving user story size estimation accuracy.
Streamlio and IoT analytics with Apache PulsarStreamlio
To keep up with fast-moving IoT data, you need technology that can collect, process and store data with performance and scalability. This presentation from Data Day Texas looks at the technology requirements and how Apache Pulsar can help to meet them.
Since its debut in 2010, Apache Spark has become one of the most popular Big Data technologies in the Apache open source ecosystem. In addition to enabling processing of large data sets through its distributed computing architecture, Spark provides out-of-the-box support for machine learning, streaming and graph processing in a single framework. Spark has been supported by companies like Microsoft, Google, Amazon and IBM and in financial services, companies like Blackrock (http://bit.ly/1Q1DVJH ) and Bloomberg (http://bit.ly/29LXbPv ) have started to integrate Apache Spark into their tool chain and the interest is growing. Unlike other big-data technologies which require intensive programming using Java etc., Spark enables data scientists to work with a big-data technology using higher level languages like Python and R making it accessible to conduct experiments and for rapid prototyping.
In this talk, we will introduce Apache Spark and discuss the key features that differentiate Apache Spark from other technologies. We will provide examples on how Apache Spark can help scale analytics and discuss how the machine learning API could be used to solve large-scale machine learning problems using Spark’s distributed computing framework. We will also illustrate enterprise use cases for scaling analytics with Apache Spark.
Scrum is an agile software methodology for managing product development. Above presentation states how joining the scrum activities ( Roles, artifacts and events ), we form a complete scrum cycle, which helps in developing a flexible and holistic Product.
BTE 320-498 Summer 2017 Take Home Exam (200 poi.docxAASTHA76
BTE 320-498/ Summer 2017
Take Home Exam
(200 points)
Due 6/30/2017 – 11:59pm (No extensions)
Presentation in class Friday June 30 at 5:30 PM
Required Part
1. (a) Explain in English what the following function will do. Explain how it works.
(b) What will be the output if the following calls are made:
whoknows(2) =
whoknows(15) =
whoknows(-3) =
(c) Write a function digitize (using loops) that takes two parameters: one integer
parameter and one bool parameter. The function would print the integer one digit
at a time each on a separate line. If the bool parameter passed were true, the
function would print the digits from the most significant digit to the least
significant. Otherwise, it would print it in the reverse order (least significant to
most significant).
Function Call Output
digitize(1758,true) 1
7
5
8
digitize(1758,false) 8
5
7
1
(d) Write a function (without using loops) that reverses the digits in an integer
and prints out the integer in this reverse form. It is not necessary to calculate the
value of the reverse integer, just print out the digits in reverse order. The function
should be called reverse. Remember to explain your functions, either by adding
comments or using pseudocode or showing how you derived the function. State
any assumptions you make.
2. (a) Write a function, printdivisors, that takes a single integer parameter and prints
all the numbers less that the parameter that are divisors of the parameter (i.e.
divides it without a remainder) including 1. So printdivisors(6) will print 1,2,3.
Note you may use a wrapper function or default parameters.
(b) Write a function, sumdivisors, that takes a single integer parameter and returns
the sum of all the divisors of the parameter (including 1). So sumdivisors(6) will
return 6 as 1+2+3=6. Note you may use a wrapper function or default parameters.
(c) Write a function, allperfects, that takes two parameters, each an integer, in any
order and prints out all the perfect numbers between the lower parameter and the
higher parameter. A perfect number is one is which the sum of its divisors is equal
to the number itself.
Remember to explain your functions, either by adding comments or showing how
you derived the function. State any assumptions you make.
3. (a) Write a recursive function, printZeros, which prints out a series of zeros. The
function takes one parameter and prints out the number of zeros specified by the
parameter. So printZeros(4) will print: 0000 and printZeros(2) will print 00.
(b) Write a recursive function, printZPattern, which prints out a pattern of zeros
as follows:
printZPattern(3) outputs:
000
printZPattern(1) outputs:
0
printZPattern(4) outputs:
0000
00 000
0 00
0
(c) How would you modify your second function to print a mirror pattern, such as
(you do not have to code this one, just explain):
printZPattern2(3) outputs:
000
00
0
00
000
Re ...
This is a still ongoing story of the journey of the organization behind one of the leading IoT edge platforms towards business agility.
Their Agile transformation is going through three distinct phases. First is to Understand and stabilize the teams, then improve design, implementation and delivery to be ”fir-for-purpose” and finally the continuous and never ending phase of making the organization entirely “fit-for-purpose” from a business perspective.
We will present the results from the first phase including their Discovery/Upstream Kanban implementation, their downstream Kanban and how they Support the Agile transformation via enabling cross-team knowledge sharing and alignment on Agile practices between teams.
Defining work items is a challenge. We could argue that a work item is anything that is delivered to the customer.
As much as we've been trying and done some good work on defining user stories over the last decade it’s still a major source of confusion for a lot of projects.
Let’s try another way using examples or scenarios.
Capacity Planning is a process whereby an organization comes together to agree on what they are going to focus on in the medium term. The content is based on the work of Chris Matts.
#NoEstimates project planning using Monte Carlo simulationDimitar Bakardzhiev
Here is the text behind the slides http://www.infoq.com/articles/noestimates-monte-carlo
Here is a video I prepared in order to help people understand how to plan a release using the Monte Carlo simulation in MS Excel http://youtu.be/r38a25ak4co
And here is an Excel file to show how Monte Carlo is done http://modernmanagement.bg/data/NoEstimate_Project_Planning_MonteCarlo.xlsx
Here are the SIPs for the baseline project http://modernmanagement.bg/data/SIPs_MonteCarlo_FVR.xlsx
Here is the planing simulation in Excel http://modernmanagement.bg/data/High_Level_Project_Planning.xlsx
The video ( after the 3:00 minute) http://youtu.be/GE9vrJ741WY on how to use the Excel files
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
In the ever-evolving landscape of technology, enterprise software development is undergoing a significant transformation. Traditional coding methods are being challenged by innovative no-code solutions, which promise to streamline and democratize the software development process.
This shift is particularly impactful for enterprises, which require robust, scalable, and efficient software to manage their operations. In this article, we will explore the various facets of enterprise software development with no-code solutions, examining their benefits, challenges, and the future potential they hold.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
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
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.
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
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
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
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
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…
…
…
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.
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
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.
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.
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.
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.
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.
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.
Mapping
Product = Trunk
Epic = Branch
User Story = Terminal Shoot
“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
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.
Product = Trunk
Epic = Branch
User Story = Terminal Shoot
Story points = Number of Fruit on the shoot
The delivery time per scenario will come from the historical delivery rate of the system.
Mapping
Product = Trunk
Epic = Branch
User Story = Terminal Shoot
Number of tasks per User story = Number of Fruit on the Shoot
The delivery time per scenario will come from the historical delivery rate of the system.
Mapping
Product = Trunk
Epic = Branch
User Story = Terminal Shoot
Number of Scenarios per User story = Number of Fruit on the Shoot
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.