Detecting Progress

The desire for detecting progress clearly needs more than an estimate of the whole project. In the movie, Captain Ron, there’s a great storm scene where the passengers are getting antsy about the voyage. Captain Ron reassures everyone that they’re not lost; in fact, they’re almost at their destination.

"When we left, we had just enough fuel to make it to San Juan. And now...we are out of fuel!"

Clearly it’s desirable to have some earlier, and more reliable, indication of our progress or lack of progress. It’s prudent to consider how circumstances might change. A sailboat in a storm gets pushed around a lot by the wind and the wind-driven currents. These invisibly push you off your intended course, requiring more fuel or more sailing time to reach your intended destination. We’d like to notice such a situation in time to take action, such as choosing a different destination for this passage. As we’ll see in Danger Bearings, we can set up some prior expectations to warn us when we’re not making the desired progress.

Software development projects get pushed off their expected track, too. Unexpected hardships and side investigations come up. New goals get added and original goals get amended with more detail. Expectations change, sometimes implicitly rather than explicitly. “How we’re doing” can be as difficult to ascertain in a software development project as it is in a sailboat making an offshore ocean passage.

So you need a good way to track progress. Progress toward what? Toward our goal. Which goal is that? Do we all have the same goal in mind? Do we have the same goal in mind from day to day? Even when we agree on a goal specified in a short phrase, we may have different pictures in our minds.

Then there are contextual goals surrounding the nominal goal on which we’ve agreed. The organization’s mission statement likely expresses some high-minded organizational goals that may or may not give you some distinguishable direction. Realizing the capability intended for the system to provide is another goal. So is the desired impact from automating that capability, such as any expected profit or savings to the organization, or the effects of exercising a capability you didn’t have before. Personal goals—for example, displaying our competence to ourselves and others, avoiding rebuke or blame, and taking home a paycheck—are mixed in with these.

Measuring progress toward a goal is tricky. You can see what you’ve done, but you have to estimate what you have yet to do. Sometimes you can’t even tell what part of what you’ve done will help fulfill the intention of the project. You may have started some speculative work that didn’t turn out to be as useful as you’d imagined. You may have made some mistakes that you’ll need to correct. When you discover such things, you need to subtract from what you had perceived as progress and add to what you estimate as remaining work. In some cases, there is possibility that the goal is not possible to reach.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.43.134