SlideShare a Scribd company logo
1 of 13
Download to read offline
Murray Cantor, Ph.D.
Development Organization Management Consultant
Release Planning Using the Bayesian
Agile Planner (BAP)
December 2015
By:
Murray Cantor, Ph.D.
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 2 of 13
Introduction
Often, businesses have what, to some, are contradictory development team goals:
1. Creating delivery plans that can be counted on to support business plans;
2. Employing agile methods for improving development efficiency;
The key mechanism for achieving these goals, for coordinating the needs of the business
with the delivery capability of an agile team is release planning, and determining what
features or epics can be planned for in the next release. However, release planning is
especially challenging for Agile teams, since both the size of the effort and the team
velocity has some degree of uncertainty. The Bayesian Agile Planner (BAP) is designed
to facilitate release planning, fully accounting for these uncertainties.
Agile teams plan releases in terms of both large and small chunks of functionality. Large
chunks are usually called features or epics. Features are used in product or system
planning to specify, in broad terms, what the system or product does.
Some examples of features:
 Online check depositing is a feature of a mobile bank portal;
 Printing to .pdf format is a feature of a word processor;
 Displaying usage analytics is a feature of a Web hosting system;
At the highest level, an Agile release plan is the set of features, either partial or
complete, that will be delivered on a certain date. Often, the business needs the
development team’s assurance that the planned features will be available in order to
support other business plans.
Small chunks of functionality are called stories, pieces of functionality that:
1. Describe some small piece of functionality from the users’ perspective;
2. Is containable in a sprint, usually by a single programmer;
In Agile, the features or epics are decomposed into stories. Planning to deliver some of
the functionality of a feature entails specifying a subset of that feature’s stories that
deliver the functionality. Therefore, a high-level release plan consists of a set of features,
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 3 of 13
and a detailed Agile release plan consists of the features, and for each feature, the
included stories. The release planning challenge is to find plans that are not:
 Too aggressive – so large that it is unlikely the team can deliver as planned; or
 Too conservative – so small that the team is not delivering sufficient value to the
business;
BAP is designed to help Management and the team agree on the ‘just right’ plan.
Any release plan can be characterized as a sort of bet made by the development team
and the business. They are betting that the team will deliver the planned content on the
delivery date. The team could increase its odds of winning by committing to minimal
content, but this can result in the team delivering less value than it might. On the other
hand, committing too much content in the release can negatively impact the business
process with many missed deadlines.
What follows describes how BAP uses Agile planning methods to compute the odds of
winning the bet. This begins with a discussion of uncertainty.
Uncertainty, Innovation, and Learning
Often, the role of software and IT departments is to deliver and maintain novel,
innovative solutions to the business and/or to the market. By definition, novel things are
new, and consequently not completely understood. To deliver anything novel requires
experimentation, false starts, and learning. At the onset of a novel effort, the team has
much to learn. The more novel the effort, the more the team has to learn.
It stands to reason that a team is unable to make predictions with certainty for novel
effort – they simply do not know enough. Asking the team to commit to a firm, fixed
delivery plan for a novel effort is unreasonable and inconsistent with Agile principles
and practices. A key insight behind BAP is that the certainty of estimates will vary with
the team knowledge of what it takes to deliver. This relationship between novelty and
uncertainty raises a dilemma for managing a development team. The stakeholders need
both:
 Novelty – Creative solutions to business problems or market competiveness;
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 4 of 13
 Certainty – The ability to make business plans based on the availability of the
