Evidence-based scheduling is a
software estimation approach created by
Joel Spolsky
Avram Joel Spolsky (born 1965) is a software engineer and writer. He is the author of ''Joel on Software'', a blog on software development, and the creator of the project management software Trello. He was a Program Manager on the Microsoft Exce ...
, a commentator on software engineering principles. Evidence-based Scheduling is based on at least two core ideas: including all time spent, and using a Monte Carlo completion date prediction method. Evidence-based scheduling is an example of an
evidence-based practice
Evidence-based practice (EBP) is the idea that occupational practices ought to be based on scientific evidence. While seemingly obviously desirable, the proposal has been controversial, with some arguing that results may not specialize to indiv ...
.
Including all time spent
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''
[Software Project Survival Guide](_blank)
/ref> do not allow for accounting for non-project activities. While 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.
However, 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. Similarly, as Spolsky points out, 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.
Monte Carlo method
Another core idea is the use of the Monte Carlo method
Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be determi ...
to predict project completion dates. This method evaluates how reliable previous estimates have been. Instead of a single completion date, the method results in multiple possible completion dates, each with an associated probability of being correct.
References
Software engineering costs
Evidence-based practices
{{software-eng-stub