Jump to content

Evidence-based scheduling

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Pegship (talk | contribs) at 04:06, 18 February 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Evidence-based Scheduling is a software estimation approach created by Joel Spolsky, a commentator on software engineering principles.

The previous page describing the approach was deleted on the grounds of it being blatant advertising (Spolsky's company sells a tool which includes it as a feature). It was recreated on the grounds that this technique is an important software engineering technique for the community and Spolsky's original blog posting [1] of the idea is sufficiently clear for anyone to implement it.

One of the core ideas of Evidence-based Scheduling, that adds to the normal estimation practices, is the idea of including all time spent, regardless of relevance.

Most people, when estimating, measure the time they actually spend on a project - classic Time Accounting categories such as cited in McConnell's Software Project Survival Guide[2] do not allow for accounting for non-project activities. Whilst McConnell goes on to include less obvious activities such as holidays, sick days and project support, he and most others identify such as activities to be separately recorded.

Recording and attempting to budget for secondary activities often leads to political pressure to drop such activities. In practice, people find themselves unable to avoid them and compensate by working overtime.

As Spolsky points out [1], your bosses' stories about his fishing trips, or model helicopter, are both a time-sink and politically dangerous to put on a time-reporting system.

The key insight in Evidence-based Scheduling is that the only thing which needs measuring is the actual delivery of tasks. Over time, it is assumed that all other distractions will average out.

For the purposes of estimation, variations due to interruption will show up as inaccuracies in estimation and will be compensated for by statistical analysis. The reasons for anomalies may come out if the organisation wishes to dig deeper into why people have irregular estimates.

The appeal of this idea is simplicity - the amount of evidence to be created is simply the elapsed time between completing tasks and, another vital point, time spent debugging is applied back to the original task.

  1. ^ a b [1], Evidence-based Scheduling blog posting 2007
  2. ^ [2], Software Projeect Survival Guide