code;
You cannot have both! Agile release planning is not an oxymoron but a way to find the
balance between the novelty and certainty. BAP is sensitive to the team’s learning and
provides the means for both sides to see the odds of winning the bet and agreeing on the
‘just right’ balance.
BAP Output
Reasoning about bets entails probabilities. As discussed in the following section, BAP
uses the team’s best understanding of the effort sizings and team velocity to give the
probability of delivering on time. The results are given as red/green diagrams and
associated betting tables (see Figures 1, 2, and 3 below).
The Red/Green Diagram
The red/green diagram shows the range of outcomes for the release effort, along with
the probability of the outcomes. The outcomes are described in terms of how early or
late the release is expected to be. The X-axis’ zero point is the target date; negative
values are weeks prior to the target date (early), and positive values are weeks after the
target date (late). Early dates are shown as green areas in the chart; late dates are shaded
in red.
Interpreting the charts:
 If the chart is all green (see Figure 1), the plan is too conservative. Committing to
this plan essentially entails no risk.
 If the chart is all red (see Figure 2), the plan is too aggressive with no chance of
delivering on time.
 If the chart is a mixture of red and green, then there is some chance of delivering
on time. The more green, the higher the odds and the safer the bet. For example,
Figure 3 is an example of a ‘just right’ plan.
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 5 of 13
Figure 1: A too conservative plan.
Figure 2: A too aggressive plan.
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 6 of 13
Figure 3: A ‘just right’ plan.
The ratio of red to green that makes up a ‘just right’ plan depends on your
organization’s risk appetite.
A plan’s mixture of red and green is supported by the betting table values.
The Betting Table
BAP output also includes a different betting perspective on the plan. If you were to bet
on when you were to deliver on the planned content, what would be a good bet? The
betting table provides of view of this from an odds-maker’s perspective.
If you were an odds-maker, you would set the odds as:
 Winning the bet that the team will deliver the number of weeks late (recall,
negative is early) in column 1 is three to one odds against. This is the poor bet.
 Winning the bet that the team will deliver on the weeks late in column 2 as even;
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 7 of 13
 Winning the bet that the team will deliver the number of weeks late in the third
column is three to one for. This is the good bet.
For example, it is an even bet that the plan in Figure 1 would be 3 weeks early. Similarly,
there are three to one odds that the plan in Figure 3 would be on time.
Eliciting Uncertain Values
As discussed above, asking the team for a precise estimate on the time or effort it will
take to do something novel is not sensible. However, the team members do have some
idea, if imprecise, of the sizing. BAP leverages the ideas of Douglas Hubbard1 by asking
the estimator not for a number but, rather, the triplet of: {low guess, likely guess, high
guess} of the sizing.
For example, suppose a team lead and a developer were having a discussion on how
long a task would take. The conversation could go like this:
The lead asks, “How long will it take to do the work?”
The worker says, “Beats me. I have never done this before.”
The lead then might say, “Well, could you get it done in a year?”
If the worker is being constructive and trusting, she could say, “I know I could get it
done in a year, probably sooner.”
Lead: “Great, what is the longest it might take?”
Developer: “Let’s say six months.”
Lead: “Okay, if all goes well, what is the least time?”
Developer: “I would say three months.”
Lead: “Fine, and what is your best guess?”
Developer: “My gut feeling is four months, but I will have a better estimate after I find
out a few things.”
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 8 of 13
The lead now has the best possible information. She now knows it is very unlikely to be
done in under three months, and it is a very likely that it will be available before six. The
most likely sizing is four months. The triplet {3 months, 4 months, 6 months} is better
information than any single number. It guides the lead how to place her bets, what sort of
risks she is assuming. Further, the conversation can be followed up by the following
discussion:
Lead says, “That is a pretty wide estimate. What would it take for you to be more
certain? What information would you need?”
Developer might say something like, “We are using some technology that we have never
used before. Once we have used it, I will know better how much effort is required.”
Lead then says, “Let’s start immediately experimenting with the technology and revisit
the estimate when you know more.”
The same sort of discussion applies to the sizes of stories and features; they are also
uncertain. The story points, too, should be specified as triplets, {low, medium, high}.
Note that eliciting the story points as triples is a small modification of planning poker, a
standard Agile practice2.
In planning poker, each member estimates the size of the story using planning poker
cards that are valued using modified Fibonacci numbers (1, 2, 3, 5, 8, 13, 21, 40…). Each
team, perhaps after some discussion, settles on the middle value of the choices. For
example, for a given story, if some team members choose 5 story points, some 8, and
some 13, the team will settle on 8 story points. If there are more extreme choices, those
are ignored. Note that even though the team has settled on value, the team, overall, is
uncertain as to the size of the story. Rather than ignoring this uncertainty, the team can
use the range of values they came up with to specify the triplet.
It is important to note that providing the triplet is generally less work than standard
planning poker. The team can agree on the triplet more readily than the single value.
2 See, for example, https://en.wikipedia.org/wiki/Planning_poker
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 9 of 13
BAP Input
For each planning scenario, BAP requires a spreadsheet of the feature sizes, specified as
the triplet.
There are two cases:
1) Decomposed – The feature is decomposed into stories, each story sizing as a
triplet {high, middle, low}. For example, the input for a planning poker 8 story-
point story would be [5, 8, 13}. BAP is not restricted to the planning poker
triplets. For example, the team could enter {10, 15, 15}. Also, if the team is entirely
certain of the size, they could use the same number for each value of the triplet.
For example, if all agree that the story size is 8, they can specify {8, 8, 8}.
2) Not Decomposed – If it is early in the planning cycle, a feature may be under
consideration for inclusion but not yet decomposed. In this case, the team
provides the triplet for the overall feature. For example, a feature size could be
the triplet {70, 90, 120}.
BAP also requires the following project data:
 For partially implemented features, just a list of which stories to include;
 An estimate of the team’s velocity, also provided as a triplet {best case, likely
case, worse case}. For example, the team expects to deliver about 40 story points
per sprint but believe that they might be able to do as much as 60. At a
minimum, they can be counted on to deliver 25. In this case, the velocity would
be entered as the triplet {25, 50, 60}.
 The number of weeks in the plan;
