John Stenbeck, in his book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates a grid of all 87 processes used in Agile project methodology. They are divided into five process groups and 7 knowledge areas.
Today I am covering process 3.7, that is, the seventh process in the third knowledge area of “Adaptive Planning”, which just happens to fall in the “Planning” process area.
This post will cover some general principles related to agile estimating. One important point that John Stenbeck makes is that estimates are, by definition, inaccurate. Why? Because they are usually made based on assumptions, which may change. However, management needs to know the value of the constraints of time and cost, i.e., “when will the project be done?” and “how much will the project cost?” There is a fundamental tension between the desire to have accurate estimates and the difficulty in achieving them, which only increases as the complexity of the project increases. Because there is a general trend nowadays towards projects with higher and higher complexity, that means that the difficulty of achieving accurate estimates is also on the increase.
Besides this fundamental tension mentioned above, there is an additional factors which compounds the problem. There are two risks involved with, say, a time estimate for any given activity: the risk that that the duration be under-estimated and the risk that the duration be over-estimated. However, these risks are usually not equal. In general, the risk of the time estimate for an activity to be under-estimated is higher than the risk of it being over-estimated. Maybe this is because estimates are done with a desire to be optimistic and to please management by achieving the project within the shortest duration possible. (The same risk, of course, occurs with the cost estimate.)
Now, the next point to understand is that estimation involves figuring out how many resources, either of time or cost, are to be devoted to an activity, but the estimating process itself requires the spending of resources. In agile estimating, the idea is that you should spend resources on estimating in direct proportion to the accuracy they provide, which is a measure of how much value the estimate has for those planning the project.
So if the probable accuracy of an estimate is low, then one should minimize the resources spent on that. On the other hand, if the probable accuracy of an estimate is higher, then one can invest more resources in producing that estimate.
In the next post, I will discuss the cone of uncertainty, another important principle behind agile estimating.
Filed under: Uncategorized | Leave a comment »