What Kind of Support Costs Should I Plan for When My Software Project Is Done?
When we help our clients evaluate and plan the development of a custom software application, cost is always an important topic. In past posts, we’ve talked about cost from a variety of perspectives:
- Development and implementation costs of custom software
- The cost of onshore versus offshore software development, and
- How to get an accurate estimate of costs
Today, we’ll discuss what kind of support costs you can expect after you’ve gone live with your custom software project.
Why Consider Post-Implementation Support Costs?
Much like the purchase of an automobile or house, your investment in custom software doesn’t end after go-live. To keep your custom software running well, you’ll have to invest time, money, and effort into maintenance. With custom software, you own the software, and you also own the responsibility to maintain the software and keep up with changes in the underlying technology.
But, what kind of support costs should you consider with custom software? What are your options? Whether you’re budgeting for custom software you’ve already built, or evaluating a future custom software project, you should know what it takes to support the upkeep of your software.
Which Factors Influence Support Costs?
Many factors will determine what you need and how much you’ll spend. Below is a list of some of the most common post-development support costs you will likely encounter:
1. Hosting Environment Support
Today’s mobile and web applications rely on logic or code that runs on a server, either on-premise or in the cloud. Managing that hosting environment costs money. How much money depends on the scale that your system supports and your disaster recovery strategy.
A rule of thumb that I share with clients is that hosting environment support costs vary between $300 and $1200 monthly, and depend on whether you need services like:
- Load balancing
- Multiple servers
- Failover environments
- Redundancy and back-up
Where will your costs fall on this spectrum? Generally, support costs will be higher for mission-critical systems such as an ecommerce website or internal order management application. For mission-critical, high-availability situations, it is recommended to design for redundancy, which leads to more servers and infrastructure, and higher costs. For internal applications, with a small footprint and low criticality, you can often get away with a significantly lower hosting cost in exchange for a longer downtime if the system fails.
2. Application Support
Even when your hosting server is up and running, your app may not be. Applications can fail on their own, independent of their hosting environment. To keep your app running, you need to have a support strategy that includes developers who are familiar enough with your app to jump in and debug problems when they occur. There are two buckets of application support costs you’ll need to consider:
- Troubleshooting – Resolving issues as they emerge
- Application Development – Maintaining your app so it meets its requirements
Whether you have internal development staff or you engage a third party to support your app, you should plan for some level of resources and cost for both responding to issues and for the general care and feeding of your application. How many hours will you need for application support?
For mature apps that rarely change, you may only need a few hours monthly. For high-use or mission-critical applications, you might need anywhere from 40 to 80 hours of support per month to ensure you have knowledgeable staff and high service levels. Applications that have been recently released and are still evolving and maturing might require a full-time dedicated support resource for a few months.
3. Customer Support Costs
Customer-facing apps face unique support costs. When you sell custom software to customers, they often have questions, run into issues, and generally expect you to provide support. Customer support issues are likely to occur due to user misunderstandings and errors even if your hosting solution and application are both running perfectly. You may need a customer support function to respond to support requests and provide customer education independent of any other technical support needs you may have.
4. Product Evolution & Enhancement
Some software products are released as Minimum Viable Products (MVPs), with the expectation that the product will grow and evolve over a series of software releases. In some cases, the product owners don’t intend to evolve the product, but find it necessary to respond to user feedback. For example, imagine a mobile app with users consistently requesting a feature addition in their App Store reviews. Also, as technology changes during the life of your custom software, you may need to update your software so that it keeps working as technologies evolve. It’s important to update applications so they stay compatible with underlying operating systems and technology.
We tell our clients to approach these updates as they would preventative maintenance on a car. If you keep up with regular updates, your application will last longer, and have a much-reduced risk of running into major issues with high resolution costs.
With custom software, you’re investing in your business and the services you provide to your internal and external customers. Like all investments, it’s important to spend time and resources to protect your custom software and make sure it continues to fulfill its purpose today and throughout its life. Planning ahead for the kinds of support costs you’ll encounter when you develop custom software doesn’t just make financial sense, it also means you’ll be prepared to maximize the lifespan of your software and the value of your investment.
Check out our downloadable checklist, What to Consider When Creating Great Software, to see some other questions we raise with our clients when they are considering whether custom software is right for them. We believe the best customer is an informed one.