Can't find what you need?

Software Maintenance and Support

Types, Costs, Tools, and Required Skills

Software Maintenance and Support - ScienceSoft

With 33 years of the overall experience in IT, ScienceSoft offers comprehensive software maintenance and support services.

Software Maintenance and Support Services
Software Maintenance and Support - ScienceSoft

The Essence of Software Maintenance and Support

Software maintenance and support imply a set of activities aimed at ensuring software’s stable functioning, scalability, high performance, and security. 

Software maintenance and support types:

  1. Corrective: fixing problems discovered by users or identified during monitoring.
  2. Adaptive: keeping software up-to-date by tuning it in line with the changing business needs.
  3. Perfective: continuously improving software’s usability, performance, and reliability.
  4. Preventive: detecting and correcting latent issues.

Software maintenance and support setup plan steps: estimation of the scope and required resources, maintenance and support process design, choosing a sourcing model, implementation, and launch.

Required team: Help desk specialists, application support engineers, software developers, QA and DevOps engineers.

ScienceSoft helps companies set up and run preventive maintenance and on-demand support of applications and their infrastructures.

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 ScienceSoft take to set up maintenance and support activities.

Software support and maintenance setup plan

Step 1: Estimation of the maintenance and support scope and required resources

Duration: 1 week (in-house), 2-4 weeks (outsourced)

Firstly, ScienceSoft analyzes the software’s related infrastructure, prospective new features and changes, as well as the current and planned user pool, to determine the scope of the support and maintenance activities. Then, we measure the projected scope against currently available in-house resources, such as dedicated IT specialists and maintenance tools. 

Step 2: Software maintenance and support process design

Duration: 4 weeks

Depending on the scope of the required support and maintenance activities, ScienceSoft's 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, compliance monitoring and management,
  • QA activities (including regular code reviews),
  • Infrastructure optimization (e.g., cloud resource consumption optimization).

Depending on the activities included into the support and maintenance process, ScienceSoft defines KPIs to assess and optimize the process.

Check out our sample KPIs set for support comprising proactive and reactive activities

Sample KPIs set:

  • Number of changes/updates delivered.
  • Numbers of changes/updates waiting in a backlog.
  • Number of urgent changes.
  • Time required to introduce a change to the application.
  • User satisfaction score.
  • Application outage time.
  • Application availability.
  • Number of tickets by type.
  • First response time.
  • Ticket time to resolution.

HIDE

Best practice: ScienceSoft maps the software support and maintenance process in compliance with international technical standards set by ISO and IEC and takes into consideration relevant security and privacy standards (e.g., GDPR and HIPAA).

Step 3: Choosing a sourcing model and implementation

Model 1: in-house software maintenance

1. Hiring and training staff for software support and maintenance

Duration: 4-8 weeks

2. Tool selection and customization

Duration: 1-4 weeks

ScienceSoft chooses relevant tools based on the type of software, the support and maintenance scope, the KPIs set, and other aspects. The toolset may include software for performance and security monitoring, backup software, DevOps, help desk, and other tools. 

Best practices:

  • 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.
  • Since many tools for maintenance and support are multipurpose and cater for different types of applications, ScienceSoft customizes these tools to adjust them to the specific maintenance and support needs.

Model 2: outsourced software maintenance

Vendor selection

Duration: up to 12 weeks

To choose the right vendor, ScienceSoft suggests:

  1. Examining top listings of software development companies as 90% of them offer maintenance services.
  2. Shortlisting 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.
  3. Preparing and sending an RFP with software support and maintenance needs.
  4. Getting tailored offers from potential vendors and comparing their approaches to the given software maintenance project, as well as relevant expertise.

Step 4: Software maintenance and support launch

Duration: 1-2 days

Before launching the maintenance and support process, ScienceSoft sets the service timeframes (e.g., 8/5, 12/5, 24/5, 24/7). We also 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.

Andy Lipnitski

Andy Lipnitski, IT Director at ScienceSoft, shares best practice in scheduling maintenance windows:

For the production environment in which end users operate, ScienceSoft schedules the maintenance windows on Sundays. And for the non-production environment that is used just for testing, for example, we set maintenance windows daily during the night hours.”

