Imagine a software development process where “Big Picture” estimates can be generated before detailed planning takes place, where the estimates can be accessed on the web, and where only three or four inputs are needed to generate reliable information. This process would include intelligent models that take into account historical data and there would be a back office team that specializes in software customization available to do the heavy lifting. Finally, there would be business analytics and industry data (plenty of both) to help with project target negotiations and risk trade-off analysis.
Thankfully, there are science-based estimation solutions available that include the capabilities mentioned above. These packages can make estimation easier, more transparent, and help manage the uncertainty that can come with early planning. There are technology organizations that are using these types of tools to improve their time to market and the accuracy of their software development estimates.
But there are many organizations that still struggle with estimation. They spend millions of dollars each year developing and delivering software. The planning usually starts with senior management asking tough questions about cost and schedule targets. The project leads then try to come up with effort estimates for each person on the project based on experience and gut feel. These effort numbers are tallied up in spreadsheets to come up with an overall estimate, the numbers are usually negotiated and then a final estimate is born. The problem with this process is that it takes a long time to carry out and the estimates are usually inaccurate. This is because the methods don’t take into account the non-linear relationships, integration, and overhead that we often see in software development. When the estimates are off, millions of dollars are spent trying to change course. The rest is history.