When planning my work, I estimate the effort required as a range,
rather than a
single value. That is, instead of estimating a certain task will
take 4 days,
I'll use a range of 3-5 days. If I'm a bit less confident I know how
long it
will take, I'll use a wider range (e.g., 2-6 days).
When I first started doing this, I switched from using a single
'Effort' column
in org mode, to two columns (Effort_Low and Effort_High), simply
summing each
column to get an estimate for a composite task. However, this
magnifies the
level of uncertainty in the estimate. The final 'Effort_Low' value
tells me what
to expect if everything goes optimally; 'Effort_High' provides the
extremely
pessimistic view.
More realistic summaries come from considering the range of each
pair, using the
combined statistical variance in each (low, high) pair to determine
the variance
in the final value. This is the method used by LiquidPlanner, for
example.
I've been mucking about with org-colview.el to automate this
calculation for me,
and am quite pleased with the results so far. I've approached this
by adding a
new summary type ("est") to org-columns-compile-map, and extending
org-columns-number-to-string and org-columns-string-to-number to
convert ranges
to and from strings. This lets me populate an 'Estimates' column
with values
such as "[2 4]", and specify a summary type "est" to have the
algorithm
described above used to produce the final estimates.
I have two questions for the list:
1. Is this the right approach, or should I change the behaviour of
the
existing EFFORT property?