TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Eliminating the 90 Percent Done Game



A StickyMinds.com Original
Article Picture
Eliminating the 90 Percent Done Game

By Johanna Rothman

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

Summary: Don't let your project get stuck in the swamp of 90 Percent Done. In this week's column, Johanna Rothman explains how to tell if you're in the 90 Percent Done schedule game and suggests several actions you can take to finish the project successfully.


Jama Software
Hear more about this topic in the StickyMinds SoundByte podcast interview with Johanna Rothman.

Imagine you're a project manager. You talk to your technical lead and ask how far along the team is. "Oh, we're about 90 percent done," he says. If you're like most project managers, your heart sinks. You've been here before. Ninety percent done means the other 90 percent is left to do.

But what can you do to eliminate—or at least reduce—the 90 Percent Done schedule game? Isn't it just a fact of life for software projects?

No, it's not. You can avoid this schedule game entirely. But you do need to work differently.

Plan in Inch-Pebbles
The first thing you can do as a project manager is to organize the tasks differently. If your team members like to estimate in one-week or larger chunks, work with each team member to break down the work into inch-pebbles, one- or two-day tasks. That way, everyone knows when each deliverable is due—something is due every day, or at the most, every other day. An inch-pebble either is done or not done—there's no "percentage complete" for an inch-pebble.

If you're accustomed to managing the schedule with a Gantt chart, be forewarned: Don't put the inch-pebbles into a Gantt chart. You'll have so many details that you won't be able to see what's really going on in the chart. Instead, each person manages his or her own inch-pebbles and reports problems to you.

Use Rolling-Wave Planning at the Inch-Pebble Level
Daily schedules are fluid, whether you're using inch-pebbles or not. To manage that fluidity, I like to ask people to generate two to four weeks of inch-pebbles at a time. I don't expect them to finish all of their inch-pebbles on time, but we can both see quickly if they become stuck. As one week finishes, they adjust their remaining inch-pebbles and add another week at the end. They always have a detailed schedule, but no more or less than those two to four weeks—rolling-wave scheduling at the inch-pebble level.

Use Inch-Pebbles to Provide Feedback on Estimates
Many people estimate in several-week chunks because they have no idea how to estimate. If your team members generate inch-pebbles and then monitor how long each task takes, they are likely to provide better estimates next time.

Inch-pebbles help people see all the work that is a part of their larger task, so they can better estimate the task at the beginning. And when they use inch-pebbles, they can see how fast they make actual progress.

Make Status Visible
Sometimes people fall into the 90 Percent Done schedule game because they have no idea how far they've come or how far they have left to go. They say 90 percent because they don't have any way to make the status visible, and 90 percent seems to be how far they've come.

If you're the project manager, ask team members to think about how they will show you progress. If they make the progress visible to you, it will be visible to them. If you're a team member, think about work artifacts that denote visible progress to yourself and your project manager. With any luck, you can assess those work products to see how far you've really come on this task.

Implement by Feature, not by Architecture
It's very easy for entire teams to be caught in 90 Percent Done if they implement pieces of the architecture and then integrate the architecture at the end of the project (i.e., staged integration). It's too hard to integrate unfinished pieces of architecture, and it's too easy to underestimate what it really will take to finish the features when a team implements by architecture.

Even if you have an architectural phase, it's worth implementing by feature, implementing only what you need in the architecture for each feature, and integrating as you proceed. If you implement by feature and integrate as each little piece works (several times a day, or at least once a day), you have continuous integration. Continuous integration provides you immediate feedback about your or your team's progress, which eliminates 90 Percent Done.

Summary
Project managers have several ways to stop 90 Percent Done or even eliminate it entirely. If you don't stop 90 Percent Done, you'll end up with a death-march project—and no one wants that. Knowing your real status frees you and the team to make great decisions and not have a project that doesn't end because you're caught in the 90 Percent Done schedule game.


