Skip navigation.

Predicting the Path of the Storm

design & development | exploratory testing | general software testing | project management | test management
Recently, three unrelated events have given birth to a new idea in my head, and I wanted to share it with you. So, to properly set up the background, the three unrelated events:

At the recent CAST, James Bach presented a keynote, “Against Certification”. During that presentation, one of the things he did was to review some of the “Body of Knowledge” documentation upon which such certifications were based. As he reviewed this documentation, one of the things I was struck by was an underlying pattern of motive driving much of the documentation. That motive was the ability to predict, manage, and control the SDLC. Much of this “Body of Knowledge” for test certification was obviously written by managers, not testers.

In a recent blog, Michael Bolton talked about estimation and prediction for rapid testing efforts in projects. I thought it was a very good blog, and agreed with everything in it, but in the end it left me with a sense of a lack of resolution, and that bothers me.

I live in the Tampa Bay, Florida area. We recently had our first storm of the hurricane season. After the last few years, we who live here watch keenly the daily, and sometimes hourly, updates to the tracking models and projected paths of these storms.

So what do all of these events have in common? They all deal with trying to predict the progress and ultimate resolution of a process that is full of risk and ambiguity. But that’s not really the interesting part. What I find fascinating is that only one of them has a universally accepted solution…the hurricane trackers.

Now, when I say universally accepted, make no mistake…not everyone likes the model that is used. Many people will tell you they think weathermen may as well throw darts at the map as do what they do. What I mean is that it is used consistently across the industry, with very, Very, VERY little variation from one specific implementation to the other. It is very flawed, but it is good enough that any reasonable professional in that industry understands it is a tool, and when used properly, it is a tool that provides good value, and so they use it appropriately. That fascinates me…why can’t we reach that kind of consensus about estimating the development and testing process?

After thinking about this for awhile, I believe there are some concrete elements in the hurricane tracking models that are not present in any estimation model I have ever seen in software; and I believe it is the existence of these elements that make that model acceptable. Lets look at some of them.

First, hurricane tracking models always start from the current position of the storm. While they track the history of the storm for historical purposes, where the storm went yesterday has little to no bearing on where it will go later today, other than having put it into it’s current place. And more to the point, where we expected, or planned, for it to go yesterday, last week, last month, has absolutely NO bearing on where it is now, or where we expect, or plan, for it to go tomorrow. It does not even enter into the conversation. So the plan gets reset based on reality at a given time. No one holds onto the past.

From where it is today, the second element of the model is a path of where we expect it to go, and that path ultimately leads to an expected location and time for landfall, the ultimate result of tracking the storm. That path is based on many factors…how fast the storm is making progress, which direction it is going, where the prevailing winds are, what the temperature of the water is , how much time there is between now and landfall, etc. All of those factors are highly variable, and largely out of control of the hurricane trackers. This is the single element of the model that most resembles the current models we use for estimating development and testing efforts…a straight line, or at best a gantt chart, plotted against a calendar, with the end date carved in stone. Interestingly enough, this element of the model is the single element that most forecasters trust the least, and they all say so loudly.

Which brings us to the third element of the model, and I think this is the biggie. The Cone of Uncertainty. Starting at the point where the storm is now, following roughly along the predicted path of the storm, is an ever expanding cone. This cone represents where, given all the information currently available, the storm MAY go if something in the model changes. I have NEVER seen this in any model of software planning. Yet this is the part of the model that forecasters talk about the most, and encourage everyone to pay the most attention to. This is the part of that model that takes into account Risk and Ambiguity.

I think these elements are powerful in terms of creating a model that deals largely in truth, acknowledges uncertainty, visually depicts it’s status and communicates clearly, and updates rapidly and understandably. And I think it is a model we could emulate to predict, in a reasonable and acceptable manner, the software testing process, even when using rapid / exploratory testing.

It is the test teams job to provide information to management to better enable them to make decisions about releasing software. It is managements job to keep the software development and creation process on track, and release software by balancing a vast array of considerations and risks. While neither of us can know everything, or plan everything, in advance, the test team can also not simply throw up our hands and say “We cannot provide any answer to the questions your asking.” when the questions they are asking are perfectly valid. At least not if we want to be perceived as a team player adding value to the process. But a model such as this, that plots not only a course, but a reasonable expectation of possible variation around that course, and updates itself regularly, would let management see not only where the project is, and where it is headed, but it would also better help them understand the costs and risks with getting it back on track versus accepting the new point of impact. I believe that would be a far better answer than “We will test all we can until the day you shove it out the door.”

I am so intrigued by this, that I am going to begin working on such a model. I will be happy to publish both the ongoing work, and the final results, online. If you would like to collaborate on this with me, drop me a line at dgilbert@sirius-sqa.com.

In the meantime, batton down the hatches, and good luck weathering the storms of your own testing efforts.

Not a new concept

David:

this cone of uncertainty is discussed in many project management books, and in the few I've read on software project estimation.

"Software Estimation. Demystifying the black art." by Steve McConnell was published the same year you wrote this blog, but McConnell is not generally an inventor, but rather a recollector of usual practices in the industry, so I'm sure the concept is MUCH MUCH older.

The book contains a number of reasons why the concept is not used in the industry as much as it should, and recommendations on how to start using it without running into any of those.

--
Salut,

Jordi.

Good point - project manageme

Good point - project management is (to continue the metaphor) about getting to a particular destination at a particular time; tracking a hurricane is trying to see where & when it will arrive.

However, that doesn't mean both pieces of information aren't useful. Focus on staying on track to hit the goal, yes; AND forecast the current "cone", which is how far off track the project is likely to get, so you can deal with problems as they come up...

An alternative...

Rather than trying to predict the end point, you might also suggest a number of possibilities then see which the stakeholders are comfortable with. What you propose does make sense though if we can't negotiate the scope of testing.

Rock on!

"...any reasonable professional in that industry understands it is a tool, and when used properly, it is a tool that provides good value, and so they use it appropriately. That fascinates me…why can’t we reach that kind of consensus about estimating the development and testing process?" -- Rock on! Yeah, why can't we?

I'm not a project planner, I'm a performance tester, but I've been frustrated by project planning enough in the past to find your post, and especially the idea of the cone of uncertainty, very intriguing.

I feel out of my element even thinking about these things, but what I wonder is this: Hurricane tracking is about forecasting where it may hit. Project management seems to me more about hitting that date carved in stone. Could you "steer" a cone of uncertainty? I guess forecasting better would be the first step anyway... I guess I was just wondering how trying to steer instead of just predict would effect the cone of uncertainty...

Anyway, I am interested to hear more of where you go with this fascinating idea. Thanks!

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.