Back to top

Software Maintenance and Support

Software maintenance and support is the process of improving, optimising, and fixing defects in software after it has been deployed. It is one of the phases in the software development life cycle that follows the deployment of the software. During maintenance and support, changes are made to the program to correct defects and shortcomings discovered during use, as well as to add new functionality to improve ease of use (usability) and applicability of the software.

In the spiral model, which arose during the development of object-oriented programming, maintenance and support are not distinguished as separate stages. However, this activity takes up a significant portion of the software's life cycle, given that maintenance and support typically occupy about two-thirds of the life cycle of software systems. "The cost of software maintenance may represent the largest portion of the life cycle in terms of cost."

Software maintainability refers to the characteristics of a software product that enable changes to be made to it with minimal effort:

— to fix errors;

— to modify it in accordance with changing user needs.

Several lines of support are typically distinguished (the structure is given as an example of external software support):

— 0 line (call centre, information centre, hot line) - processing of phone calls from customers, transfer of requests to technical specialists (1st line of support)

— At this stage, a contract for a pre-project study is concluded, which ends with the creation of technical documentation, consisting of a Technical Design Document (TDD), Project Plan (Project Plan) and Test Plan (Test Plan), as well as proposed terms and cost of implementation works.

— 1 line (support engineer, technical support engineer, support engineer) - consultation/configuration/elimination of errors in software operation/filling the knowledge base, compilation of manuals

— 2 line (support engineer, technical support engineer, support engineer) - functional support/project activities during the deployment of software on the customer's machines

— 3 line (support engineer, technical support engineer, support engineer) - system support/project activities during the deployment of software on the customer's equipment.