About the Author
Johanna Rothman is a management consultant and a regular StickyMinds.com and Better Software magazine columnist. Johanna is the author of the recently published Manage It! Your Guide to Modern, Pragmatic Project Management, as well as the coauthor of Behind Closed Doors, and author of Hiring the Best Knowledge Workers, Techies & Nerds. She is a host of the Amplifying Your Effectiveness Conference. Johanna has presented at STAREAST, the Better Software Conference & EXPO, and Applications of Software Measurement & Management conferences. You can reach her at jr@jrothman.com or by visiting www.jrothman.com.

Back to Top
 

StickyMinds.com Weekly Column From 7/9/2007 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Wayne Mack 8/7/2007

Kevin, perhaps a data point you might want to consider regarding the "inch-pebble" appraoch is that this has largely risen from the programmer side of development (as various flavors of agile development) rather than from the management side. You are partially correct in that this approach raises the visibility of project progress, but it is largely the reaction of the project manager that determines whether the practice becomes micro-management or not.

The trade-off is that the developers agree to provide frequent, accurate status on their progress and the manager agrees to accept reality and not go overboard when difficulties...Read On

Author's Response:
8/7/2007    
Wayne, thanks for your comment. I started using inch-pebbles back when I was a developer for two reasons. The first was that my estimates were all too short. The second reason was when I actually generated a reasonable estimate, my manager was quite surprised. I had the data to explain why my estimate was "so long," and since I met all my dates after that, he was unconcerned.

Now I use inch-pebbles all the time, because even though I've been estimating for a long time, I'm frequently taking on new tasks that are difficult to estimate. This way, I get early feedback about my initial estimate--I know early if I'm on track or not.

 
 
Comment:    
by Kevin Ryan 8/1/2007

I see your 'inch-pebbles' as (lots of) extra work that does little toward actually getting the project done but serves more to help managers do their job.

This sort of thing is an example of how managers can impede a project in order to 'manage' it; and, no matter how you slice it, it _is_ micro-management - even if you do let your worker-bees pick their own 'inch-pebbles'.

Motivated programmers will not stick around long in this type of environment. If you find that your whole group needs this level of baby-sitting then you have a different problem.

Author's Response:
8/1/2007    
Kevin, I guess I was unclear in my description of inch-pebbles. When someone tells me they have a 1- or 2- or 3- week task, I can be sure it's not. It might be more, it might be less, but it's not an even week. When people estimate using inch-pebbles, they are more likely to provide a more accurate estimate.

It's not the people "pick" their own inch-pebbles; they commit to *themselves* about the work they need to do. As a project manager, I don't care what the tasks are. I care that the people know what tasks they need to accomplish and that they know when all of those will be done.

I have found that inch-pebbles work for me, if I'm not using an agile approach to a project. Note that I said the inch-pebbles don't go into a project schedule. Inch-pebbles are for the people doing the work, to make sure they know where they are. Otherwise, they will end up in the 90% Done schedule game.

 
 
Comment:    
by Michelle Pruitt 7/10/2007

Thank you for finally putting a name to something that I have found to make a tremendous difference in my ability to report task progress. I'll take a task like "Create Preliminary Design" with an output of "Draft SDD" and create my own task schedule that breaks that project-level task into daily subtasks for myself. I may allocate a day to construct diagrams, several hours to do traceability, or allocate time to complete each section of the SDD and so on until I have decomposed the project-level task into "inch-pebbles". When I over-estimate I take advantage and move on the the next "inch-pebble". When I under-estimate I push my...Read On

Author's Response:
7/10/2007    
Michelle, sounds like inch-pebbles are working for you. If you want to see the original article I wrote, see http://www.jrothman.com/Papers/Howinch-pebbles.html. I've also blogged about. (And, I wrote about inch-pebbles in "Manage It! Your Guide to Modern, Pragmatic Project Management", just out.)

 
 
