Often our clients ask: “How much does it cost to maintain an app?” or “Is it expensive to support our legacy software?”. Well, it is a quite complicated question without a single-valued and straightforward answer.
At Azati we think that modern businesses problem conserned the lack of information about software maintenance. It is not enough to know the exact numbers.
To understand the application maintenance and support processes you need to answer the three core questions:
– What software/application monitoring/support is in 2021
– What factors affect the maintenance price
– The most popular categories of software maintenance (support)
Let us answer that question and discover what is the actual cost to maintain an app. If you need the exact numbers with examples – skip to the end of the article.
WHAT IS THE APPLICATION MAINTENANCE IN 2021
The software development industry rapidly changed in the last several years. From year to year, the software development costs are decreasing. Today the software is similar to Lego constructors: developers make applications of many different components.
As you know there are a lot of open-source frameworks like Angular, React, React Native, Vue, Django, Rails, and others. For those frameworks, there are a lot of different components (libraries): if we look at Ruby (on Rails), we find more than 165 000 (!) of different Gems (libraries) to use. Ten years ago, the developers should create the library first to use later.
Every library is responsible for different functionality: authentication, internal statistics, testing, alerting and so on. Today to create an application successfully we do not need to reinvent the wheel and code everything, we need to integrate the existing components into the one robust solution.
We already found that the software development market changed in the last several years due to the variety of open-source software and it has led to the significant cost reduction – what next?
The critical moment for app maintenance processes understanding of 2021:
We don’t need to go in-depth analytics, elaborate marketing researches, and marketing strategies to develop and deploy the app prototype, especially if we are talking about the mobile app. Fast launches become available due to relatively low development price.
Delivering high quality and bug-free applications in short terms is almost impossible. So developers often use so-called feature-driven development (or another Agile methodology) to deliver the core functionality as soon as possible. Agile greatly improves development speed and helps businesses to adapt to the changing market.
After launch, if the application is successful, the first things we do – collect feedback, discover bugs information, analyze issues. Later develop and deliver new features according to the obtained information during the previous step.
In fact, the app maintenance services are everything that comes after the official launch.
If we develop only a “lite” version of the app with the core functionality, will additional features be maintenance costs? Sad, but true.
So if you prefer to deliver the result first with Agile, the maintenance costs could be much higher than prototype development costs. Many youngsters prefer Agile, just in case they can develop the app, prove or disprove the marketing hypothesis, and earn first profits in the shortest terms.
In comparison to Agile, during the development with the traditional Waterfall methodology, we could calculate the average cost of software maintenance per year with a fixed percent (about 15-25%) from the overall development price. Large enterprises prefer Waterfall because their business processes are documented, and management develops marketing, management, production plans.
WHAT MOMENTS DO AFFECT THE APP MAINTENANCE COSTS
Well, different applications and businesses require different approaches. There are some common factors for all applications that affect maintenance costs in this or that way.
Here are the three most widely spread factors:
– Application Platforms
– Technology Stack
– Overall Code Quality
Let us have a closer look!
WHY IT IS EXPENSIVE TO HAVE THE APPLICATION ON THE MULTIPLE PLATFORMS
Imagine that you hold the startup company with the project that helps women control the menstrual cycle, and also gives them recommendations about their health.
Someone developed the two mobile applications: one for Android devices, another for the iPhones. In fact, you have two separate applications on two platforms – Android (Java), iOS (Swift).
Even if the similar issue occurs both on Android devices and iPhones, your developers will more likely do the same work twice. Just in case there are two different code bases.
This way, if you have the app on two platforms – you can most likely multiply your potential maintenance costs twice.
WHY THE TECHNOLOGY STACK MATTERS
As we already said, there are a lot of different frameworks and technologies. A vast number of frameworks and technologies made a mess in the industry. Some of them are easy to use, some of them are quite specific.
There is no multi-tool we can use for everything. Yeah, JavaScript is coming closer and closer to being a universal instrument, but not today and not in the nearest years.
As you may remember, we already described the problems you face if there is an application for both Android and iPhone. Now imagine that your developers used the unpopular framework or rare programming language. Unfortunately, this fact may multiply its support costs per user as minimum as twice.
WHY CODE QUALITY MATTERS
To find a reliable vendor is not the easy task: hundreds of companies provide similar services. Primarily, if you are looking for an outsourcing company, we recommend checking facts and collecting recommendations from its previous clients.
Why is it vital to save money on maintenance? The most common problem of today outsourcing is a lack of highly qualified developers. Some unscrupulous companies may provide you “senior software architect” but in fact, they may ask a newbie to do the majority of work. Even if the newbie (junior developer) thinks he knows how to code – he is probably mistaken. Unfortunately, such companies can’t provide decent code quality.
That probably won’t generally aspect the deliverables and the final result, but the maintenance costs dramatically improve. Even we sometimes refuse software maintenance due to the code quality problems. It takes too much time to figure out how the code works.
WHAT THE MOST POPULAR CATEGORIES OF APP MAINTENANCE (SUPPORT) ARE
Now let’s discuss the most popular categories of software maintenance to understand how the final results are calculated.
Block hours
Block hours allows the client to book working hours upfront. This method is commonly used to offer reduced hourly rates. The main benefit of this maintenance type is that the customer has already purchased a fixed number of hours to use either per month or year. Such an approach allows customers to use the blocked hours as flexibly as possible.
Dedicated Team
Dedicated Team is the same as block hours with a single difference: You block the team but not the single developer.
Huge companies prefer such an approach because all their activities are already planned, and it can help them to reduce costs in the long term, blocking a team for the year. This model is also suitable for the developers. Thus they can plan their workload.
On Demand Support
The point of on-demand support is simple: you pay the money when you need the momentary support/maintenance. When you are looking for the on-demand help, you expect the developers to get to work as soon as possible.
During on-demand maintenance, the software development companies can’t plan the workflow of their developers. There is a high probability that at the moment when you need assistance there are no free developers available.
Here come the three possible ways to solve your problem:
– To find the new developer as soon as possible (expensive)
– To pull the existing developer from the project (disrupt the deadlines)
– Hire a freelancer (not an option)
In fact, it is quite risky for the software development company and usually costs a lot. Often, people are trying to avoid this category of application support and conclude the service agreement.
Service Agreement
The service agreement is the document concluded between the customer and the service provider (software development company), where all critical aspects are well documented.
The most widely spread aspects are:
– Relationships between the vendor and the customer
– Payments and Rates
– Technical Support Availability
– Software Updates (Post-release support)
– Exclusions
– Customer Support Service Obligations
That document protects both a customer (he has a reliable maintainer) and software developers (they can plan their resources). By signing the service agreement, the customer precisely understands what is included and excluded from maintenance and how it is billed. It makes the maintenance process clean and transparent.
SUMMARY – NUMBERS AND EXAMPLES
Finalizing, let us see some examples from your practice for mastering the topic.
How much does it cost to maintain the mobile app?
There is already a developed app with the core functionality. You plan every month to release one new most asked feature. You have a solid marketing plan on how to grow your app.
The best way for you is to sign the service agreement and to get the easy calculation about the exact numbers you will pay for every feature implementation.
Before every sprint, you will receive the complete tasks list with the time estimations. The maintenance price is calculated according to the feature complexity and the rates from the service agreement.
Example: Smart Calendar Feature Implementation Costs
1 feature: 28 tasks: 121 hours x 20$ per hour = 2420$
So the cost to maintain an app should be about 2500$ per month.
How much does software maintenance cost?
The medium-sized enterprise has the custom application for the database middleware written in Java. That application was developed seven years ago, and until today there were no issues with it. But after the system update, it stopped working. The vendor is inaccessible.
The company contacted several niche leaders and requested for estimates. The only one company had free developers available. It was a kind of on-demand software support and cost from 3000$ to 12400$ according to the software development company.
Finally, we want to mention that software (application) maintenance is not as complicated as it looks like. If something about software maintenance is still incomprehensible for you – contact us and request the free consultation.