When budgeting for software development, people often look at the headline cost of the initial development. In practice, the real cost is usually much more. However, by following a few common sense guidelines you can reduce the over-spend. Here are a few tips…

  • Re-work. In many projects I have worked on there has been, what I consider to be, too much unnecessary re-work. Usually, as the project nears completion, people get nervous (or excited!) and start inventing new requirements. In extreme cases, I have even seen the server interface re-engineered such that it affects the whole team. Spend more time upfront thinking about what you want and stick to it. Once the software has shipped you should aim to get feedback that will highlight the real issues that can lead to new requirements.
  • Inexperience. There are too many examples of projects where developers have over promised and under-delivered and existing development is handed on to new developers. These projects can be very expensive to resurrect and often have to be re-started from scratch. Choose a reputable developer in the first instance.
  • Support. End user support is often the last thing people think about. Almost all software has problems, even if they are just misunderstandings on behalf of the end user. They can be very difficult to diagnose remotely. Think about putting in diagnostics and logging into your software, early on, to reduce your support costs.
  • Supporting new smartphones. In most cases apps usually have to be updated at some point to support new phones. It will be more efficient, and less expensive, if your developer is still around to do this rather than appointing a new developer. When you first appoint a developer, assess whether they will be around for the longer term and gain their commitment.
  • White labelling apps. Another common (too) late requirement I have seen is to re-skin or white label an app. This one is tricky because it can also add unnecessary costs if you never need to re-skin. However, consider if you are realistically likely to provide the app for others to re-sell. If this hasn’t been designed in from the start then it can be time consuming and costly.