Why is estimation necessary?
Estimation is important both for the customer and the software developing company. Inaccuracy and inability to consider all the factors will result in unpleasant things for both sides. The customer will be disappointed to know that the developer postpones the deadline. For the developer inaccurate preliminary estimation is fraught with excess project budget and work at a loss.
Rules of correct project estimation:The main mistake of software developing companies is estimating the project as if everything is done as preplanned. However, it is impossible. The reality appears to be far from that optimistic estimation. The first thing that you have to foresee is risks. The estimation without analyzing all the possible risks and real company’s possibilities, is due to become hopes and expectations estimation instead of most real events description. The model based on code lines number calculation (SLOC model), which used to be popular in 1980-90s, has lost its effectiveness, since programming has become a much more complicated process than just a program code creation. In modern IT business such model can be useful only for spent efforts evaluation, when the project is already finished, however it cannot become precise preliminary estimation at an earlier stage of the project. The estimation based on customer’s requirements first of all takes into account functional characteristics, risks and complexity of the future project. Analyzing the requirements, the analyst comes to a more abstract vision of the system, which contributes to a more precise estimation thanks to possibility of the whole project understanding without focusing on separate minor tasks within the project. Nevertheless, the estimation based on the requirements does not guarantee the precision. That is why you should not limit yourself to the customer’s requirements analysis. One more important point of project estimation is the following – you should estimate the range, but not the exact number of hours. Most often calculating the exact number of hours necessary for project realization at earlier project stages is simply impossible. A better way is to provide a range of project implementation hours to the customer, and more precise figures can be presented later when all the tasks will be minutely studied.
Stages of estimation
1. At the first stage, it is important to understand what the customer exactly wants. It often happens that the customer requires something without considering many aspects, that are really important and can influence the estimation essentially. You should learn all specific details at this stage.
2. At the second stage when you know the customer’s requirements, it is important to describe them as tasks intended to satisfy customer’s needs.
3. At the third stage it is important to learn what technologies are necessary to implement the tasks. If some technologies are new, it is necessary to learn different developers’ comments, to know how easy or difficult they are to master. This will allow us to make a more precise estimation.
4. The fourth stage is devoted to estimating each task. At this stage it is important to tell your customer not just an exact hours number but also how much time each task will take, and also a description of what you are going to implement within this task. If you tell your customer only hours number this might scare him. But when you provide the description of what you are going to do, this gives him an exact vision why the number you state is reasonable. And beside he can make some corrections to your plans in case he sees that some of your plans are not necessary for him.
REMEMBER: It is important to consider risks while estimation. Mind that some unexpected moments might always happen.
This entry was posted
on Friday, October 9th, 2009 at 1:27 pm and is filed under Uncategorized.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.