If your company is planning to invest in a custom mobile app, it’s important to have a big picture view of your ongoing app maintenance costs…beyond the initial capital expenditure.
We want to help you with that.
Your ongoing cost of owning an app includes items in several categories. Some, or all, of these will apply to your organization: routine maintenance, bug fixes, technical debt, new features, hosting, help desk support and training.
Let’s look at the ongoing costs of a custom app in more depth.
1. Routine App Maintenance Costs
It’s common knowledge that cars need maintenance (oil changes, tire rotations), and homes need maintenance, software is no different.
You should plan to have your app designing company on retainer for a certain number of hours each month (or quarter) to handle the typical maintenance items I’ll cover below. The cost of maintaining an app will vary depending on the complexity of your app, so this is something to discuss with your developer.
In the world of mobile apps, routine app maintenance costs include:
a) iOS/Android Compatibility Updates
Once a year both Google and Apple release a major update of their operating system (OS). Your mobile app will be installed on top of those operating systems, and when your users update their device to the latest version of iOS or Android, you’ll want to know in advance that your app is compatible.
It is not uncommon for certain features of an app to stop working when the underlying OS on the phone is updated. Ensuring your apps are compatible with the latest versions of iOS and/or Android is a bare minimum maintenance requirement.
Fortunately, Google and Apple release beta versions to developers, in advance. This gives us time to test your applications against the upcoming version, and proactively fix any issues so your users aren’t impacted.
Ensure that the app maintenance plans your developer offers include this:
b) Device Compatibility Updates
If you’re an Apple user you’ll remember when the company released their iPhone 6. The iPhone 6, and iPhones since then, are noticeably larger than previous generations.
If you had owned an iOS app at that time, you would have needed to have your maintenance team review every feature of your app on the larger screen size to be sure the design scaled up. They would also need to submit an update to the app store listing with screenshots of your app at that larger size.
This type of maintenance is unpredictable (i.e. we don’t know what new devices will be invented in the coming years) so it’s best to consider it an “as-needed” service that can be addressed with your app maintenance retainer.
c) Security & Miscellaneous Updates
Occasionally, a third-party library or framework you use will release a new version. It’s important to keep on top of these as they address bug fixes or security issues. You maintenance plan should include time to check and update any third-party code or components that your app uses.
2. Bug Fixes are Included in the Cost of Owning an App
You may not notice any post-release bugs if your app was well-tested before it was released. Or at least not any that are easy to find, or part of the core functionality. But, the more complex the software, the more likely bugs will crop up, even if infrequently.
Your team will keep track of these, prioritize them and decide which need to be fixed right away, which can wait, and which might wait forever.
3. Paying Down Technical Debt
Technical debt is worthy of its own dedicated blog post. It’s what happens when you make a decision while developing software, that results in wanting to change something in the future. This includes:
- The decision to go light on test coverage now, which makes testing take longer later, so you want to go back and write more automated tests
- The decision to code something in a less than optimal way because it will save time now, later you want to go back and update it
- The decision to use a certain third-party library because it will save your team months of time now, but you need to update that library later
Like financial debt, technical debt grows overtime, especially if not managed.
Unlike financial debt, technical debt is unavoidable. You can make choices to reduce it, but new and better ways of doing things will come along, technology changes. You can’t get around this one folks.
It is imperative that you include time in your budget for paying down technical debt. Your developers can advise you on how much time is recommended. If you do not pay it down, the small amount of technical debt you start with will turn into a mountain. FYI – opting out of routine maintenance (described above) is a form of technical debt that grows shockingly fast.
4. Adding New Features is a Common Cost of Maintaining an App
Sometimes companies make the mistake of thinking version one of their app will include every feature they’ll ever want or need. That is not the case. Inevitably, users will make requests you did not anticipate and even your own team will have new ideas.
This is the nature of technology, it’s always changing. Imagine if Apple considered the first iPhone a final product, or Microsoft considered the original version of Windows as good enough. It’s just unrealistic. Your company absolutely needs a yearly budget for new features.
This budget should be separate from your standard maintenance retainer. Please discuss this with your app developer. Once the initial mobile app development is over you’ll all have a better idea of what the next year of updates may look like. Your developer can also make suggestions based on their very thorough familiarity with your code base, your approximate yearly budget and what is most important to your team, and users.
5. App Maintenance Costs Always Include Managed Hosting
Your company may already have access to hosting services or servers that your application can piggyback on. If not, it will be necessary to purchase managed hosting.
Your developer can explain what you’ll need once they finish the system design stage of your project.
If your developer does not provide managed hosting as a service, and you don’t have an internal IT department or person, you’ll need to find a company to provide hosting services.
6. Help Desk Support for Users
Depending on the size of your existing technical support department, and the number of users who will have your app, you may be able to piggyback on the support team you already have.
In any case, you’ll want to be sure you have resources on hand for when the inevitable happens…a user can’t figure out how to use your app or has a problem (either real or perceived) with it.
Users of your app may be internal employees or external customers. In both cases, you’ll want to have someone(s) on hand that they can contact for help. The more users you have, the higher your support needs will be. At some point it’s advisable to have a technical support department that can address user issues and funnel bugs to your product and development teams.
If you don’t already have an internal support department you can choose to: hire someone, reallocate existing resources, or outsource your help desk needs to a third-party provider.
7. User Training
Depending on the complexity of your software, this could be a minor consideration, or it could be more substantial. As with any applications your team will need to use as part of their job, a time allocation should be made to getting new users up to speed with your app.
Learn More About App Maintenance Costs with Big Fish
So, how much does it cost to maintain an app? The investment in custom software design is an important one, and getting CFO approval will be easier when you have a clear picture of the app maintenance cost related to this investment.
If your team has already decided to move forward with a custom mobile app, please reach out to us, we’d love to discuss the possibilities.