There is a tremendous amount of time and effort expended up front with traditional project planning, and one area in particular that is problematic is the tasking out of all of the work and guesstimating a duration associated with each and every task. There are two flaws with this:
- Software projects are the most unpredictable in the early stages of a project. A team needs to perform actual work to get their arms around the project.
- As I pointed out in Optimism Isn’t Just for Developers, people generally underestimate task-completion times.