When you’re working on some software project it can seem that the project is “90% done”. After a week you see your project is still “90% done”. After a month the situation doesn’t change…

Such a situation is an example of an industry joke. This project status makes it difficult to say when a body of the project will truly be completed. Here are several typical causes of "90 percent done" syndrome and a few possible solutions.

Inadequate Planning. You might believe you really have finished 90 percent of the task, but one day you can realize that there is a lot more work you’ve not done yet, and this is not 10%. The cause of such discoveries often lies in that we don’t think of all the necessary tasks when planning and estimating some part of work.

To solve this kind of a problem, you can spend a bit more time while doing project planning.

Too Much Partial Credit. Often we give ourselves too much partial credit for tasks we have begun but have not really completed. You might think about some algorithm for a very hard subtask and decide that you’re about 80% done. Just because defining the algorithm is really hard. It is not so easy to accurately determine the percent completion of some large task. For example, just because you might be overly optimistic about how quickly you will be doing the remaining work.

How to solve such kind of problems? It can be a good choice to break complex tasks into several simple subtasks. Next, you should do your project planning more accurately, as in previous case.

Forgetting About Rework. Maybe it can be a big discovery for someone but often from 35 to 50 percent of a work on a project, software developers does over something they thought was already done. When you plan your project, you might assume that everything will go right the first time (but it doesn’t). As a result, you think you’re almost done with a task, and then you discover that correcting the bugs you found last night adds another 20 percent or so onto your schedule.

What to do with this. Include rework as an additional task in your project plan. Actually, you cannot know how much time you will spend on rework. In other hand, usually you know an average time you spend on some types of tasks. So, you have some data to estimate how much effort you might expect to waste on the next average module.

So, if someone asks you how you’re coming on your project and you reply, "I’m all done except…", then you’re just not done. Don’t forget about that.





  twitter.com