The need for estimates and plans When software engineers work on development teams, they generally have many interdependencies. As they decide how to start, they also decide what each team member will do and what parts are needed first. As part of these discussions, the engineers need to commit dates to their teammates and, to do this responsibly, they should plan their work. This is the only sound basis for committing completion dates. When they all make plans and share these plans with their teammates, engineering teams can better coordinate their work and more efficiently support each other.
Plans also provide early estimates of project cost.
This is essential when work is done under contract and the customer wants to know the price in advance. It is also necessary when products are being developed for a product line. Here, project cost is a key determinant of product price and price is generally an important element of product marketability. Engineers also use product plans to help them understand the status of their projects. When they have reasonably accurate and detailed plans they can judge project status against the plan.