Software Maintenance and Support
Types, Costs, Tools, and Required Skills
With 33 years of the overall experience in IT, ScienceSoft offers comprehensive software maintenance and support services.
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:
- Corrective: fixing problems discovered by users or identified during monitoring.
- Adaptive: keeping software up-to-date by tuning it in line with the changing business needs.
- Perfective: continuously improving software’s usability, performance, and reliability.
- 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.
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:
- Examining top listings of software development companies as 90% of them offer maintenance services.
- 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.
- Preparing and sending an RFP with software support and maintenance needs.
- 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, 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.
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.
|
|
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.
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.
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.
Monitoring tools
DevOps tools
Containerization
Automation
CI/CD tools
|
|
|
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.