Factors of Accurate Estimation
In reality I am not sure we can actually identify all of the factors involved in estimation let alone accurate estimation. That being the case I will focus on the major factors which create the most variance in our estimations based on my experience as a Software Architect.
1. Experience of the Project Manager – Nothing beats experience when it comes to estimating the time it will take to complete a particular task within systems development. The more experience a PM has had in the field of systems development the more likely they will be able to properly gauge whether or not an estimation provided to them is actually within a reasonable range. The only way to know the range, is to have dealt with estimating similar tasks in the past. Although the PM is not necessarily the one giving the estimations, it is her responsibility to know when the wool is being pulled over her eyes, she is the guardian of the project.
2. Experience of the “Expert” – The reason for the quotation marks around expert is due to the fact that not every development department will have the same level of experience in its “experts”. I have been involved in start up companies which did not have the budget to hire experienced developers or architects and therefore they rely on junior developers as their experts. I have also worked in companies with what seemed like unlimited resources and had numerous amazing and experienced developers on which they could rely for estimations.
It is obvious the more experience an individual has designing or developing systems the more they know what kind of effort, knowledge, and resources are required to complete specific tasks. With that knowledge comes the ability to better estimate how long it will take to complete those individual tasks.
3. Estimation and work disparities. What is meant by this, is when the estimation for a task is given by an expert but the work is assigned to a junior developer or someone less familiar with the work. This disparity can cause huge problems in keeping estimations honest and schedules true.
4. Resources Available – No matter how experienced your team is, no matter how fast they can complete the work needed, a PM must always take into account whether or not those resources are available to work on the task they are estimating. Lack of resources can delay tasks as there may be the need to wait for team members to complete other work before they are available to complete additional tasks. This may place a project in a holding pattern and tasks will not be completed on the projected schedule based on the estimations created.
Two-Point Estimation with Weighted Average
As pointed out in our text, the two-point estimation method with a weighted average is a task estimation process in which the project planner utilizes both an optimistic and a pessimistic estimate, usually provided by an expert. Then by utilizing a weighted average formula, calculate what is supposed to be a fairly accurate final estimation for the task (Kendall, K.E. 2011).
Throughout the years this has been the most common method for task estimation I have run into. In fact, no matter what the actual Systems Development Methodology was we were using, we used this method of estimation about 99% of the time.
The other 1% of the time I have utilized what is called the Delphi Method. In this method a panel of experts is constructed with each expert answering a series of questions regarding the task being estimated. Once each of the experts has answered, subsequent rounds are completed allowing each expert to revise their estimation of the task based on the input and additional comments of the other experts (Delphi Method, n.d.).
It is thought that through this process of iterative refinement and after a determined number of rounds, the expert’s estimations will gradually narrow until they are almost identical. As the expert’s estimations narrow, it is thought that they are gradually approaching the most accurate estimation possible (Delphi Method, n.d.).
Similar to the two-point estimation, the three-point estimation takes in a best-case, likely-case, and worst-case estimate from an expert and then utilizes those values to create an approximation probability distribution. This probability distribution is then used in an attempt to predict the possible outcome (Three-Point Estimation, n.d.).
I have only touched on a few of the many factors which affect our ability to accurately estimate our tasks. It is our ability to effectively estimate the work needed to build information systems which will give us a more accurate total cost of development.
Knowing that there are many factors which affect estimations, it is always a good idea to understand the major methods of estimation which attempt to give one the most accurate estimations possible.
1. Kendall, K.E. (2011). Systems Analysis and Design.
Pearson Education, Inc., publishing as Prentice Hall
2. Wysocki, R.K. (2009) Effective Project Management: traditional, agile, extreme. 5th ed.
Indianapolis: Wiley Publishing.
3. Delphi Method, (n.d.). In Wikipedia’s online encyclopedia
Retrieved from http://en.wikipedia.org/wiki/Delphi_method
4. Three-Point Estimation, (n.d.). In Wikipedia’s online encyclopedia
Retrieved from http://en.wikipedia.org/wiki/Three-point_estimation