Now Hiring:
Are you a driven and motivated 1st Line IT Support Engineer?
/

Software Maintenance

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.
  •