Production Support Models in Software Companies

In today’s world, many businesses and companies are developing their applications in-house to support their business and improve the customer experience. The company needs to provide continuous support to sustain the application in real time after these applications are built. When the user base in applications grows, and it becomes more complex, they need more support to maintain it. Due to this reason, software companies have a production support team to make sure these applications run the whole time. This application can differ in variety depending on the organization or the team. Some of the common applications and their pattern are listed below.

  • SQL query for generating reports
  • Hadoop-based jobs for analyzing data
  • Python-based code for Machine Learning Model
  • Java and Spring-based REST API
  • Scala-based Apache spark jobs for ETL Jobs
  • React-based front-end application for outside customers
  • Mobile Application for Social Media Applications
  • Accounting Software

What is the Production Support Model?

The production support model in an organization is a process through which effective and systematic customer support is provided to make sure the products and services provided by the applications keep on running. When we say customer, it can be an internal or external customer. The internal customer uses this software or application within the organization, whereas the external customer means users that are outside the organization.

This production support model is also known as the application support model in some organizations. This support model is handled by a team that consists of an application developer, Quality Assurance testers, and Database Administrators(DBA). The timings and schedule of this support model vary on the type of application and customer needs. Some software is needed to run Twenty-Four By Seven or 24x7 whereas some needed to run during office hours.

Types of Production Support Models

There are mainly two production support models.

  • Tiered or Multi-Level Support Model
  • Swarm model

We will be focussing on the tiered or the multi-level in this blog post as it’s been adopted by many companies in comparison to the swarm model.

Tiered or Multi-Level Support Model

This production support model is scalable where there is an increase in the number of users requesting the support. This model has various levels or tiers, each having its specific function.

Level 1 (L1)

This level has a service desk that answers general questions about software usage and provides instructions to solve simple issues. They receive the request through email, chat, ticket, or phone. This level helps to resolve basic repetitive problems such as login, password reset, software installation, etc. Most organizations have self-service and automation steps that help to support users and resolve issues. Agents or personnel on L1 don’t need to be experts on the software, but need to have the ability to remotely log in and solve the customer problem. They are taken as the first line of defense and should be capable of resolving 60-70% of the tickets assigned to them. If the L1 level cannot solve the customer’s problems, the ticket is escalated to the subsequent L2 level.

Level 2 (L2)

This level includes personnel from the technical team or application team that can deal with advanced problems. They have the specialized skills and knowledge in the needed technology or software. The L2 support team can work on problems that might require service restart or configuration or account administration-related issues. They can monitor the application to see if there are any other issues and fix them proactively. If the L2 team cannot resolve the issue, this ticket is escalated to a higher L3 level.

Level 3 (L3)

This level consists of the software developer or the vendor for that software. They can tackle complex issues at the code level and provide fixes if needed. They could enhance the application, change the functionality of the application, or redeploy the application to fix the issue. If the application developer is not in-house, it should be escalated to the vendor or outside team who developed it.

For the applications that are for internal customers, we would have only L2 and L3 teams. If the application is a customer-facing app, it should be supported by all the L1, L2, and L3 models. Lack of support can hamper the user experience for internal applications and customer experience for customer-facing applications.

How can Customers Request Support?

Following are some common mechanisms through which A customer can contact support through various means.

  • Contact through Email: Gmail, Outlook
  • Customer Portal or Employee Portal
  • Social Network: Twitter, Facebook, LinkedIn
  • Ticketing System: Jira, ServiceNow
  • Embedded Live Chat
  • Contact through Phone