Agile 101 Estimating delivery dates — part 2: refining estimates throughout the project

We Make Waves
3 min readJul 23, 2015

--

Introduction

In part one I explained how to estimate project delivery dates before your project had started. In this part, I’ve taken the same model but refined it so that you can calculate delivery dates (or re-calculate if you did the upfront estimate in part 1) once the project has started.

Why it’s important to re-calculate delivery dates during production

Not only is it useful for everyone involved to understand estimated delivery dates prior to production activities, it’s extremely important to refine your estimates once the project has begun. Up-front estimates are useful in so much as they help different teams plan and coordinate activities and to manage key stakeholder expectations around the bigger picture. But upfront estimates are the least accurate form of estimation. In order to continue to manage expectations, to refine plans and to make crucial decisions along the way (such as dropping a feature or shifting launch date) it’s important to regularly refine the original estimate based on data generated from the current project. Remember, estimates become more accurate the more you know about the project and the further you’re into the project (the only thing I can guarantee is how long it will take to complete a project once it’s complete).

The estimation

Your estimate should take the following formula:

Delivery estimate = (CE + WIP) / CR

Where:

CE = current estimated size of backlog

WIP = size of work in progress

CR = rate at which you complete work per day

This works however you size / estimate your project or even if you have ‘one size fits all’ tasks / stories.

Example 1 (with tasks):

Project is 18 days into delivery

Initial backlog consisted of 50 stories

4 stories in progress which were broken down to 7 tasks

6 stories complete which were broken down to 19 tasks

Average tasks per story = (tasks in progress + tasks completed) / (stories in progress + stories complete) = 26 / 10 = 2.6

Task completion rate = completed tasks / days into delivery = 19 / 18 = 1

Current estimated size of backlog = average tasks per story x stories remaining in backlog = 104

Size of work in progress = 7

Number of days to deliver = (104 + 7) / 1 = 111 days

Example 2 (with story points):

Project is 15 days into delivery

Initial backlog consisted of 20 stories

2 stories in progress which are estimated at 38 points

3 stories complete which were estimated at 48 points

Average points per story = (points in progress + points completed) / (stories in progress + stories complete) = 86 / 5 = 17.2

Point completion rate = completed points / days into delivery = 48 / 15 = 3.2 points per day

Estimated remaining points for project = (average points per story x stories remaining in backlog) + points in work in progress = (17.2 x 15) + 38 = 296 points

Number of days to deliver = 296 / 3.2 = 93 days

Example 3 (with unsized stories):

There’s a subtle but important difference to the calculation of the completion rate in this example because the project has been running for more than 20 days. I haven’t used the completion rate for the entire project but rather a moving average of the most recent 20 day period because it’s a more accurate reflection of current productivity. The general rule would be to take the most recent 2 or 4 week period for your calculation. Here, I’ve taken the stories completed in the last 20 days.

Project is 85 days into delivery

Initial backlog consisted of 30 stories

Backlog contains 5 stories

2 stories in progress

7 stories complete in last 20 days

Current story completion rate = 7/20 = 0.35

Number of days to deliver = ( 5 + 2 ) / 0.35 = 20 days

As we know, it’s rare that the scope of a project won’t change during the course of delivering so in part three I’ve covered how to include changes to your project in these calculations

--

--

We Make Waves
We Make Waves

Written by We Make Waves

We make digital products that deliver impact for entrepreneurs, startups and forward thinking organisations. Let’s Make Waves! wemakewaves.digital

No responses yet