Ask anyone who’s built a successful software platform when they stopped working on it, and you’ll get the same answer: Never. Custom software projects aren’t clean-cut, start-and-stop ordeals. They’re an ongoing investment in building, continually improving, and enhancing a system.
We approach every project with the intention of working with our clients and their systems for the long-term. And we encourage clients to think of their custom software as a team member, investing in its growth for the long-term.
When we provide estimates, we make sure clients don’t see them and think, “Oh, cool. $200k to build, then I’m done.” A one-and-done approach to building software isn’t a good use of resources in most situations. We purposely have conversations with clients early on about what to expect for the long-term. Sure, we provide an estimate for the initial project of building a system, but we also talk openly about what to expect after that initial build.
Ongoing Software Costs to Consider
If you’re budgeting for a custom software project, here are some oft-forgotten costs you should account for:
Your system will need to be hosted somewhere, whether that’s on the cloud, your servers, or someone else’s servers. Regardless of where it’s hosted, there are costs involved, usually in the form of monthly, quarterly, or yearly charges.
3rd Party Integrations
Sometimes it makes sense to integrate a 3rd party component or tool, rather than re-inventing the wheel by building something custom. Examples include email services and e-commerce functionality. Many of these tools have ongoing costs. On the whole, money is saved through efficiencies, but you can’t forget to include these in your budget.
We use platforms like Boilerplate to get a head start on standard functionality so we can focus on building custom features. The advantages we gain from using a platform like this well outweigh the cost of license fees. But again, remember to plan for the ongoing cost.
It’s inevitable—you’re going to find things you want to change in your system. You’ll identify small areas for improvement, and we’ll work with you to prioritize them based on value. We recommend including a line item in the budget for support, and can help you identify an appropriate amount for planning purposes.
In addition to small support items, you’ll likely have a wish list of enhancements—new features and functionality that will bring additional value to your system. These can be done at whatever pace makes sense for your team, our team, and any other stakeholders. Enhancements are one of the most fun parts of custom software development—you’re past the stress of the original build and get to focus on making the system better.
We’ve found that a proactive approach to system maintenance is much more effective (cost and otherwise) than simply reacting as things happen. Because things will happen—there will be errors and we’ll need to look into issues. For clients who share our proactive mindset, we install system monitoring that runs every five minutes so downtime is minimized. We regularly review error logs and do initial analysis on errors that are found so we understand the problem and can identify, estimate, and share potential solutions with clients. This proactive approach helps clients better plan for maintenance costs and leads to a more stable system overall.
Custom software platforms aren’t a set-it-and-forget-it project. They require ongoing attention to make the most of your investment. If you have questions about ongoing system support, reach out.