What’s the big mystery with software development budgeting? Shouldn’t it be a well-mastered skill by now? Not even close – at least for some companies. In fact, research cited in the Harvard Business Review found that one in six IT initiatives was a “black swan” with cost overruns of 200 percent. “That’s a pretty high rate of failure for estimation,” notes the article, which encourages enterprises to “stop estimating and start budgeting.” And recent research from McKinsey & Company and the University of Oxford says half of all large IT ventures, defined as those with initial price tags above $15 million, massively blow their budgets.
Here are 5 tips on how to plan a “smart” software development budget.
1. Be Cautiously Optimistic – One of the biggest mistakes you can make while budgeting for software development is being overly optimistic. Sure, you’re excited about the overall initiative and both the opportunities and financial success it can bring your company, but being overly optimistic is a common planning mistake. Of course, most people who plan software development are enthusiastic about the initiative – it’s a natural, unconscious thing. Instead, be realistic to ensure success. Software projects are always more complex than you originally believe they will be. No matter how good your original plan is, there will be changes. Give yourself budget and time contingency to deliver your features on plan. Think through all of the details and related expenses. Have your own opinions on the budget and get others to share their thoughts. Ask numerous questions about the budget and related development process. Make financial assumptions based on the possibility of missed deadlines, coding errors, testing and QA, staff changes, technical issues, etc. Make sure you’ve got a clear picture of how your estimates are created - is each contributor adding in a fudge factor or are you adding contingency? Consider how these issues can affect your budget and plan accordingly. If you’re overly optimistic, you’ll more than likely overlook elements of the plan because you didn’t ask the tough questions or consider all of the scenarios. Knowing is better than wondering - ask tough questions. Ask “What am I missing?” “What assumptions did you make when you created this estimate?”
2. Roadmap Your Budget – When you plan your software development budget, whether you outsource or insource, outline a complete roadmap that includes the planned releases; versions 1, 2 and 3; new features and updates; and so on. Recognize that because of cost and complexity issues, you may need to adjust scope to hit your timeline and budget. What’s the absolute minimum feature set you MUST have in version 1? Always account for changes and enhancements in your software, and include that in the plan and budget.
3. Plan for Technical Debt – It has been said that software doesn’t rust, but it does. Platforms get upgraded, tools are depreciated or go to end of life, integrations need attention because other systems are upgraded - the only constant in technology is change. Your UI starts to look like 1996 or your database platform performance grinds to a crawl as data volumes increase. Maybe your developers took a shortcut to hit a deadline and your application is suffering because of it. Refactoring and other forms of technical debt are a reality and you have to include space for that in your budget for each release. Often these changes don’t make the software itself function differently, they just make it run faster, more reliably or require less ongoing maintenance. Without a plan to “pay off” technical debt, you’ll definitely find yourself in budget trouble.
4. Don’t Neglect Quality Assurance in Your Budget – I previously worked with a startup that had a limited budget for software development and it couldn’t afford software testing or the professionals to implement it. Consequently, the quality assurance (QA) budget dollars went by the wayside. This isn’t the smartest decision, but it’s often one of the first things to go when a company shrinks a development budget. For many businesses, eliminating testing or QA of software leads to software bugs, poor software in general and severe financial consequences. Most enterprises, however, recognize the importance of testing and QA to software’s long-term ROI, so don’t neglect it. On average, IT spending on QA and testing has risen to an average of 35 percent of total IT spend, according to the Capgemini 2015 World Quality Report, and IT spending allocated to application quality and performance will continue to rise, reaching 40 percent by 2018. The key message: Invest in QA via your budget and avoid unnecessary costs later.
5. Consider Outsourcing as a Budget Solution – If you decide to insource, can you handle the “superstar” salaries that world-class software developers command? Your budget should be prepared for salary expectations of $100,000 to $250,000 a year for leading developers, along with benefits and operational overhead that tack on an additional 25-30% on top of salary. Then, assuming your budget makes it past the sticker shock, consider how long it will take to build your own internal software development team – as much as 6 to 12 months. Don’t forget to factor in costs associated with the recruitment search and the delay of a revenue-generating project. When you outsource software development, you can get a world-class team from around the globe – quickly – and save.
Outsourcing to certified and vetted and verified developers can not only help you maximize your budget, but also increases the value of your software engagement. Talk to an Accelerance outsourcing advisor about maximizing your software budget through outsourcing.