Keep calm and eliminate emotion
Finally, it is important to remain calm and leave emotion at the door. If you believe in the quality of the estimate and have communicated the issues and risks to your leadership, then you’ve done the best you can do. With good historical data to back up your argument and reasonable tradeoffs to present when the cost or schedule is in conflict with organizational goals you should feel comfortable standing firm with your position.
Of course chances are good that you won’t always win, especially if your organization is new to (or completely unfamiliar with) standardized estimating and data collection practices. At some point you may have to back down. At the end of the day the business gets to decide what it wants and when it wants it. It is the project leadership’s job to calmly inform them if and when their expectations are not reasonable and to present them with achievable options. Sometimes the business will respond and sometimes they will fail to bend – believing that this time history will be wrong. In this case the best the project leadership can do is to document their position so that it can be judiciously used in a future negotiation. The institutionalization of good data collection practices should inform negotiations into the future, which are increasingly less painless.
Conclusions
Software estimation is hard but with the right data, tools and methodologies it can be done with a reasonable amount of certainty most of the time. Despite this fact, we see indications everywhere that software projects are continuing to fail. Sometimes the failures are due to poor planning, sometimes they’re due to poor project management and sometimes they come down to the project leader’s inability to sell their plan to the business. Project leaders need to be able to communicate credibly to the business as to the specifics of the project that inform their project plans. They need to come to the table with a plan, the data that supports that plan and a few backup plans if the original plan is unacceptable. They need to educate the business about software development, software estimation and the importance of the Project Management Triangle – using this as a tool to facilitate good negotiations. The best, most well thought out and reasoned software estimate does neither the project nor the business any good if the business won’t accept it, buy into it, and grow it when requirements creep.