After specifying size, velocity and project data, one can then use BAP to generate the
likelihood of successful completion for different scenarios, combinations of features and,
if entered, stories per feature. Figures 1, 2, 3 are examples of different scenarios.
To specify more than one scenario, one would enter:
1) A list of scenarios;
2) For each scenario, which features to include and which to exclude;
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 10 of 13
3) If features are decomposed, for each scenario and feature, which stories to
include and exclude;
Release Planning and Tracking
Unlike most parameter-based estimation tools, BAP is useful throughout the lifecycle of
the program:
 Early planning
It is often important to make planning decisions about a feature without
investing the time and effort for the feature decomposition. Using the Hubbard-
based techniques and the undecomposed version of BAP, one can get a good-
enough estimate on the long-term prospects of delivering a set of large features
and perhaps decide which ones warrant further decomposition. For example,
one might discover a desired feature is an even bet, but the safe bet is far too late.
In short, there is a lot of uncertainty. In this case, you might decide to invest in
the decomposition to reduce the uncertainty to make a more-informed decision.
 Detailed planning
In shorter-term release plans (i.e. 3 to 6 months), you may have to select from a
backlog of decomposed features. As discussed above, in this case, the decision of
what features to include should be based on the business’ risk appetite and the
criticality of the features. Detailed plans can include partial delivery of a feature
by choosing a subset of the stories.
 Marking progress
