Software Effort Estimation Problems

Estimation is important for software developers. Software effort estimation problems are part of their daily lives.

Software effort estimation is an important part of the daily lives of many software professionals. I have joined the #noestimates debate on Twitter because there is a lot to learn from a discussion on estimates. I’m not ready to fully abandon estimates but I am interested in discussing where, when…

Continue reading

Combining Traditional and Agile Estimation

Can you combine traditional and agile estimation? There is nothing magical about “classical” estimation. There are a few basic concepts to keep track of:

  • Bottom up versus top down
  • Expert estimation versus parametric estimation
  • Best – worst – expected case

I think the most common method for traditional estimation is to go top-down using successive estimation which means that when something is to big or uncertain, you break it down into component tasks and estimate them recursively. If you are familiar with Planning Poker you can easily combine it with this approach:

  1. Start with your user stories + other backlog items then FOR EACH
  2. Estimate it with PP, if too big or to wide spread it is an Epic. Break it down into smaller stories (this creates your WBS) and GOTO 2
  3. Now that your item is sufficiently small, think about the worst case and estimate it again
  4. Now think about the best case, estimate again
  5. Calculate the weighted average as (best + 4* “normal” + worst) / 6

Not so different from “pure” Planning Poker, is it? There are a few improvements you can do though — instead of using three estimates for each item, you could use the spread of estimates you already have from PP as a basis for your probability distribution.