Kent Beck
2005-03-09 17:06:46 UTC
Ron,
I've been thinking about your question, "Isn't the expected value of 12 gold
higher than the expected value of 8 gold and 4 silver?" I believe the answer
is yes, the expected value is higher for 12 gold *IF* you only look at the
mirco-scale of development itself. If you look at the bigger picture, of the
whole organization creating value from software, then the expected value of
a 95% chance of 6 gold is most likely much higher than the expected value of
a 50% chance of 12 gold. If we put 12 gold into our schedule, marketing
prepares their materials based on 12 gold, we ask customers lots of
questions about all 12 gold so they start anticipating having all 12, the
sales teams sells all 12 gold, then, when half the time we don't deliver the
whole thing comes apart. We put more up-front planning in place (which can
easily chew up 30-40% of the schedule). We put in QA phases which are really
slack-in-disguise to finish the features. Marketing insists on beta testing,
which is a big disruption. Sales knows they are mostly selling vaporware, so
they act accordingly and so do the customers. The friction of uncertainty
brings the flow of value to a crawl.
That's why you insert slack. You crank up the certainty of your scheduling
until the value begins to flow. Then you slowly crank up the speed as your
ability to estimate improves.
Kent Beck
Three Rivers Institute
I've been thinking about your question, "Isn't the expected value of 12 gold
higher than the expected value of 8 gold and 4 silver?" I believe the answer
is yes, the expected value is higher for 12 gold *IF* you only look at the
mirco-scale of development itself. If you look at the bigger picture, of the
whole organization creating value from software, then the expected value of
a 95% chance of 6 gold is most likely much higher than the expected value of
a 50% chance of 12 gold. If we put 12 gold into our schedule, marketing
prepares their materials based on 12 gold, we ask customers lots of
questions about all 12 gold so they start anticipating having all 12, the
sales teams sells all 12 gold, then, when half the time we don't deliver the
whole thing comes apart. We put more up-front planning in place (which can
easily chew up 30-40% of the schedule). We put in QA phases which are really
slack-in-disguise to finish the features. Marketing insists on beta testing,
which is a big disruption. Sales knows they are mostly selling vaporware, so
they act accordingly and so do the customers. The friction of uncertainty
brings the flow of value to a crawl.
That's why you insert slack. You crank up the certainty of your scheduling
until the value begins to flow. Then you slowly crank up the speed as your
ability to estimate improves.
Kent Beck
Three Rivers Institute