Top Blog Posts

back to the Blog

Why Your Mobile App Needs Maintenance – [Complete Guide]

Posted by Nithyakala Subramanian
6 years ago
Why Mobile apps needs maintenance

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.

Why your Mobile App needs Maintenance – three main reasons to keep your app alive:

  • Whether your app is iOS or Android, device specifications like screen size, resolution, and operating systems are always changing. You must update your app so it stays compatible and works as expected.
  • Feedback from your users will alert you to new scenarios, ideas, and bugs that you never knew existed.
  • Regular app improvements are critical to staying relevant in the market. They allow you to communicate with your users, motivating them to be active in your app instead of competing apps.

How to Keep App Maintenance Under Control?

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:

  • Documentation
  • Proactive testing
  • Source code version control
  • Support system

We’ll look at each in turn.

Documentation

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.

Proactive testing

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.

Source code version control

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.

Support system

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.

Why mobile app maintenance is important

Maintenance Issues Processes:

Support system guidelines

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:

  • Logging
  • Categorize and prioritize
  • Fix
  • Test
  • Deploy

Logging the issue

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.”

Categorize and prioritize

Once a ticket is logged, the support team analyses and categorizes it. Maintenance tickets can be classified into three main categories.

  • Functional issues: A feature in your app is not working as expected. Examples include “User is not receiving notification,” or “User is not able to flip camera from back to front when they tap the relevant button.”
  • Performance issues: For example, the app opens too slowly, freezes, crashes, or logs users out. Performance is a moving target; speed or other performance markers may be acceptable now, but expectations a year from now may change significantly. Proper maintenance keeps your app performing up to user expectations.
  • App enhancements: Good maintenance includes regular updates. Adding features based on user requests and market research keeps users engaged. After categorization, each ticket is prioritized according to the severity of the issue. The commonly used terms are critical, major, and minor.
    • Critical issues are those which stop the user from using the application: crashes (app closes automatically and exits the user out of the app), freezes (app becomes unresponsive to all interactions), servers/websites going down, etc.
    • Major issues are caused when the main features of the app do not perform as expected. Issues that recur frequently may also be considered major.
    • Minor issues could be simple UI glitches or problems with less important features of the app. Issues that occur very occasionally may also be seen as minor.
    • At this stage, when your support team is working on an issue, they change the status of the issue from “Open” to “In progress.”

Fix and test

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.”

Deploy

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.

Conclusion:

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.

 


back to the Blog

Enquire Now

Submit
Thank you for your enquiryWe will get back to you shortly

Let's Talk