So you just got your fancy app created, it's launched, the first users are streaming in and you're having a great feeling of accomplishment. Congratulation, you just completed the first step in the long journey of application ownership.
Once the app is released to the app store, there is still a lot of engineering work. No matter how good your developers were, there will be some work required. I'd like to say you should plan on spending 15 to 20% of the original app price in cost of yearly maintenance. Let me break down the various maintenance areas:
- Bug fixing
- OS upgrades
- Backend maintenance
- Feature requests
Once an app is live you'll start to get some information about how your users are using your application, what error they run into and where does the app crash.
This information will usually come from a service like Crashlytics or Rollbar. Keeping an eye on those will impact your budget, but it is well worth it so you can catch issue before your entire user base catches them.
This one everyone is familiar with it. Once the application is used by thousands or more users, you'll start hearing about features which are not working as expected. You'll end up prioritizing the most egregious bugs and you'll live with the less important one. This is important to remember, no application ships without bugs, the difference between good applications and bad applications is simply the fact that good applications do not have a major bug.
This one is sneakier, people usually don’t think about it, but every time Apple or Google comes out with a new version, they introduce new features, change the look and feel of the phone and otherwise break your application in small fashion. This will require some work to update the application to be compatible with the new version.
And if this is a major upgrade from a visual perspective (think iOS7), then you will want to upgrade the visual look and feel of your app to match or have your app feel like it belongs to the 20th century.
Nowadays, very few applications run without some kind of server which stores some kind information. Those tend to require some maintenance. Think back up, checking the monitoring, database maintenance, certificate renewals, software updates and other very technical tasks.
If you don't perform those, you run the risk of your application not working at all for your users.
During the development process, you'll do your best to stay in touch with your users to make sure you build the perfect application for them. But no matter what you do, once the app is released, you'll get request from your now large user base for new features. Some you'll just table for later, other you'll think are great idea and will look into implementing. This is not maintenance per say, but still a cost to consider for the lifetime of your app.
So remember to budget some money for this part of the project too.
If you liked what you just read, don't forget to sign up for my newsletter and to share it with your friends.