Agile programming notices that we're bad at forcasting, but concludes that we're systematically bad. The approach it takes is to ask the programmers to try for consistency in their forecasting of individual tasks, and puts the learning in the next phase, which is planning. So as individual members of a development team, we're supposed to simultaneously believe that we can make consistent forecasts of particular tasks, and that our ability to make estimates is consistently off, and applying a correction factor will make it work.
Partly this is like learning to throw darts, and partly it's a theory about aggregating biased estimates. What I mean by the dart throwing example, is that beginning... (read more)
Agile programming notices that we're bad at forcasting, but concludes that we're systematically bad. The approach it takes is to ask the programmers to try for consistency in their forecasting of individual tasks, and puts the learning in the next phase, which is planning. So as individual members of a development team, we're supposed to simultaneously believe that we can make consistent forecasts of particular tasks, and that our ability to make estimates is consistently off, and applying a correction factor will make it work.
Partly this is like learning to throw darts, and partly it's a theory about aggregating biased estimates. What I mean by the dart throwing example, is that beginning... (read more)