You’ve set aside a budget to get your app from the drawing board and into the wild. You’ve given the budget lots of thought and even added an extra buffer, you know, just in case.
But the surprising, hidden cost people often forget about is the invisible monthly maintenance that goes into keeping the app alive and kicking.
Some of the major monthly expenses:
1. Building new features to adapt to customer feedback – Apps need to grow and evolve to stay ahead of the competition while at the same time provide added value to users. A preferred approach is to nail down a limited set of features, the minimum viable product (MVP), and iterate using Agile methodologies and customer feedback – but this still requires ongoing development with dedicated developers.
2. Keeping a well-oiled machine – Critical platform updates, new devices, bugs, deprecated libraries, they all have one thing in common – they need developer attention.
Getting positive app reviews is imperative, and there’s no quicker way to the bottom than bad reviews due to app crashes.
Unless you’re building NASA mission-critical software, a good target goal is to aim below 1% crash rate for mobile apps. A comprehensive research study was carried out by Apteligent detailing crash rates on different platforms.
Every app needs to be monitored for increased crash rate, response times, latency and session length and other metrics. We monitor these metrics for you, as do other good dev teams, but the development costs still need to be taken into consideration.
3. Hosting costs and support services. Most mobile apps need persistent storage or some form of online connectivity, often requiring a backend, hosting and devops. Hosting costs can ramp up considerably when the user base grows, especially if the backend lacks optimisation. Secondly, someone needs to be on call to monitor backend stability and performance.
Plan for maintenance and upgrades
When scoping a budget, ask for quotes on maintenance. Present a roadmap of post-launch planned features along with a timeline of expected updates. Expect to pay at least one developer per platform, working part-time. In “Frequently Forgotten Fundamental Facts about Software Engineering” by Robert L. Glass, Robert mentions maintenance typically consumes 40% to 80% of project costs. Rahul Agarwal from Virginia Tech came to a similar conclusion in his “Software Development vs Software Maintenance” post.
Take into account any spending on support software such as analytics (Mixpanel, Flurry …), performance tracking tools (New Relic, Datadog …), notification services (Firebase), email delivery services (SendGrid, Mailgun, MailChimp …) and so on. These might seem small individually, but they can add up substantially.
Ask for initial hosting costs. Set a targeted Daily Active Users (DAU) metric and expected monthly unique visits. Even better, schedule load testing to determine the baseline performance of the backend. With cloud providers, hosting can easily scale up/down depending on the load. If built correctly, you’d be surprised how much traffic your backend can handle with cheap t2.micro instances (AWS). On the other hand, a poorly written backend can eat up $$$ for breakfast.
There are tools available for estimating infrastructure costs, and the accuracy of these depends on you knowing the server size required to support your DAU’s.
A simple checklist to follow:
– Set aside a budget for a part-time developer per platform for ongoing maintenance (tweaks, bugs, critical updates).
– Plan a budget for feature requests. Estimate the features and multiply with developer daily rate.
– Set a target DAU and expected unique monthly visits in the first year. Estimate hosting costs are supporting those customers (AWS estimator, Azure estimator, Google App engine).
Wondering how much it all adds up to? Let’s run through an example project in Part 2 of The app is out! Blog series. Stay tuned!