Evidence-based scheduling: Difference between revisions

Content deleted Content added
This article has references to two other wikipedia pages, and references three outside articles.
Filled in 1 bare reference(s) with reFill 2
 
(28 intermediate revisions by 18 users not shown)
Line 1:
{{Short description|Software estimation based on data collection and analysis}}
'''Evidence-based Scheduling''' is a [[software]] [[schedule|estimation approach]] created by [[Joel Spolsky]], a commentator on software engineering principles<ref name="JoS Book">[http://www.amazon.com/dp/1590593898/ Joel on Software (book)]</ref>.
{{Use dmy dates|date=October 2017}}
{{refimprove|date=October 2017}}
{{Evidence-based practices}}
'''Evidence-based scheduling''' is a [[software estimation]] approach created by [[Joel Spolsky]], 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]].
 
==Including all time spent==
One of the core ideas of Evidenceevidence-based Schedulingscheduling, 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''<ref name="SPSG">[httphttps://www.amazon.com/dp/1572316217 Software Project Survival Guide]</ref> do not allow for accounting for non-project activities. WhilstWhile 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.
 
RecordingHowever, 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,<ref name="EBS">{{Cite web|url=https://www.joelonsoftware.com/2007/10/26/evidence-based-scheduling/|title=Evidence Based Scheduling|date=26 October 2007|website=Joel on Software}}</ref> 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.
As Spolsky points out <ref name="EBS">[http://www.joelonsoftware.com/items/2007/10/26.html Evidence Based Scheduling - Joel on Software]</ref>, 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 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.
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]] 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==
{{Reflistreflist}}
 
{{Evidence-based practice}}
 
[[Category:Software engineering costs]]
[[Category:Evidence-based practices]]