Posts Tagged 'The Perils Of Agile Estimation'

The Perils of Agile Estimation (Part 2)

June 7, 2021

In the previous post, we examined why and how agile software estimation goes wrong so often, and we identified three principles that must support any good estimation method:

  1. Reliability - An estimate must reflect the performed work within a reasonable confidence interval.
  2. Objectivity - The same estimate should be given for a task, regardless of who's giving the estimate.
  3. Consistency - Given nothing else has changed, an estimate should not change with time.

I call this the ROC principles. In this post, we'll start looking at techniques and methods we can apply to our estimation process to implement these principles. In order to properly ROC-ify our estimates, the first thing we need to grok is the difference between complex and complicated tasks.

Read More

The Perils of Agile Estimation (Part 1)

March 23, 2021

Estimation has always been an inflection point in the software engineering world. Many developers admit that one of the hardest parts of their job is not about naming things or invalidating caches (as the old saying goes) but giving estimates. Certainly, for many experienced software engineers, estimates have always been the most frequent area of friction between software developers and managers. Both sides seem to have valid arguments: managers want to know how long things will take, as they need to manage budgets and customer expectations. Developers, on the other hand, know that most software tasks cannot be estimated accurately enough to satisfy the manager's needs. This friction has been so intense that it's given rise to the #NoEstimates movement and many flame wars on social media. But is the choice truly between one of these two extreme positions, or can a happy medium be found that satisfies both sides?

This series of articles attempts to explore and answer this question.

Read More