Many app entrepreneurs assume that their work is finished when the mobile app goes live. Little did they know that Mobile app Maintenance can play a critical role in their overall app success story. After developing their great idea, finding the money to help bring it to life, polishing all the bugs out of it, and getting it live on app platforms, the work is far from over, and a different stage of the journey begins.
Once your app is live, it is living in an environment of users, devices, and operating systems which constantly change.
There are four main areas to set up and use that will help you keep the app maintenance under your control, instead of the other way around. They are:
We’ll look at each in turn.
This is a process to start early in your build process. You document your app features and functions in a requirement document. You also document information and make comments within your source code, so anyone can understand the code quickly. Good developers maintain proper documentation that pays dividends for the lifespan of your app. Every time you make changes to the app, you must change the documentation to reflect it or at least update your documents every three to six months.
For instance, what happens as team members come and go? It’s almost certain that different people will work on your app over time. Good documentation saves hundreds of hours of time in analyzing, understanding, and explaining the app to new team members.
Before you go live, you will test your app using a variety of popular devices and operating systems. But as the environment in which the app lives constantly changes, you never stop testing. Regular proactive testing ensures you find issues before your users do. This will allow you to prevent negative reviews on your App Store page.
You’ll test your app, not only to see that it works as you intend but also to see what happens under heavy usage. This is referred to as load testing. Is there enough memory in your server? If the usage increases by 1000% overnight, will it crash? Load testing is done by creating an artificial load (instead of real users) on your app and servers by using software tools. This allows you to prevent the app and app server from going down when usage spikes unexpectedly.
As the developers work on your app’s code, they have different versions of the code which relate to different versions of your app. Your developer should maintain each version with information on what part of the code is changed, added, or removed, and why. Without it, things can get messy.
For example, say the new version of your app includes a camera integration feature. If this feature update is affecting the performance of other parts of your app, you may decide to go back to the previous version. Source code repository tools allow you to do that easily by maintaining source code versions effectively. There are many free and paid tools, based on the features they offer.
BitBucket and GitHub and are very popular in the app startup community. You can search online for a variety of options.
Before you go live, make sure you have a great support system in place. This is the foundation of providing good support to your users, as well as maintenance to your app. Support systems (also called issue tracking or ticketing systems) allow you to record and maintain the status (open, in-progress, resolved, or closed) of every issue that arises in your app. All your maintenance tasks, like bug fixing, performance improvements, user experience improvements, and new features, can all be maintained in one place.
There are plenty of systems available. Atlassian’s Jira and Freshdesk are really good for this purpose. You can see a comparison of a number of options here.
Maintaining your app can become a wild octopus. Setting up the processes and tools we’ve reviewed here will let you tame the beast before it unleashes havoc on your app.
To ensure support systems are useful, you need to use them correctly. Let’s take a closer look at the process involved as maintenance issues arise, are tracked, and get resolved in the support system. What I share here is just a method and there are a number of methods and steps you can use for this purpose.
There are five main steps to tracking issues in a support system:
When someone spots a problem, they create a “ticket” to log the issue and start the process. Tickets can come from your own team, while testing the app, or, after launch, from end users’ feedback, and are recorded in the issue support software.
In fact, you can even allow your users to log issues directly into your support system. You’ve probably experienced this if you’ve ever emailed a support request on a software company’s website and received an email in return giving you a reference number for your ticket. Many support systems, like Freshdesk, allow your users to report issues directly from within your app and logs them automatically to your support system. At this stage, the status of the issue is marked “Open.”
Once a ticket is logged, the support team analyses and categorizes it. Maintenance tickets can be classified into three main categories.
Once tickets are prioritized, the developers have an order in which to address them. They fix the problem, test their fix, and submit it for User Acceptance Testing. The team may change the status of the ticket to “Fixed” or “Pending approval.”Only after the product owner or typical users test the app and say the problem is fixed is the issue considered resolved and marked “Resolved.”
Now the fix is deployed to the App Store or Google Play in-app update. The ticket status is marked as “Fixed-deployed” in your issue support system. If the same issue occurs again, you can also Reopen an issue that was Closed or Resolved.
Now the stages and the words used for the status are just examples. Different systems use different words. The key is to have a system and a process so anyone in your team including your users can know the status of a ticket by simply logging into the system. Without such a system and process in place, maintaining a live app can become very challenging.
Aside from the technical environment, the market also changes. New compliance requirements are introduced. Competitors introduce cool new features, and you need to match or exceed them. Users request new functionality and contribute fun ideas.
In short, maintenance is required for however long you want your app to stay usable and relevant in the market.
But that’s good news! It keeps your app active and profitable, and it builds a community just waiting for your next app to be released.
Writing Credits: B Kris, Founder, Appomate.