Email iconarrow-down-circleGroup 8Path 3arrow-rightGroup 4Combined Shapearrow-rightGroup 4Combined ShapeUntitled 2Untitled 2Path 3ozFill 166crosscupcake-icondribbble iconGroupPage 1GitHamburgerPage 1Page 1LinkedInOval 1Page 1Email iconphone iconPodcast ctaPodcast ctaPodcastpushpinblog icon copy 2 + Bitmap Copy 2Fill 1medal copy 3Group 7twitter icontwitter iconPage 1


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


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