Five-Minute-Task Time Estimate Worksheet
One of the great unsolved problems in software development is the task of estimating time required for a software project. Lots of different reasons have been given for this, ranging from programmer ego to software development complexity. Rather than focusing on causes or theoretical approaches, I herein offer a practical guide to improving time estimates for the worst-case scenario, the dreaded Five Minute Task.
(For your convenience, the first two answers have been filled in.)
Preliminary Estimate
How long will the five-minute task take? 5 minutes
Detailed Worksheet
For each item below, please provide your best estimate for the time required for completion. DO NOT enter zero for any field!
| basic changes/development: | 5 minutes |
deal with the compile-time errors you failed to anticipate: |
|
deal with an obscure compiler error you've never seen before: |
|
figure out why it dumps memory before executing first line of code: |
|
figure out why it still dumps memory, even though you fixed the problem: |
|
total time of other staff in helping you with previous item: |
|
completely rewrite it to work around obscure system or compiler bug that could not be solved even with other peoples’ help: |
|
deal with additional compile-time errors introduced by rewrite: |
|
figure out why it dumps memory again: |
|
it seems to work; now fully test all new/changed functionality by hand: |
|
correct problems found: |
|
code for obscure error conditions or user input exceptions that you didn't think of until just now: |
|
add some features that would be easy and relevant that you didn't think of until just now: |
|
compile again: |
|
test again: |
|
write/update program documentation: |
|
write/update user documentation: |
|
rewrite documentation that you lost from the power failure: |
|
install software: |
|
test the installed version: |
|
figure out why installed version doesn't work or works differently than before: |
|
fix install problem: |
|
install documentation: |
|
update source control area: |
|
deal with installed software changes crashing all systems at random intervals: |
|
total time of other staff in helping you with previous item: |
|
fix software: |
|
compile: |
|
test: |
|
install: |
|
deal with innaccurate bug reports from 2 percent* of your userbase: |
|
deal with accurate bug reports from 1/2 percent* of your userbase: |
|
fix user's legitimate complaints: |
|
compile: |
|
test: |
|
install: |
|
document the complete redesign that you now realize the system needs, but that you don't have time to do: |
|
Total of all above answers:
Revised Estimate
How long will the five-minute task ACTUALLY take?