- Views: 7
- Report Article
- Articles
- Computers
- Programming
6 Categories of Web Application Maintenance: From Bugs to Scaling
Posted: Nov 01, 2016
Clients often suppose that as soon as their product is released there’s nothing left to do. But it’s not so simple. Web applications are constantly growing and evolving, and must be maintained. Keeping apps secure, stable, useful and up-to-date takes time.
Web maintenance is as vital to an app as food and water are to you. If you don’t eat and drink, you’ll die. But what happens to a web application if you don’t tend to it after it’s released? (Hint: it will probably also die! – or at least not make you very much money.)
1. Bug Fixes
You’re not the only one who faces bugs. And actually, you shouldn’t be afraid of them. Why? Because in software development nothing is accomplished without a few bugs along the way. Bugs enter code for various reasons, including human error, miscommunication, unrealistic release schedules, lack of version control, buggy third-party tools, and last-minute changes.
Bugs can be of different varieties: some are critical and really hinder your app’s functionality, while others are more inconspicuous. But no matter which variety of bugs appears in your product, they need to be fixed.
Let’s imagine that you’re trying to create a new account in an app. To do so you need to log in and fill out all information about yourself: first name, last name, age, phone number, etc. Once you’ve entered this information, you click the ‘Create Account’ button. But instead of going to a screen that says"Your account was created successfully," the app crashes and you get an error page.
How do you feel in such situation — angry, irritated, disappointed? Your users feel the same way. Always put your users first, and make sure that urgent bugs – such as issues with registration – are fixed as quickly as possible!
Fixing bugs is a normal process, typically costing 5-10% of a project’s initial development time.
2. Third-party API updates
Your web application is probably connected to third-party services such as Twitter and Facebook. But third-party services change their APIs. When this happens, your app needs to be updated with new service APIs. If you don’t update it, then your web application simply won’t work.
This kind of maintenance is not too frequent, as most popular services like Facebook Messenger support both old and new API versions.
It usually takes 8-16 hours for programmers to update an application to support new third-party APIs.
3. Security patches and updates
It’s common for software and apps to update automatically. But lots of software still requires your help for updates. Are you tired of constant updates? Why are they really needed?
The purpose of updates is not to annoy you – though that may sometimes be the result. Updates contain important changes that improve the performance, stability and security of applications. Installing updates ensures that your software continues to run safely and efficiently. Software should always be patched or updated to avoid security issues.
Remember: The less secure you app is, the less people will trust it. Software has its own updating dynamic. Software should check for updates at least once per month.
General software updates take about as much time as API updates, but the amount of effort required really depends on how much code you’re working with. Roughly speaking, regular updates will require 3–5% of the time spent on initial product development.
4. Implementing new functionality
New functionality is generally added because a certain feature gets really popular and you decide to expand it, or because a competitor is offering a new feature and you want to keep up. When thinking about new functionality, just keep in mind that more features doesn’t always mean a better product.
Adding new features is a normal process. But don’t get carried away. Stay focused on the specific problem that your product solves, and make sure that each new feature solves that problem even better. Base your new features and feature modifications on user feedback to make sure that your development is moving in a direction that your customers want.
The cost of adding new functionality will be estimated in the same way that your initial development costs were estimated.
5. Hardware Upgrades or App scaling
Imagine that you’ve developed an MVP for your web application, but it’s become a lot more popular than you expected. Your userbase is increasing every day. It’s pretty exciting, but it’s also a challenge – a call to action. Your app needs to be high-load.
As more users adopt your app, the load on your servers increases. It’s common to not have enough server capacity at first, as it’s difficult to predict the number of users you’ll actually attract with an MVP.To keep your app work properly, you’ll need a team to transfer your app to a high-performance server. You need to give your app more power. Don’t hesitate to do this. If you don’t, your app soon will be overloaded, will crash, and users will leave.
For an MVP it’s typical to use cloud hosting such as Amazon Web Services. AWS is a cheap and quality solution, and with AWS it’s easy to reduce or increase your server capacity. It takes only about eight hours to upgrade.
6. MonitoringAs we’ve mentioned previously, bugs can appear unexpectedly and APIs can change. That’s why your web application needs constant attention and care. One option is to hire a company that will monitor your app and send you instant alerts for rapid problem resolution. Our team can set up a maintenance alert tool for you if you’re comfortable dealing with the actual updates on your own. Alternately, you can have a team monitor your app and perform updates for you.
Monitoring takes around 8 to 16 hours per month.
Regular web application maintenance retains customers and balances costs
Web application maintenance is just as significant as initial product development. Proper bug fixes, improvements and upgrades are necessary for maintaining customer loyalty. Keep in mind that your end users notice even minor enhancements, and these small updates show that you care about their feedback and that you will continue to support your product.
Think about maintenance in advance, not six months after your product launch. Regular maintenance will keep your customers happy and keep its costs manageable and predictable. Remember that not maintaining your app will cost you more in the long run due to lost revenues and the high cost of massive updates when your product starts failing one year down the road.
Originally published at https://rubygarage.org/blog/web-application-maintenance
Sviatoslav Andrushko is a content manager at RubyGarage. Sviat adores writing about web development, web design, testing, and other IT-related topics.