Skip to main content

skip to main content

developerWorks  >  Rational  >

How late are you gonna be?

developerWorks
Document options

Document options requiring JavaScript are not displayed


Learn and share!

Exchange know-how with your peers -- try our new Pass It Along beta app


Rate this page

Help us improve this content


Level: Introductory

Joe Marasco, CEO, Ravenflow

15 Feb 2002

from The Rational Edge: A fictional project manager tackles the challenge of estimating time to completion for software development projects.

Illustration Last month we made the acquaintance of Roscoe Leroy, a crusty old retired mining engineer who decides to take a pass at managing software engineering projects. He has shown an amazing ability to see things clearly, despite much of the obfuscation that surrounds our business. This month he tackles the challenge of estimating the time to completion of software development projects.

Roscoe Poses the Problem

It was a dismal, rainy day when Roscoe pulled up in front of the house. He ran from his pickup to the front door, his slicker flapping in the wind. "Here comes the sun," I thought to myself.

As you may recall from last month, Roscoe is an old war buddy of my dad, and has a wealth of real world experience from the school of hard knocks and cruel treatment. The reason I listen to Roscoe is that he brings a fresh perspective to anything he looks at, and his thinking is not overly encumbered by conventional wisdom, accepted doctrine, or theoretical considerations. My sources tell me that he has saved more than one engineering manager's bacon in the course of his "career." 1

"So," I led off, "how's the new career in managing software development going?"

"Well, what we have here is a failure to communicate," 2 Roscoe started off. The road boss's reflecting sunglasses from Cool Hand Luke flashed before my eyes when he started that way. I hoped this would end better than in the movie.

"In the first place," he said, "software projects are always late. And I mean always. That just doesn't seem right. After all, most estimates of pretty much everything else have an error that is stated as 'plus or minus such-and-such.' In software, you people seem to have lost the 'minus.' The estimator might just as well say 'This is the best we think we can do.'"

I admitted that his observation seemed to be mostly correct. Roscoe excoriated me for the "mostly." He defied me to show him ONE project that had been completed early. I squirmed.

"So, it would seem to me that the problem in calling the shot is to figure out just how late you are going to be," he said, smiling.



Back to top


Joe Makes a Slight Comeback

Having had a bit of crow somewhat inelegantly jammed down my throat, I figured I'd use my years of being late on software projects to good advantage. I'd show that recycled roustabout he didn't know everything.

"Actually, Roscoe," I said calmly, "there isn't just one estimate. There's an initial estimate at the beginning of the project. Then, when you get part way in, you make another one. In fact, you make estimates of your time-to-completion all the way along. So what you really need to tell people, at any point in time, is how late you are going to be based on the latest estimate. Because, after all, the latest estimate includes everything you know up to that point."

"You got a point, Sonny," retorted Roscoe. "And I'll tell you another thing. Them estimates had better be getting more accurate as you move along. For two reasons: One, you are learning more and getting smarter as you go, and two, there is less left to do. At the start, you have lots of uncertainty and lots to do. On the other hand, you do have more time to recover from your mistakes. Let me think about this a little bit more."

I counted that round as a draw. Roscoe finished his coffee, black, no sugar, and somewhat aggressively stamped out his stogie. 3 I could tell I had given him something more to think about. It was also clear that he was having a tough time figuring out why estimates for software project were so much more slippery than those for other projects he had managed in previous lifetimes.



Back to top


Roscoe Returns

It wasn't long before Roscoe was back for another sit-down. I was about to have my well-ordered universe stood on its head again.

Roscoe was much calmer this time around. "As I pointed out the last time, mostly we are going to be late. The question is, how much? Well, I think I've got a handle on it."

"As usual, the solution involves the square root, and the unit of measure is…ta da, the week. I believe that a well-managed project can be late by a number of weeks equal to the square root of the predicted number of weeks left. So when you tell me you have, for example, sixteen weeks to go, I am going to assume that you will take somewhere between sixteen and twenty weeks to finish."

This was getting a little deep. The square root again? How could this be? Did Roscoe not have any other tricks in his bag?

"Actually, there're five distinct cases," he went on. "I've worked it all out."

This time, Roscoe had come loaded for bear. 4 The more he got going, the harder I listened.

"First of all, there's the well-managed project, headed by a guy who really knows what he is doing. He will be somewhere between his estimate and one square root late."

"Now, every now and then one of these gentlemen is going to do a really good job of estimating and an even better job of straw-bossing. 5 The 'powers that be' 6 are going to smile on him, and so on, and he will be early. Maybe even up to one square root early. It could happen." I remembered my embarrassment at not being able to come up with examples the last time we talked.

"Those are the good cases," he added.



Back to top


Roscoe's Rogues Gallery

"Of course, there is the other seventy-five percent of the known universe. They make up the three other cases."

"First of all, there are the guys who finish more than one square root early. These varmints we call 'sandbaggers,' and they are dangerous because they cost you money, not by being late, but by overestimating everything. The only way to be more than one square root early is to fudge the estimate. Actually, the guy you should fire here is the boss who bought that estimate. On second thought, fire them both."

I was starting to get the idea that Mr. Leroy might revolutionize the way we thought about the problem.

"Next, we have the guys who finish between one and two square roots late. There is hope for them. They are probably just starting out, and need to hone their estimating and execution skills. They are costing us money, but with some work, we might be able to get them into the 'one square root band.' If they have some gumption, we might be able to coach them to the right place."