Consider Professional Software Maintenance Services

Experienced in application support and IT service management (ITSM), ScienceSoft offers the following software maintenance and support service options:

Software support and maintenance consulting

Our consultants offer:

  • Feasibility study of your maintenance and support project.
  • Designing the software maintenance process.
  • Elaborating on a launch plan for software support and maintenance.
  • Choosing a suitable sourcing model.
  • Selecting an optimal toolset.
Go for consulting

Outsourced software support and maintenance

Our team takes over:

  • L1/L2; L3/L4; L1/L2/L3/L4.
  • Proactive software monitoring, detecting, fixing latent issues.
  • Infrastructure maintenance and support.

SLA

  • Consultation, change, issue requests.
  • Response time: Critical (30m-1h), High (4-8h), Medium (24h), Low (48-72h).
  • Up to 6 critical requests/day.
Go for support and maintenance
  • 33 years in IT, 700+ experts on board.
  • 15 years in software support services and help desk14 years in ITSM.
  • 9 Microsoft Gold Competencies, including Application Development and Integration, Data Platform, Data Analytics, Collaboration and Content, etc.
  • AWS Select Services Partner.
  • IBM Business Partner.
  • 76% of revenue is from long-term contracts.
  • Established ITIL 4 processes and practices.
  • ISO 9001-certified quality management system; data safety as per ISO 27001.
  • Experience with complex, large-scale apps.

ScienceSoft's Success Stories

Data Capture App Support for a UK Software Company 

NOC monitoring, multi-tier support (L1, L2, L3) and customization for the Customer’s platform.

Remote IT Support for a US Telecommunications Services Provider

Support and maintenance of multiple .NET-based web applications: troubleshooting, bug fixing, urgent introduction of changes upon request.

L2, L3 Support of a Marketing Campaign Management Solution

L2 and L3 support for software under ongoing development to keep it stable and promptly introduce new system components.

Help Desk for End Users of Product Design Software

24/7 support to help end users solve troubles with running the product design application.

Help Desk Services for an Ecommerce App

12/5 helpdesk services, creation of a knowledge base of support and maintenance documentation, and training programs for the ecommerce app’s users.

ScienceSoft as a Trusted Software Support and Maintenance Provider

For the past 6 years, ScienceSoft has been a reliable partner in supporting and maintaining our HR software product. They have fixed hundreds of bugs in the product’s performance since the start of our cooperation back in 2016 and keep modernizing HR on our demand, introducing new features and tweaking existing functionality to let us better cater to our growing client base. Moreover, ScienceSoft has successfully migrated our product from onpremises Microsoft Access to cloud-based Microsoft SQL Server, ensuring uninterrupted, smooth operation and high availability of HR in the new infrastructure.

Peter Hermann, CEO , ZEITundZUTRITT GmbH

Typical Roles in Our Software Maintenance Teams

Depending on the software support and maintenance scope, the team may include various IT specialists from developers to UI designers. Below, we mention the backbone specialists required for the project involving both on-demand and continuous support activities:

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 check.
  • 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 level
  • Creating new software components or features.
  • Implementing software customizations, integrations and migration.
  • Unit testing.

Test engineers

  • Functional, regression, integration, and other types of testing considering implemented updates, upgrades and other software changes.

DevOps engineers

  • Automating the software’s change implementation and evolution using the CI/CD approach.
  • Managing physical and virtual servers and their configurations.
  • Configuring and optimizing cloud services.
  • Solving infrastructure issues.

Sourcing Models for Software Maintenance

In-house maintenance and support

Pros:

  • Full control over the support and maintenance process.

Cons:

  • Lack of experienced resources or FTE availability.
  • Risks associated with the setup and management, for example, inadequate support and maintenance scope estimation.
  • High costs as an in-house team needs regular training and usually higher salaries than outsourced specialists.

Outsourced maintenance and support

Pros:

  • Access to a wide expertise of external specialists.
  • Reduced workload of your IT team, which helps them focus on the core projects.
  • Reduced costs.

