Application Support: Setup, Team, Tools, and Approximate Costs
ScienceSoft provides application support and maintenance services since 2007.
Application Support: the Essence
Application support activities ensure maximized availability, complete and uninterrupted functioning, and sustained application evolution. The broad spectrum of app support measures can be loosely divided into two groups:
Reactive application support
- Level 1: solving app usage issues and basic problems (help with logging in/out, password reset, etc.).
- Level 2: fixing application operational issues without code changes (e.g., adding new columns to existing data sheets, improving configurations of platform-based applications).
- Level 3: resolving complex problems by introducing changes to the code and database (e.g., for custom software – fixing defects on the code level, for platform-based apps – correcting issues with customizations).
- Level 4: is applicable for platform-based apps only and is provided by software vendors (e.g., Microsoft, Salesforce, etc.).
Proactive application support (i.e., application maintenance)
- Introducing new app features and integrations. For custom software - legacy code redesign or application restructuring/containerization.
- Application performance monitoring and optimization.
- CI/CD and DevOps implementation (to facilitate app updating, modernization or evolution).
- Security code reviews and monitoring.
- Exploratory and regression testing, testing of newly introduced features during the app’s evolution.
- App infrastructure optimization (including cloud).
The application support setup plan may vary depending the application’s scale, functionality and type (e.g., on-premises or cloud, customer- or employee-facing), support needs and requirements. Still, there are some common stages to go through.
Duration: 1 week
Consider the following applications support factors:
- The support scope and resources required depending on the application’s type. For example, customer-facing applications require more L1 support resources, while employee-facing ones are likely to generate a higher number of L2 and L3 requests.
- Application support timeframes depending on the application’s criticality: e.g., business-critical applications like ERP requires 24/7/365 support.
- Application’s age – legacy software may experience more issues and entail frequent fixes and updates.
- Application performance requirements (e.g., the average and peak number of intended users, the average and peak load, scalability parameters) – applications with high performance requirements need continuous performance monitoring and recurring performance testing.
- Number of integrations – more integrations imply more scenarios to monitor and more potential issues to resolve. Besides, after each substantial change in integrated software, you’ll need to validate data sharing between the systems, and run a regression test suite.
- Standards and regulations your application should comply with (e.g., GDPR, HIPAA, PCI DSS). To stay compliant, you’ll need to design data protection policy and procedures for the support team; perform regular compliance checks, security code reviews, application security scanning, and tuning of cloud security components (if applicable).
2. Design the application support process
Duration: 4 weeks
Choose KPIs relevant for your application support needs. They may include:
Common metrics for reactive application support
- First response time.
- User satisfaction score.
- Resolution rate.
- Average time to resolution.
Common metrics for proactive application support
- Application availability.
- Application outage time.
- Meant time to recovery.
- Number of implemented change requests.
- Number of change requests in the backlog.
Additionally, the progress of support activities can be tracked using general KPIs like the ratio between estimated and actual budget for the planned maintenance activity, its earned value and deadlines compliance.
After that, design ITSM-based standard operating procedures (SOPs) to stipulate all support and maintenance activities.
3. Prepare the application support
3.1. In-house application support
Duration: 4-12 weeks
Consider whether you have enough in-house resources to carry out the required support activities. You may need to train the current team members for them to get missing technical or soft skills and/or hire the required professionals.
Common support types and competencies required to perform them
- Basic end user support - specialists with entry- or mid-level support experience having basic technical knowledge, good communication and conflict resolution skills.
- Administrative support - specialists with senior- or mid-level experience in application administration and app monitoring, familiar with database querying.
- Technical support and application evolution - software developers with mid-level or senior experience in software engineering, source code and database management.
Then, decide on a toolkit for your application support. It will be determined by the application type and needed support scope. For example, you may need:
For reactive application support
- ITSM or ticket automation software.
- Tools for communication between application users and app support agents (e.g., a customer portal, call center software, email clients, messengers like Microsoft Teams, Zoom, etc.).
For proactive application support
- Continuous monitoring software for getting metrics on the overall application health, e.g., uptime and downtime, throughput, etc.
- Application performance management (APM) software.
- Code review tools.
- Application security scanning software.
- Cloud cost management tool.
- Software testing frameworks and tools for automated API and UI regression testing.
3.2. Outsourced application support
Duration: about 12 weeks
To select an application support vendor:
- Design a request for proposal (RFP) providing information on your application (type, architecture, technologies used, specific requirements) and needed IT application support scope.
- Look for software support and/or development companies and check whether their human resources and tech stacks meet your application support demands.
- Pay special attention to the certified partners of relevant platform providers and vendors holding such certificates as ISO 27001 and 9001 to be sure of the safety of your business information entrusted to the vendor and the overall quality of their services.
- Shortlist 3-5 vendors with eligible competencies, resources, and recognitions.
- Share your application support RFP with shortlisted vendors to get their cost estimation and support services proposal.
4. Launch your application support
Duration: up to 2 weeks
For the in-house option, your application support team should configure or customize the selected tools (e.g., for ITSM, continuous monitoring, application performance management, etc.) to meet your support needs.
With an outsourced application support option, at this stage you should:
Negotiate the service level objectives and KPIs, a pricing model (depending on the scope of outsourced support activities, e.g., monthly fee, bucket of hours, T&M, price per ticket), and application support costs with the chosen vendor.
Sign a collaboration contract and an NDA.
Proceed to knowledge transfer.
Note: A service trial period may be handy to ensure the vendor’s services fully suit your application support needs and to fine-tune the SLA and KPIs.
With both outsourced and in-house support options, schedule the timeframes for planned activities preferably weekends or non-working hours). To ensure that app maintenance doesn’t cause work disruption, it’s better to inform users on upcoming activities.
Application support and maintenance manager
- Plans and manages the application support budget.
- Allocates and manages app support professionals.
- Sets responsibilities, tasks, goals and KPIs for the team members and monitors their fulfillment.
- Initiates outsourcing support services or recruiting additional professionals, if required.
- Takes part in designing and managing the application’s enhancement and evolution plan.
- Carries out risks’ management and mitigation for application support and evolution.
End user support agent (L1)
- Handles incoming requests from application users.
- Gathers information and details on reported issues, checks issues’ validity, creates tickets in the ticketing system.
- Prioritizes and categorizes application issues following SOPs.
- Solves minor user issues (e.g., assists with password reset, logging in/out, app usage, etc.), escalates other issues to DevOps engineers.
- Gathers users’ feedback.
DevOps engineer (L2)
- Studies the issues escalated by user support agents to confirm their validity.
- Analyzes and handles notifications from application monitoring software.
- Resolves technical issues (e.g., account reset, services restart, improper configurations of platform-based apps).
- Escalates more complex issues (the ones requiring code amendments) to software developers.
- Carries out intermittent software health checks.
- Configures and manages software for automated application enhancement, evolution, and quality assurance.
- If required, conducts training for user support agents after substantial application changes.
Software developer (L3)
- Researches root causes of complex application issues on the code level with the help of diagnostic software.
- With custom-developed applications, resolves the issues on code and database levels.
- With platform-based applications, handles defects in the customizations.
- Performs application, file, and data backup and recovery, if needed.
- Introduces customizations, enhancements, and third-party integrations.
- For custom applications – develops new features, performs the application re-architecture or code redesign.
- Performs compliance and exploratory testing, validates the newly introduced application functions.
- Carries out retesting to validate the reported defects were resolved properly.
- Creates, executes, and maintains regression test suites.
In-house application support
- Complete control over the application support activities.
- Missing talents required to carry out some specific support activities (e.g., software developers for L3 support, security or DevOps engineers).
- Excessive training and staff costs.
Outsourced application support team with in-house management
- In-house coordination and management of an outsourced support team.
- Optimal number of support specialists and their scalability.
- Balanced app support costs.
- High requirements for in-house management.
Outsourced application support
- Fully managed support professionals of required competences.
- Optimized application support budget.
- Transparent KPI-based collaboration.
- Vendor selection risks.
- The vendor’s insufficient resource scalability or scope of support activities.
- Lack of pricing transparency.
Combination of in-house support team and outsourced consultancy
- Internal team deeply understands the current application and can knowingly prioritize the application enhancement and evolution needs.
- Outsourced consultancy can help establish the effective support of all levels and fill the gap in support skills, if required.
- Consultancy selection risks.
- Hindered collaboration between the teams.
Jira Service Management
- Recognized as Gartner Customers’ Choice for ITSM in 2021.
- Enables efficient tracking, assigning, and prioritization of users’ requests.
- Directly integrates with Jira to rapidly route issues to the right support specialists.
- Synchronizes with Slack and Microsoft Teams to provide automated responses to Jira tickets via these tools.
- Enables advanced SLA metrics setup, real-time reports to trace support team performance and workload.
Free (for up to 3 support professionals). Standard: $20/user/month. Premium: $40/user/month.
Continuous application and infrastructure monitoring
- Recognized as Gartner Customers’ Choice for IT infrastructure monitoring tools in 2020.
- Gathers metrics not only from applications, but also from networks, servers, VMs, etc.
- Allows creating custom multi-step app monitoring scenarios collecting data on potential issues at each step.
- Enables setting custom thresholds and notifications to automatically detect application problems.
- Offers flexible APIs for third-party integrations with issue and service management tools, configuration management systems, etc.
- Dashboards, graphs, slideshows, etc. to visualize the statistics on the gathered application metrics (e.g., uptime, downtime, throughput, error, etc.) and results of monitoring scenarios.
Application performance monitoring
- Recognized as Gartner Customers’ Choice for Application Performance Monitoring (APM) in 2020.
- Used for monitoring and detecting performance hindrances across the application tiers.
- Enables monitoring such performance metrics as Apdex scores, total number of requests and requests per second, latency, total number of errors and errors per second, etc.
- Allows for root cause analysis of the app’s performance issues.
- Provides convenient tools for logs search and UI tests recording.
- Helps visualize the performance impact of canary, blue-green, and shadow application deploys.
- Provides 450+ out-of-the box integrations with third-party software (e.g., for issue tracking, configuration and deployment, monitoring).
$31-$36 host/month. 14-days free trial is available.
Application support costs may greatly differ with regard to the app’s type and requirements.
The most significant application support cost factor is the scope of support activities. Besides, you should mind the cost factors that are specific to the chosen sourcing model:
Application support outsourcing
- Required response and resolution time depending on the app’s issues severity (e.g., up to 1-hour threshold for respond and 4 hours for the resolution of a critical issue).
- The agreed and extra number of help desk tickets (for reactive application support outsourcing).
- Support team composition and team members’ experience and competencies.
In-house application support
- Application support staff costs.
- Application support software licenses.
- Cloud resources or hardware required to keep the application’s development, testing, staging, and production environment continuously available.
Typically, the cost of application support may be estimated as 15-25% of the initial development costs per year, while during the entire application lifespan it may comprise up to 70% of the total cost of ownership.
Here are the approximate estimations based on our application support experience for you to get a more precise picture of application support costs:
- For a stable mid-size application with a small rate of minor change requests: $35,000/yr.
- For a mid-size application that requires frequent and substantial changes: $80,000 - $160,000/yr.
- For a complex enterprise application that require continuous evolution: from $200,000/yr.
Consider Service Options for Expert Application Support
Since 2007 in application support services and 2008 in ITSM, ScienceSoft’s high-performing support teams provide full-range reactive and proactive support activities to ensure maximum availability, stable functioning, and swift evolution of your apps.
Application support consulting
ScienceSoft’s consultants provide:
- Feasibility study for your application support.
- Balanced support scope depending on the application purpose, type, and requirements, your business and project specifics.
- Advice on an optimal sourcing model and support team lineup.
- Efforts’ estimation and costs breakdown for your application support initiative.
- Specific toolkit comprising software best fitting your app support scope.
Application support outsourcing
ScienceSoft’s application support experts provide:
- Flexible L1, L2, L3 help desk services.
- Monitoring and management of the application performance and security.
- Code review and redesign.
- Application re-architecture, introducing new features and integrations.
- CI/CD implementation.
- Relevant QA and testing activities.
- Creating and maintaining SOPs and a knowledge base for agents and support engineers as well as materials for users’ self-service (e.g., FAQs, manuals, technical information).
Additionally, you can reach out for:
- Application infrastructure management and monitoring.
- Cloud resources consumption optimization.
ScienceSoft as a Trusted Application 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.
We can be confident in the quality of HR software we provide to our customers. We would certainly recommend ScienceSoft as a provider of support and maintenance services to other companies.
Peter Hermann, CEO , ZEITundZUTRITT GmbH
ScienceSoft is a global IT consulting and IT services company headquartered in McKinney, TX, US. We deliver flexible application support and maintenance services to help our customers maximize their applications’ availability and user adoption, minimize the number of software issues, and optimize the application support budget. Being ISO 9001 and ISO 27001 certified, we rely on a mature quality management system and guarantee that cooperation with us does not pose any risks to our customers’ data security.