Software Project Estimation and Tracking

Values

The following values may be useful for estimation and tracking a software development.

Story Point

A Story Point is a relative estimate of effort to implement a functional requirement. Functional requirements are often stated as User Stories. For Story Points to be useful the estimates should be consistent across all functional requirements.

Estimated time remaining

The number of hours left to implement a task. The original estimated time remaining is the task estimate. The estimated time remaining is an optional value, though it is useful for tracking task progress. It may be shown on a burn down chart. The estimated time remaining is usually updated prior to the daily meeting.

Actual Time

Actual time is the time taken to complete the task. This value is important as it gives the story points meaning. It may be captured when the task is completed, but often captured daily prior to the daily meeting. It can be display a burn up chart.

Purpose Of Values

Story Point

Accurate task estimation is difficult, time-consuming and hence costly. Story Point estimation is a technique used to provide fast, cheap and accurate estimates. It achieves this by tracking past performance and using this historical data to predict future performance.

Once several tasks are complete the following is calculated.

Screenshot 2019-03-21 at 20.40.53.png

It should be clear why Story Points should be consistent relative estimates.

Estimated Time Remaining

The Estimated time remaining is a prediction of when a task will be completed. It is useful for track progress and often plotted on a burn down chart. Estimated time remaining constant or going up indicates an issue which needs addressing.

Actual Time

Story Points are estimates for functional requirements. Actual time is the total hours taken to implement the functional requirement, and its associated non-functional requirements. These non-functional requirements include:

  • Business requirements
  • User requirements
  • Architectural requirements
  • Implementation requirements
  • Quality requirements
  • Performance requirements
  • Reliability requirements
  • Maintenance requirements, etc.

The Actual Time is useful to track the cost of developing the software. It is also required for forecast using the Story Points.

What Are The Values For

Story Point

Story Points are used by the Product owner to predict when features will be completed. This is useful when creating a product roadmap. Story Points can be used to predict the cost of a feature. This is used to determine if a feature is worth implementing and for establishing priorities among multiple features.

Estimated Time Remaining

Used by the developer and product owner to determine when a task will be completed.

The original Estimated time remaining is called the Task estimate. To generate an accurate Task estimate the developer performs a certain amount of design, identifying sub-tasks and estimating their implementation duration. Sub-tasks can be repeatedly broken down into further sub-tasks, until the developer is satisfied they can accurately estimate a subtask’s Task estimate. By comparing the Task estimate to the Actual task time, the developer can determine wether they are estimating accurately. It is possible to calculate an error factor which is used to correct the Task estimate.

Actual Time

Used by the developer and product owner to track the actual time and cost of implementing a task.

References

https://www.scrum.org/resources/blog/why-do-we-use-story-points-estimating

https://labs.openviewpartners.com/scrum-points-why-story-points-are-better-than-hours/#.XJOrxUQzbUI

https://www.mountaingoatsoftware.com/blog/its-effort-not-complexity

https://medium.com/@mdalmijn/12-common-mistakes-made-when-using-story-points-f0bb9212d2f7

 

Leave a comment