Cons:

  • Exposing your IT infrastructure to a third party may be risky, unless you deal with a reliable vendor.

In-house management  and outsourced resources

Pros:

  • Full or partial control over software maintenance and support.
  • Optimized costs of software maintenance and support.

Cons:

  • It may be difficult to ensure smooth cooperation between an in-house team and an external team.

Feasibility analysis

Before we start, we analyze TCO and ROI of supported software and assess how these financial estimates will improve as the result of our support services.

Focus on KPIs

Our IT support activities and service quality are reflected in regular reports with clear metrics (e.g., application availability, user satisfaction, Mean Time to Recovery).

Flexibility

We ensure flexibility in pricing and SLA for software maintenance and support services.

Long-term collaboration

We believe that long-term IT maintenance and support are mutually beneficial for a customer and a service provider, as a longer service term means fewer transition periods and integration phases for the customer and well-tailored working routines for the maintenance team.

Entrust Software Maintenance to Experts

Due to 33-year experience in IT, 14 years in IT service management, and adherence to ITIL 4 practices, our team will ensure the stability and relevancy of your software.

Technologies ScienceSoft Uses for Software Maintenance and Support

In our software maintenance and support projects, ScienceSoft's team usually chooses the following tools and technologies to ensure efficient monitoring, detecting, and fixing of software issues. 

Ticketing systems

Monitoring tools

Zabbix
Nagios Core
Prometheus
Elastic Stack
Grafana
Datadog

Platforms

Click on the platform to learn about our capabilities in it.

Remote collaboration

Connection

VPN
RPD
TeamViewer

Communication

Skype
Zoom
GoToMeeting

DevOps tools

Containerization

Docker
Kubernetes
Red Hat OpenShift
Apache Mesos

Automation

Ansible
Puppet
Chef
Saltstack
HashiCorp Terraform
HashiCorp Packer

CI/CD tools

AWS Developer Tools
Azure DevOps
Google Developer Tools
GitLab CI/CD
Jenkins
TeamCity

Clouds

Click on the technology to learn about our capabilities in it.

Back end programming languages

Click on the technology to learn about our capabilities in it.

Front end programming languages

Click on the technology to learn about our capabilities in it.

Languages

HTML5
CSS

JavaScript frameworks

MeteorJS
Vue.js
Next.js
Ember.js

Mobile

Click on the technology to learn about our capabilities in it.

Databases / data storages

Click on the technology to learn about our capabilities in it.

SQL

Microsoft SQL Server
MySQL
Oracle
PostgreSQL

NoSQL

Apache NiFi
MongoDB

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 70% of the TCO. Additionally, the maintenance of 20-30 servers at 8/5 EST may cost $1,000-2,000 per month. In this case, maintenance covers proactive monitoring of software performance and security as well as detecting and fixing latent issues.

Cost factors

The support and maintenance costs vary a lot depending on the sourcing model. The key cost factors for in-house and outsourced software support maintenance respectively are:

In-house software maintenance

  • The type and number of software and technologies used in it including legacy techs, integrations and customizations.
  • Complexity of the organization’s digital infrastructure and its degree of automation.
  • Licenses for tools used by the team: software monitoring, configuration, help desk, and more.
  • Availability of complete and high-quality software documentation required for maintenance.

Outsourced software maintenance

  • The outsourced team’s size and competencies.
  • The pricing model (per ticket, bucket of hours).
  • Type of maintenance and support services (on-demand, continuous, both).
  • The number of help desk tickets (agreed and extra).
  • The team member’s actual workload, e.g., 5 FTE (168h*5), 1 FTE (168h), 0.25 FTE (40h).
  • Support and maintenance time coverage (e.g., 8/5, 12/5, 24/5, 24/7).

About ScienceSoft

ScienceSoft is a global IT consulting and services company headquartered in McKinney, TX, US. We offer application maintenance and support services and advise our customers on setting up the software support and maintenance process. We help companies retain operability, availability and relevance of their software, improve user adoption and reduce maintenance costs. Being ISO 9001 and ISO 27001-certified, we rely on a mature quality management system and guarantee cooperation with us does not pose any risks to our customers' data security.