Showing posts from December, 2007
An agile, iterative approach to software development differs from a traditional, waterfall approach in the belief that it is not possible to know everything there is to know about all requirements at the beginning of the project. This makes the agile approach an empirical process, wherein learning occurs throughout the cycle and new information is incorporated as it is derived, as opposed to the predictive or speculative process that assumes all can be known in advance. Still, one useful tool I've adopted from the waterfall approach is a formula for calculating most likely task durations. This formula is associated with PERT estimates and schedules, but I don't recommend PERT for software development. The formula is: (o + 4m + p)/6, where o = optimistic time estimate for a task, m = most likely time estimate for the same task, and p = pessimistic time estimate for that task. The equation produces the expected time for the task being estimated.