In a well-managed Agile effort, the odds of completing on-time should improve.
Once the release is underway, BAP can and should be applied to see if the bets’
odds are increasing for making the delivery date.
In well-managed innovation-oriented programs, one should expect the width of the
red/green to narrow, reflecting the certainty that comes from learning. An example of
the BAP output for a well-run project can be seen in figure 4. In this example, the team
decided to take on a risky, but high value, project. By identifying and working off the
riskier items (those with widest triplet), they were able to improve the bet by the end of
sprint 2. Continuing in the same manner, they removed the risk by the end of sprint 4.
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 11 of 13
These charts can be used to effectively communicate the actual status of the project to
Management and avoiding the ‘green–green–green–red’ anti-pattern. This anti-pattern
consists of the team taking on the less risky stories early, the low hanging fruit, to show
progress. They report ‘green’ status at each review. When they finally get to the risky
stories toward the end of the project, they suddenly have to go red. By then, it is too late
for the business to adjust easily. A bad time is had by all.
Figure 4: An example of the BAP output after several sprints of a project.
Adopting BAP
BAP is available as a standalone Web service or in conjunction with a broader release
planning consulting engagement.
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 12 of 13
The BAP Service
Once subscribed to the Web service, the client uploads an Excel spreadsheet with the
inputs described above, and various alternative scenarios. The service returns the
Red/Green/Betting diagrams as shown in the various figures above as .pdf files. It also
returns a workbook with the Scenarios Summary statistics and Weeks-late distribution.
Contact Murray at mcantor@murraycantor.com.
Release Planning Consulting
While BAP is a standalone service, one of its advantages is that it implements release
planning best practices, such as:
 Maintaining a backlog of features of stories;
 Sizings with uncertainties;
 Tracking the teams’ velocity;
 Communicating clearly the risks and status of the release;
I provide release-planning services to help organizations plan for and take full
advantage of the power of BAP. Release planning engagements initially begin with
interaction and reporting as described above under The BAP Service. As with all
consulting engagements, the objective is knowledge transfer and empowerment for my
clients.
Once the decision to adopt BAP for Release Planning is made, the next task is to
integrate the tool and its use into the organization’s release-planning process and
infrastructure.
The engagement often begins with a one-day workshop with the goal of embedding the
use of BAP in the organization’s day-to-day release planning. At the end of the
workshop, the organization and my team will have defined a plan to customize BAP,
develop the BAP-enabled release-planning workflow to populate the model, develop the
release-plan alternatives, generate the reports to support the process and train the staff.
The specific workshop topics include:
Murray Cantor, Ph.D. BAP for Release Planning December 2015
Murray Cantor, Ph.D.
mcantor@murraycantor.com
(781) 801-9510
Page 13 of 13
 Review of the organization’s release-planning process;
 Use of the BAP report in the process;
 Presentation of scenario building;
 Development of the specific workflow;
 Review of needed and available data;

More Related Content