"And last, there are the guys who are off by more than two square roots worth. These fellows are either out of control or have no idea how to estimate in the first place. When you have to decide whether they are just rotten estimators or actually can't manage their way out of a wet paper bag, it doesn't matter what the answer is. The only solution is to just run them off, because the train wrecks they produce will put you out of business."



Back to top


Roscoe's Graph

Roscoe then proudly whipped out the graph below to display his theory. He was so proud he could use his new toy, Microsoft® Excel, that he almost burst. "The good guys I've marked 'Very Good' and 'Excellent.' Between one and two square roots late I've marked 'Needs Work.' The other two pathological cases are clearly marked as well."

"There you have it. The border between 'Very Good' and 'Excellent' is 'On Time.' All you need, on one sheet of paper."

And Roscoe leaned back and rested his case--sort of.



Back to top


One Last Objection

"Well, Roscoe," I replied, "as usual you have put your finger on something that makes sense. And I am impressed that you are willing to quantify how late you think you are going to be. But there is a flaw in your theory."

Roscoe perked up immediately. He loves a challenge.

"The problem is, how do I know which one of these zones my project manager falls into? If I know he is an ace, then I'm fine. But what if I've never worked with the guy before?"

"Sheesh," replied Roscoe, "that ain't nothin' more than a calibration problem. Here's how I do it."

"First of all, every time I ask someone to do something, I ask for an estimate. And then, PAY ATTENTION NOW, I write it down."

At this point, I made the mistake of making a wisecrack about his stubby pencil.

"Listen up, Mr. Smarty Pants. The shortest pencil is longer than the longest memory. And don't forget that when Tiger Woods is out there competing for all those millions, he uses that same short pencil to keep his score."

Chastised, I decided to shut my trap and open my ears.

"So then for software I would try to get them to commit on a variety of subprojects and tasks of various durations. As a matter of course, you should get an estimate at the start of every iteration in an iterative development project. And I write down every estimate. And then I check later on how they did.

"What I get is a bunch of points on my graph of predicted versus actual. Some guys are consistently in one zone. Wonderful. They're calibrated.

"Some guys are gonna be all over the map. If I were you I'd try to sit down with them and understand that. But sooner or later they have to become predictable, or you'll have to move them down the road. And even you know what to do with the guys in the sandbagger and 'more than two square roots late' categories. Just make sure the door doesn't hit them in the behind on the way out!

"The tool is really pretty useful for the guys who fall in the 'needs work' zone. We can show them what they need to do to start helping us make money instead of helping us lose it. It gives them a decent target to shoot at. They need to work at being consistently no more than one square root late, regardless of their estimate.

"See, Joe," he sat back and smiled, "I don't much care, so long as it's predictable. I can always live with one square root late if I know that will be the extent of the damage. I can plan around that."

Beat the tar out of anything I'd ever thought of.



Back to top


Roscoe's Parting Shot

"By the way," Roscoe finished, "I hope you noticed what happens in my model when we get near the end of the project." I hadn't, but it did strike me as an interesting limiting case.

"When you get to a prediction of one week left, the square root of one is still one. So you are at the limit of the method's precision. Inside of one week, you will always have a week to go, because, if you are honest with yourself, you will find things to do as fast as you scratch them off your list. So, even theoretically, projects can go on forever, a week at a time.

"That's why we call it 'getting down to the short strokes.' 7 In the last week, the kinds of decisions you have to make are different, and estimating how much you have to go is beside the point. I can get you to the last week, but finishing is your job."

I sure hope Roscoe continues in his new career. We have so much to learn.



Back to top


Notes

1 If you asked Roscoe, he would scoff at the notion of a "career." "Just trying to get the job done, Boy," is what he would usually say when asked about any of his accomplishments or failures.

2 Famous quotation, oft repeated, from the movie Cool Hand Luke, starring Paul Newman.

3 The Surgeon General wants me to remind you that smoking is bad for your health. Roscoe may live to be a hundred, but if you smoke, you shouldn't count on it. And, by the way, "stogie" has an interesting etymology. It comes from a town in Pennsylvania named Conestoga, where they made an inexpensive, slender, cylindrical cigar that was popular in the 1840's. It is also likely that drivers of Conestoga wagons (also manufactured in Conestoga!) smoked stogies. Leroy's grandfather probably drove a Conestoga wagon, also known as a prairie schooner.

4 This quaint Americanism means he had brought the heavy artillery, fully loaded for the task at hand.

5 For our overseas friends, a "straw boss" is the fellow who manages the workers on a day-to-day basis. Sometimes he is called the "butt kicker."

6 My guess is that Roscoe is referring to Divine Intervention here.

7 One of Roscoe's rare golf references. In order to finish a hole in golf, one needs to putt the ball into the cup. These are usually "short strokes." So getting down to the short strokes means doing the last remaining work to finish the job.



About the author

Joe Marasco

Recently appointed CEO of Ravenflow, an Emeryville, California-based company delivering precision requirements validation for software developers, Joe Marasco served as senior vice president and business unit manager for Rational Software prior to the company's acquisition by IBM. He held numerous positions of responsibility in marketing, development, and the field sales organization, overseeing initiatives for Apex and Visual Modeler for Microsoft Visual Studio. After retiring from Rational in 2003, he published The Software Development Edge, a collection of his essays on software project management originally published in The Rational Edge. He holds a Ph.D. in physics from the University of Geneva, Switzerland, and an M.B.A. from the University of California, Irvine.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top