Comment:    
by Francois Bachmann 7/10/2007

Sounds like a fine description of an day-to-day agile approach to me! If you go down that track, why not add other agile practices like iteration planning and high user involvement (see Scrum for an example)? Let's not pretend all our projects are linear and plannable in detail in advance...

A helpful question while laying out the project plan can be "what indicator would I ask the developer to base his "percentage complete" estimate on?". If you can't come up with a good indicator, involve the developer *before* starting on the task and/or consider breaking the task down.

Just my 2 agile cents :)

Author's Response:
7/10/2007    
Francois, you caught me! I believe very few (if any) projects are predictive, and most require empirical approaches to complete successfully. But Scrum is not the answer for everyone. Many of the approaches used in Scrum, FDD, or XP are useful in many other projects. And the more schedule games you have, the more you need those approaches.

 
 
Comment:    
by Deepa KV 7/10/2007

Good article Johanna. One of the managers in my organization uses a tracker which is updated by the team members daily or as they finish one logical element of work for a module. This also computes the no. of hours remaining to finish each module. I have seen that this approach has been very successful to meet the deadlines.

Author's Response:
7/10/2007    
Deepa, a tracker can work, as long as people know what done means, and that done is not just a date. If it's just a date, people game the system. "Oh, you wanted all the defects out? And you wanted it integrated? I thought if it compiled on my machine even with warnings it was done."

I prefer to see each person track their own work, rather than a manager tracking it for them, including to see if the estimates and actuals line up.

 
 
Comment:    
by Robert Rose-Coutre 7/9/2007

Hi Johanna, At first reading, I thought the inch-pebble method implied status reports every one or two days (maybe the same impression in the earlier reader's comment about "daily status meetings"). But on re-reading, I see you are only saying "one- or two-day tasks" but those are grouped in two- to four-week segments. So I surmise there could be a status meeting every couple of weeks or so. The inch-pebble method sounds like an excellent strategy for teams bogged down in the "90 percent" quagmire. I would probably use it if and when truly necessary--I think it is a delicate balance for a manager to use prodding methods if needed, but avoid...Read On

Author's Response:
7/10/2007    
Robert, since the individual team member develops his or her own inch-pebbles (unless that person is stuck), the manager isn't micromanaging--which actually builds trust. I've been a fan of inch-pebbles for almost 30 years, when I fell into 90% done :-) Once I explained to my manager everything I had to do, we both felt better and I was able to make progress.

 
 
Comment:    
by Sanat Sharma 7/9/2007

Nice thought Johanna.
This is something about going on in the project using baby steps. Now days, where the software environment is too confused and chaotic, we should follow the baby steps technique to eradicate maximum issues as early as possible and try to work more elegantly and sharply.
I am also following this technique in the current project I am working. I have scheduled a daily status meeting with my team members where I am tracking the status of each and every one of my team members and try to complete the work in time eliminating most of issues as early as possible.

-- Sanat Sharma

Author's Response:
7/9/2007    
Sanat, I wonder what you mean by a daily status meeting with each team member. If you're using an agile lifecycle, a daily standup works well. If you're not using an agile lifecycle, why do you need a daily meeting? Can't people come to you if they've missed one of their deliverables? I must be missing something.

 
 
Comment:    
by Srinivasan Desikan 7/9/2007

Well said. To add to it, Let us remember the 80:20 rule which says the last 20% of work will take 80% of overall effort. Even though difficult, the metrics and measurements for the project should start tracking quality requirements not just the activities of schedule, then life becomes predictable for project managers. The difference is in questions "Have you completed your work?" and "Have you completed your work correctly?".

Author's Response:
7/9/2007    
Srinivasan, Too often, people don't know what "Have you completed your work correctly?" means. That's one reason inch-pebbles are so helpful; not only do they make the steps and progress visible; they help everyone know what done means.

 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


Rally Software

HP Software




STAREAST 2010 


Better Software Conference