Maintenance vs. Support: What’s the Difference?
- Software Maintenance: Proactive and ongoing activities aimed at enhancing performance, addressing non-urgent issues, and implementing planned updates or improvements.
- Software Support: Reactive services focused on fixing urgent problems that may disrupt operations, cause downtime, and affect system performance.
Mille Solutions brings 16+ years of IT experience to deliver robust and scalable software maintenance and support services. Our goal is to ensure long-term stability, optimal performance, and strong security for your software solutions.
Table of Contents
Software Maintenance and Support Setup Plan
1. Scope and Resources Estimation
To determine the scope and plan support and maintenance activities, we analyze:
Current IT Infrastructure:
Evaluate the existing infrastructure that the software depends on, including servers, cloud systems, and network architecture.Planned Updates and New Features:
Assess upcoming changes, updates, and planned enhancements to ensure alignment with business goals and scalability.User Pool Dynamics:
Consider the number of active users, their location, and how their interaction with the software might scale in the future.Resource Availability:
Compare the estimated scope of support and maintenance activities with available in-house resources (IT specialists, tools, etc.).
2. Software Maintenance and Support Process Design
Our processes combine Reactive Support and Proactive Support techniques to ensure comprehensive coverage.
Reactive Support (On-Demand)
Level 1 – End-User Support (L1)
- Address minor issues and user requests
- Escalate complex issues to higher support levels
Level 2 – Application Support (L2)
- Troubleshooting performance, configuration, and security issues
Level 3/4 – Development Support (L3/L4)
- Resolve issues at the code and database level
- Customization, feature development, and integration
Proactive Support (Continuous Monitoring)
Application Performance Monitoring
Continuously monitor software availability, response times, and resource consumption.Software Reengineering
Activities include code refactoring, architecture redesign, data restructuring, and reverse engineering.Quality Assurance (QA) Activities
Regular code reviews and updates to maintain software reliability.Infrastructure Optimization
Optimize resources, such as cloud storage and server infrastructure, for performance and cost efficiency.
Key Performance Indicators (KPIs)
We define KPIs to measure and optimize the support and maintenance process, including:
- Number of Updates/Changes Implemented
- Changes Pending in Backlog
- Urgent Change Response Time
- User Satisfaction Scores
- System Availability & Downtime
- Incident Resolution Time
- Number of Support Tickets by Type
3. Choosing a Sourcing Model & Implementation
Model 1: In-House Software Maintenance
Team Hiring & Training
Duration: 4-8 weeks- Recruit and train IT specialists dedicated to software support and maintenance.
Tool Selection & Customization
Duration: 1-4 weeks- Choose tools according to software needs and maintenance scope.
- Tools may include performance monitoring, backup solutions, security software, DevOps tools, etc.
- Example: For application monitoring, we use tools that measure CPU usage, transaction profiling, and response rates.
Model 2: Outsourced Software Maintenance
- Vendor Selection
Duration: 3-12 weeks- Evaluate Vendors: Research top software engineering companies offering maintenance services.
- Certifications & ITSM Compliance:
Ensure vendors have certifications like ITIL, Microsoft MSP, AWS Certified Solution Architect, etc. - RFP Creation: Draft a Request for Proposal outlining your support and maintenance needs.
- Vendor Comparison: Review tailored proposals, expertise, and approaches.
4. Software Maintenance & Support Launch
Pre-Launch Stage
Service Level Agreement (SLA) Formalization
Define terms outlining:- Maintenance Expectations: Roadmap updates, performance benchmarks, security protocols, and KPIs.
- Support Availability: Support schedules (e.g., 8/5, 24/7), communication channels, team size, and response times.
Standard Operating Procedures (SOPs)
Collaboratively create SOPs detailing all support and maintenance processes to ensure clarity and efficiency.
Post-Launch Stage
Scheduled Preventive Maintenance Windows
Plan regular intervals for preventive software updates and maintenance activities to prevent downtime.Regular Reporting
Provide detailed reports that include:- Team productivity metrics
- Incident resolution statistics
- Service quality KPIs
- Security audit summaries
- Risk management strategies for continued optimization
Software Maintenance and Support Costs
Software Support Costs
Level 1 (L1) – End-User Support
- Cost: From €14 per ticket
- Volume: Approx. 200-300 tickets/month
- Availability: 24/7 Coverage
- Scope: Resolving minor issues, usage-related questions, and quick troubleshooting
Level 2 (L2) – Application Support
- Cost: From €38 per ticket
- Volume: Approx. 40-160 tickets/month
- Availability: 8/5 Coverage
- Scope: Addressing performance, configuration, and security issues, as well as software troubleshooting.
Sourcing Models for Support and Maintenance Activities
Typical Roles in Our Software Maintenance Teams
Help Desk Specialists
- Responsibilities:
- Serve as the first point of contact for end-user queries and issues.
- Receive, register, and track user requests, ensuring a structured support process.
- Address simple and repetitive issues, such as:
- Username/password problems
- Installing patches and service updates
- Escalate unresolved or complex issues to Level 2 or Level 3 support teams.
2. Application Support Engineers
- Responsibilities:
- Continuously monitor software performance and health.
- Troubleshoot and resolve application performance and configuration issues.
- Handle account administration tasks and software updates.
- Conduct log investigations to identify and resolve root causes of issues.
- Provide database administration and optimization support.
3. Test Engineers
- Responsibilities:
- Conduct multiple types of testing, ensuring robust software quality, including:
- Functional Testing: Verifying core features work as expected.
- Regression Testing: Ensuring new changes don’t break existing functionalities.
- Integration Testing: Confirming different modules and systems interact seamlessly.
- Other testing types as needed to maintain software reliability and security.