Software Maintenance and Support
Types, Costs, Tools, and Skills
A software maintenance company with 14 years of experience in ITSM, ScienceSoft provides organizations in 30+ industries with maintenance and support services and ensure that they run like clockwork.
Maintenance and Support: What's the Difference?
Software maintenance is proactive and includes scheduled activities to address non-urgent issues or perform planned improvements. Software support is reactive and covers activities on handling urgent issues that can hamper software operation and cause downtimes. Most our clients opt for both types to ensure stability, scalability, high performance, and robust security of software in the long run.
In our guide, you will find information about the steps, benefits, required professionals, sourcing models, and costs of software maintenance and support services based on ScienceSoft’s experience in such projects.
In our guide, you will find information about the steps, benefits, required professionals, sourcing models, and costs of software maintenance and support services based on ScienceSoft’s experience in such projects.
Software Maintenance and Support Setup Plan
The setup plan will differ depending on the specifics of the supported software and its underlying infrastructure, as well as the scope of the required support and maintenance activities.
Below are described the typical steps we at Loginet take to set up maintenance and support activities.
Below are described the typical steps we at Loginet take to set up maintenance and support activities.
To determine the scope of the support and maintenance activities, we analyze:
- The software’s related infrastructure.
- Prospective new features and changes.
- The current and planned user pool.
Then, we measure the projected scope against currently available in-house resources, such as dedicated IT specialists and maintenance tools.
Depending on the scope of the required activities, maintenance and support processes will comprise a combination of the following elements:
Reactive support (on-demand)
- End user support (L1) – solving usage issues and minor problems, escalating more complex issues.
- Application support (L2) – software troubleshooting, fixing its performance, configuration, and security issues.
- Development support (L3/L4) – fixing software issues on the code and database level, customization, adding new features, software integration.
Proactive support (continuous)
- Software availability, performance, security, and compliance monitoring and management.
- QA activities (including regular code reviews).
- Infrastructure optimization (e.g., cloud resource consumption optimization).
Depending on the support and maintenance activities, we define a set of KPIs to assess and optimize the process. A sample KPIs set includes: the number of changes/updates delivered, the number of changes/updates waiting in a backlog, the number of urgent changes, the time required to introduce a change to the software, user satisfaction score, software outage time, software availability, the number of tickets by type, first response time, and ticket time to resolution.
Model 1: in-house software maintenance
1. Hiring and training staff for software maintenance and support
Duration: 4-8 weeks
2. Tool selection and customization
Duration: 1-4 weeks
Relevant tools are chosen based on the type of software, the maintenance and support scope, the KPIs set, and other aspects. The toolset may include backup software, software for performance and security monitoring, DevOps, help desk, and more.
Best practice: For application performance monitoring, ScienceSoft chooses tools that provide insights into the software CPU and memory usage, transactions profiling, response time and request rates, an app’s handling poor network connectivity, etc.
Model 2: outsourced software maintenance
Vendor selection
Duration: 3-12 weeks
To choose the right vendor, you need to:
- Examine top listings of software development companies as 90% of them offer maintenance services.
- Shortlist 3-5 companies based on their adherence to ITSM and DevOps practices, relevant certifications, for example, ITIL, Microsoft certifications (e.g., MSP, MCSA), certifications issues by cloud providers (e.g., Certified Solution Architect, Certified SysOps Administrator by AWS), Red Hat certifications.
- Prepare and send an RFP with software support and maintenance needs.
- Get tailored offers from potential vendors and compare their approaches to the given software maintenance project, as well as relevant expertise.
Pre-launch stage
Before launching the maintenance and support process, the details of the required services should be formalized in a service level agreement (SLA). Depending on the scope of software maintenance and support services rendered, SLA may outline:
- Software maintenance terms: software evolution roadmap, software performance requirements and expectations, planned security activities, KPIs, schedule, etc.
- Software support terms: support hours e.g., 8/5, 12/5, 24/5, 24/7, required levels of support, size of a support team, communication channels, KPIs, etc.
Also, we work together with the customer to prepare standard operating procedures (SOPs) and instructions to stipulate all maintenance and support activities.
After-launch stage
We schedule regular maintenance windows for the preventive maintenance activities that can cause downtimes. These time intervals should always be available, even if not used each time.
At this stage, we also provide the customer with clear and detailed reports (e.g., reports on team productivity, service quality KPIs, incident reports, security audit reports), and a revised risk management strategy.
Benefits of Software Maintenance and Support with Loginet
-1.5-2x
software maintenance costs
-40%
deployment time for software update
-36%
issues reported by users as proven by our real-life success stories
>97%
user satisfaction rate
Typical Roles in Our Software Maintenance Teams
Help desk specialists
- Receiving, registering, and tracking queries from software users.
- Solving simple and repeating issues (e.g., username and password problems, installing newly released patches and service packs).
- Escalating unsolved issues to L2/L3.
Application support engineers
- Continuous software monitoring and health checks.
- Fixing application performance issues.
- Resolving software configuration and account administration issues.
- Log investigation for root cause analysis of issues.
- Database administration.
Software developers
- Fixing issues on the code and database levels.
- Creating new software components or features.
- Implementing software customizations, integrations, and performing migrations.
- Unit testing.
Test engineers
- Functional, regression, integration, and other types of testing to validate the quality and security of software after introducing the required changes.
Application support engineers
- Automating the update and evolution processes using the CI/CD approach
- Managing physical and virtual servers and their configurations.
- Configuring and optimizing cloud services.
- Solving infrastructure issues.
Consider Professional Software Maintenance Services
Maintenance and support process setup
We analyze your software specifics and support needs, design the process, deliver a detailed setup plan, help choose a suitable sourcing model, create a support team, and select an optimal toolset.
Outsourced software maintenance and support
Our team takes over L1/L2, L3/L4, or L1/L2/L3/L4; proactive software monitoring, detecting, fixing latent issues; infrastructure maintenance and support. We rely on a detailed SLA..
Why Choose Loginet for Software Maintenance
- In software development since 1989.
- In information security since 2003.
- In security testing since 2015.
- Certified Ethical Hackers.
- An IBM Business Partner in Security Operations & Response since 2003.
- Quality-first approach based on a mature ISO 9001-certified quality management system.
- ISO 27001-certified security management based on comprehensive policies and processes, advanced security technology, and skilled professionals.
- ISO 13485-certified company to design and develop secure medical software according to the requirements of the FDA and the Council of the European Union.
- In software development since 1989.
- In information security since 2003.
- In security testing since 2015.
- Certified Ethical Hackers.
- An IBM Business Partner in Security Operations & Response since 2003.
- Quality-first approach based on a mature ISO 9001-certified quality management system.
- ISO 27001-certified security management based on comprehensive policies and processes, advanced security technology, and skilled professionals.
- ISO 13485-certified company to design and develop secure medical software according to the requirements of the FDA and the Council of the European Union.
Technologies We Use for Software Maintenance and Support
-
Back-end programming
languages -
Front-end programming
languages - Mobile
- Desktop
- DevOps
- Big data
- Databases / data storages
-
Cloud databases, warehouses
and storage - Platforms
- Innovative technologies
Big data
Web
BACK END
FRONT END
Mobile
Desktop
Platforms
Big data
Big data
Big data
Big data
Big data
Software Maintenance and Support Costs
Usually, software maintenance and support costs are around 15–20% of the initial development costs (per year), and in total (during the entire software life cycle) they can be as high as 90% of the TCO. Monthly software maintenance costs can range from $5,000 to $50,000+, depending on app type and the required maintenance activities.
Get a Clear Picture of Your Maintenance and Support Budget!
Our team will calculate the costs depending on your software type, the scope of the required activities, and the preferred sourcing model.
Cost factors
The support and maintenance costs vary a lot depending on the sourcing model. The general cost factors for software maintenance and support services are:
- The type of software maintenance (corrective, adaptive, perfective, preventive; on-demand, continuous, both).
- The type of software, its complexity, integrations and customizations, etc.
- The software availability requirements.
- The maintenance team’s composition, competencies, and workload, e.g., 5 FTE (168h*5), 1 FTE (168h), 0.25 FTE (40h).
- Time coverage (e.g., 8/5, 12/5, 24/5, 24/7).
- The number of software users.
- Availability of comprehensive software documentation required for maintenance.
- ISO 13485-certified company to design and develop secure medical software according to the requirements of the FDA and the Council of the European Union.
In-house software maintenance
- Licenses for configuration, help desk, and other tools used by the team.
- Investments in the in-house staff training.
- Regular payment of salaries and fringe benefits, tax payments, etc.
Outsourced software maintenance
- The pricing model (per ticket, bucket of hours).
- The number of help desk tickets (agreed and extra).