Recently uploaded

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Recently uploaded (20)

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Release Planning Using BAP

  • 1. Murray Cantor, Ph.D. Development Organization Management Consultant Release Planning Using the Bayesian Agile Planner (BAP) December 2015 By: Murray Cantor, Ph.D.
  • 2. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 2 of 13 Introduction Often, businesses have what, to some, are contradictory development team goals: 1. Creating delivery plans that can be counted on to support business plans; 2. Employing agile methods for improving development efficiency; The key mechanism for achieving these goals, for coordinating the needs of the business with the delivery capability of an agile team is release planning, and determining what features or epics can be planned for in the next release. However, release planning is especially challenging for Agile teams, since both the size of the effort and the team velocity has some degree of uncertainty. The Bayesian Agile Planner (BAP) is designed to facilitate release planning, fully accounting for these uncertainties. Agile teams plan releases in terms of both large and small chunks of functionality. Large chunks are usually called features or epics. Features are used in product or system planning to specify, in broad terms, what the system or product does. Some examples of features:  Online check depositing is a feature of a mobile bank portal;  Printing to .pdf format is a feature of a word processor;  Displaying usage analytics is a feature of a Web hosting system; At the highest level, an Agile release plan is the set of features, either partial or complete, that will be delivered on a certain date. Often, the business needs the development team’s assurance that the planned features will be available in order to support other business plans. Small chunks of functionality are called stories, pieces of functionality that: 1. Describe some small piece of functionality from the users’ perspective; 2. Is containable in a sprint, usually by a single programmer; In Agile, the features or epics are decomposed into stories. Planning to deliver some of the functionality of a feature entails specifying a subset of that feature’s stories that deliver the functionality. Therefore, a high-level release plan consists of a set of features,
  • 3. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 3 of 13 and a detailed Agile release plan consists of the features, and for each feature, the included stories. The release planning challenge is to find plans that are not:  Too aggressive – so large that it is unlikely the team can deliver as planned; or  Too conservative – so small that the team is not delivering sufficient value to the business; BAP is designed to help Management and the team agree on the ‘just right’ plan. Any release plan can be characterized as a sort of bet made by the development team and the business. They are betting that the team will deliver the planned content on the delivery date. The team could increase its odds of winning by committing to minimal content, but this can result in the team delivering less value than it might. On the other hand, committing too much content in the release can negatively impact the business process with many missed deadlines. What follows describes how BAP uses Agile planning methods to compute the odds of winning the bet. This begins with a discussion of uncertainty. Uncertainty, Innovation, and Learning Often, the role of software and IT departments is to deliver and maintain novel, innovative solutions to the business and/or to the market. By definition, novel things are new, and consequently not completely understood. To deliver anything novel requires experimentation, false starts, and learning. At the onset of a novel effort, the team has much to learn. The more novel the effort, the more the team has to learn. It stands to reason that a team is unable to make predictions with certainty for novel effort – they simply do not know enough. Asking the team to commit to a firm, fixed delivery plan for a novel effort is unreasonable and inconsistent with Agile principles and practices. A key insight behind BAP is that the certainty of estimates will vary with the team knowledge of what it takes to deliver. This relationship between novelty and uncertainty raises a dilemma for managing a development team. The stakeholders need both:  Novelty – Creative solutions to business problems or market competiveness;
  • 4. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 4 of 13  Certainty – The ability to make business plans based on the availability of the code; You cannot have both! Agile release planning is not an oxymoron but a way to find the balance between the novelty and certainty. BAP is sensitive to the team’s learning and provides the means for both sides to see the odds of winning the bet and agreeing on the ‘just right’ balance. BAP Output Reasoning about bets entails probabilities. As discussed in the following section, BAP uses the team’s best understanding of the effort sizings and team velocity to give the probability of delivering on time. The results are given as red/green diagrams and associated betting tables (see Figures 1, 2, and 3 below). The Red/Green Diagram The red/green diagram shows the range of outcomes for the release effort, along with the probability of the outcomes. The outcomes are described in terms of how early or late the release is expected to be. The X-axis’ zero point is the target date; negative values are weeks prior to the target date (early), and positive values are weeks after the target date (late). Early dates are shown as green areas in the chart; late dates are shaded in red. Interpreting the charts:  If the chart is all green (see Figure 1), the plan is too conservative. Committing to this plan essentially entails no risk.  If the chart is all red (see Figure 2), the plan is too aggressive with no chance of delivering on time.  If the chart is a mixture of red and green, then there is some chance of delivering on time. The more green, the higher the odds and the safer the bet. For example, Figure 3 is an example of a ‘just right’ plan.
  • 5. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 5 of 13 Figure 1: A too conservative plan. Figure 2: A too aggressive plan.
  • 6. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 6 of 13 Figure 3: A ‘just right’ plan. The ratio of red to green that makes up a ‘just right’ plan depends on your organization’s risk appetite. A plan’s mixture of red and green is supported by the betting table values. The Betting Table BAP output also includes a different betting perspective on the plan. If you were to bet on when you were to deliver on the planned content, what would be a good bet? The betting table provides of view of this from an odds-maker’s perspective. If you were an odds-maker, you would set the odds as:  Winning the bet that the team will deliver the number of weeks late (recall, negative is early) in column 1 is three to one odds against. This is the poor bet.  Winning the bet that the team will deliver on the weeks late in column 2 as even;
  • 7. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 7 of 13  Winning the bet that the team will deliver the number of weeks late in the third column is three to one for. This is the good bet. For example, it is an even bet that the plan in Figure 1 would be 3 weeks early. Similarly, there are three to one odds that the plan in Figure 3 would be on time. Eliciting Uncertain Values As discussed above, asking the team for a precise estimate on the time or effort it will take to do something novel is not sensible. However, the team members do have some idea, if imprecise, of the sizing. BAP leverages the ideas of Douglas Hubbard1 by asking the estimator not for a number but, rather, the triplet of: {low guess, likely guess, high guess} of the sizing. For example, suppose a team lead and a developer were having a discussion on how long a task would take. The conversation could go like this: The lead asks, “How long will it take to do the work?” The worker says, “Beats me. I have never done this before.” The lead then might say, “Well, could you get it done in a year?” If the worker is being constructive and trusting, she could say, “I know I could get it done in a year, probably sooner.” Lead: “Great, what is the longest it might take?” Developer: “Let’s say six months.” Lead: “Okay, if all goes well, what is the least time?” Developer: “I would say three months.” Lead: “Fine, and what is your best guess?” Developer: “My gut feeling is four months, but I will have a better estimate after I find out a few things.”
  • 8. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 8 of 13 The lead now has the best possible information. She now knows it is very unlikely to be done in under three months, and it is a very likely that it will be available before six. The most likely sizing is four months. The triplet {3 months, 4 months, 6 months} is better information than any single number. It guides the lead how to place her bets, what sort of risks she is assuming. Further, the conversation can be followed up by the following discussion: Lead says, “That is a pretty wide estimate. What would it take for you to be more certain? What information would you need?” Developer might say something like, “We are using some technology that we have never used before. Once we have used it, I will know better how much effort is required.” Lead then says, “Let’s start immediately experimenting with the technology and revisit the estimate when you know more.” The same sort of discussion applies to the sizes of stories and features; they are also uncertain. The story points, too, should be specified as triplets, {low, medium, high}. Note that eliciting the story points as triples is a small modification of planning poker, a standard Agile practice2. In planning poker, each member estimates the size of the story using planning poker cards that are valued using modified Fibonacci numbers (1, 2, 3, 5, 8, 13, 21, 40…). Each team, perhaps after some discussion, settles on the middle value of the choices. For example, for a given story, if some team members choose 5 story points, some 8, and some 13, the team will settle on 8 story points. If there are more extreme choices, those are ignored. Note that even though the team has settled on value, the team, overall, is uncertain as to the size of the story. Rather than ignoring this uncertainty, the team can use the range of values they came up with to specify the triplet. It is important to note that providing the triplet is generally less work than standard planning poker. The team can agree on the triplet more readily than the single value. 2 See, for example, https://en.wikipedia.org/wiki/Planning_poker
  • 9. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 9 of 13 BAP Input For each planning scenario, BAP requires a spreadsheet of the feature sizes, specified as the triplet. There are two cases: 1) Decomposed – The feature is decomposed into stories, each story sizing as a triplet {high, middle, low}. For example, the input for a planning poker 8 story- point story would be [5, 8, 13}. BAP is not restricted to the planning poker triplets. For example, the team could enter {10, 15, 15}. Also, if the team is entirely certain of the size, they could use the same number for each value of the triplet. For example, if all agree that the story size is 8, they can specify {8, 8, 8}. 2) Not Decomposed – If it is early in the planning cycle, a feature may be under consideration for inclusion but not yet decomposed. In this case, the team provides the triplet for the overall feature. For example, a feature size could be the triplet {70, 90, 120}. BAP also requires the following project data:  For partially implemented features, just a list of which stories to include;  An estimate of the team’s velocity, also provided as a triplet {best case, likely case, worse case}. For example, the team expects to deliver about 40 story points per sprint but believe that they might be able to do as much as 60. At a minimum, they can be counted on to deliver 25. In this case, the velocity would be entered as the triplet {25, 50, 60}.  The number of weeks in the plan; After specifying size, velocity and project data, one can then use BAP to generate the likelihood of successful completion for different scenarios, combinations of features and, if entered, stories per feature. Figures 1, 2, 3 are examples of different scenarios. To specify more than one scenario, one would enter: 1) A list of scenarios; 2) For each scenario, which features to include and which to exclude;
  • 10. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 10 of 13 3) If features are decomposed, for each scenario and feature, which stories to include and exclude; Release Planning and Tracking Unlike most parameter-based estimation tools, BAP is useful throughout the lifecycle of the program:  Early planning It is often important to make planning decisions about a feature without investing the time and effort for the feature decomposition. Using the Hubbard- based techniques and the undecomposed version of BAP, one can get a good- enough estimate on the long-term prospects of delivering a set of large features and perhaps decide which ones warrant further decomposition. For example, one might discover a desired feature is an even bet, but the safe bet is far too late. In short, there is a lot of uncertainty. In this case, you might decide to invest in the decomposition to reduce the uncertainty to make a more-informed decision.  Detailed planning In shorter-term release plans (i.e. 3 to 6 months), you may have to select from a backlog of decomposed features. As discussed above, in this case, the decision of what features to include should be based on the business’ risk appetite and the criticality of the features. Detailed plans can include partial delivery of a feature by choosing a subset of the stories.  Marking progress In a well-managed Agile effort, the odds of completing on-time should improve. Once the release is underway, BAP can and should be applied to see if the bets’ odds are increasing for making the delivery date. In well-managed innovation-oriented programs, one should expect the width of the red/green to narrow, reflecting the certainty that comes from learning. An example of the BAP output for a well-run project can be seen in figure 4. In this example, the team decided to take on a risky, but high value, project. By identifying and working off the riskier items (those with widest triplet), they were able to improve the bet by the end of sprint 2. Continuing in the same manner, they removed the risk by the end of sprint 4.
  • 11. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 11 of 13 These charts can be used to effectively communicate the actual status of the project to Management and avoiding the ‘green–green–green–red’ anti-pattern. This anti-pattern consists of the team taking on the less risky stories early, the low hanging fruit, to show progress. They report ‘green’ status at each review. When they finally get to the risky stories toward the end of the project, they suddenly have to go red. By then, it is too late for the business to adjust easily. A bad time is had by all. Figure 4: An example of the BAP output after several sprints of a project. Adopting BAP BAP is available as a standalone Web service or in conjunction with a broader release planning consulting engagement.
  • 12. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 12 of 13 The BAP Service Once subscribed to the Web service, the client uploads an Excel spreadsheet with the inputs described above, and various alternative scenarios. The service returns the Red/Green/Betting diagrams as shown in the various figures above as .pdf files. It also returns a workbook with the Scenarios Summary statistics and Weeks-late distribution. Contact Murray at mcantor@murraycantor.com. Release Planning Consulting While BAP is a standalone service, one of its advantages is that it implements release planning best practices, such as:  Maintaining a backlog of features of stories;  Sizings with uncertainties;  Tracking the teams’ velocity;  Communicating clearly the risks and status of the release; I provide release-planning services to help organizations plan for and take full advantage of the power of BAP. Release planning engagements initially begin with interaction and reporting as described above under The BAP Service. As with all consulting engagements, the objective is knowledge transfer and empowerment for my clients. Once the decision to adopt BAP for Release Planning is made, the next task is to integrate the tool and its use into the organization’s release-planning process and infrastructure. The engagement often begins with a one-day workshop with the goal of embedding the use of BAP in the organization’s day-to-day release planning. At the end of the workshop, the organization and my team will have defined a plan to customize BAP, develop the BAP-enabled release-planning workflow to populate the model, develop the release-plan alternatives, generate the reports to support the process and train the staff. The specific workshop topics include:
  • 13. Murray Cantor, Ph.D. BAP for Release Planning December 2015 Murray Cantor, Ph.D. mcantor@murraycantor.com (781) 801-9510 Page 13 of 13  Review of the organization’s release-planning process;  Use of the BAP report in the process;  Presentation of scenario building;  Development of the specific workflow;  Review of needed and available data;