Be More Productive

Get the most from your processes now!


Forecasting vs Predictability

Forecasting is a statement about some future outcome or event yet unknown, within some agreed level of uncertainty, that is verifiable against future outcomes. How you model assumptions is at the heart of forecasting

Predictability is about behaviors that can be anticipated within an agreed degree of reliability. How you model data is at the heart of predictability.

There’s little point in discussing forecasting without first establishing an acceptable degree of predictability. Let’s explore what that means.

Continue Reading

Agile Calibration

Why did inspections fail to detect excessive wear?

On January 31st 2000, an Alaska Air MD-80 disappeared into the Pacific ocean off the coast of Santa Barbara, California with 88 souls aboard. The crash investigation determined the cause to be…

“…a loss of airplane pitch control resulting from the in-flight failure of the horizontal stabilizer trim system jackscrew assembly’s Trapezoidal nut threads. The thread failure was caused by excessive wear resulting from … insufficient lubrication of the jackscrew assembly.”

Why did inspections fail to detect the excessive wear?

Continue Reading

One Bad Bid

...the consequences of fat tails

The whole point of estimation is to support decisions. If an estimate doesn’t help resolve uncertainty about a decision we have to make, then it doesn’t have any value. It’s not helpful when pro forma estimates are taken as performance targets. In contrast, there is substantial value in the estimation process when it is understood as a quantitatively expressed reduction of uncertainty based on observations.

Continue Reading

Monte Carlo Simulations

for Capacity Planning

When we estimate software stories, we decompose the problem into questions that we can reason about independently, and express our uncertainty about those questions in ranges. The range expresses our degree of uncertainty about the effort required. We can reason about an individual software story, but we can’t reason about all of the possible outcomes of an array of dependent stories needed together for a targeted software release. Monte Carlo simulations allow us to delegate that aspect of complexity to some very bright math.

Continue Reading

Monte Carlo Simulations

for roadmap estimation

Monte Carlo methods are a family of algorithms that employ repeated random sampling to build a model of probable outcomes: effectively, it is the mathematics of uncertainty. Monte Carlo math was developed for modeling the behavior of neutrons during atomic decay, a problem where deterministic algorithms proved inadequate. Estimating software isn’t as complex as nuclear physics, but that’s small comfort when it’s up to us to ask for the right amount of resources to build a product. Monte Carlo Simulations allow us to replace the proverbial wild ass guess with manageable probabilities.

Continue Reading

Scrum Velocity

friends don't let friends compare velocities

Story Points are based on a parametric estimation technique useful for separating time and effort.

Velocity is a scheme for using Story Points to calculate the team’s progress across Sprints using interval scale math.

There’s nothing sketchy about interval scale math, although having a sketchy understanding of the principles will invariably lead to sketchy results.

Two plus two equals five is not without its attractions.

— Fyodor Dostoevsky

Continue Reading

Methods of Measurement

you've got more to work with than time and money

Mostly when we think of estimation, we think of how much time or money will be needed, but we commonly use other scales to help us estimate, and it is important to know when and how to use different scales.

Continue Reading

What Is Estimation?

uncertainty reduction beats prophecy any day

Project managers and developers are routinely asked to navigate ambiguity, such as being asked to produce an estimate against some hazy business objectives, or making firm commitments against obviously changing scope. But as important as estimation is to setting stakeholder expectations, almost everything I’ve read about software estimation isn’t really about estimation; there is a lot of discussion about managing the estimate in the development process, but there’s not a whole lot about what estimation actually is, or how to do it.

Continue Reading

The Concept of Estimation

start by identifying what you’re uncertain about

Reducing uncertainty is a question of first clearly identifying what you’re uncertain about: decomposition. Break down the question, classify, compare, discriminate, distinguish, and so on, until you can reason about the components independently. Then ask why the thing matters. What are the possible outcomes? What decisions would be affected by additional information?

Continue Reading

The Entropy of Information

a measure of uncertainty

Information entropy is the average amount of information conveyed by an event when considering all possible outcomes.

When you toss two coins, the information entropy is the base-2 logarithm of the number of possible outcomes. 2 coins, four possible outcomes, 2 bits of entropy.

Continue Reading