7 Jun · 9 min read
With the development of IT, systems became more accessible and began to streamline the key and labor-intensive processes in the company, increasing the efficiency of business processes and the comfort of work. Nowadays, more and more enterprises use dedicated software to secure comprehensively all the processes taking place in the company, such as Management, HR and payroll, Finance and accounting, Production, Logistics, Sales or Service. We meet more and more often with the statement that “Company” is “System”. It is well known that the guarantee of business survival is its continuous development and improvement of solutions, and thus also the continuous and adequate development of IT systems, combined with maintenance work carried out regularly on all components of the production environment.
IT systems maintenance – it is basically modifications of software after it has been delivered in order to correct errors, to improve performance or other properties of IT systems.
The key problems of software maintenance in IT systems include both management and technical problems. Important management issues are: adjusting to customer priorities, appropriate system maintenance personnel, cost estimation.
The key technical issues are limited understanding, impact analysis, testing, measuring system maintainability, and infrastructure maintenance.
“Why are there errors on the system that has been tested and received?”
Every system needs a “certain” amount of time from the moment of implementation to start working optimally. The length of this period depends mainly on the complexity of the systems and their field, and is commonly referred to as “annealing“. Even the best-written and tested program is endowed with this feature, as the development and testing environment never fully reflects the target production environment, and in some cases, given the scale and data type, it is even impossible. Generally speaking, the system has been adapted during the production phase to a different environment than the one it will be operating in in the future.
“This is History …”
Historically, in 1969, Meir M. Lehman formulated the concept of maintenance and evolution of applications included in IT systems. The next twenty years of research in this area led to the formulation of Lehman’s law (Lehman 1997), which defines that the maintenance of it systems is in fact an evolutionary development of the application and that decisions related to the maintenance of systems are supported by understanding what is happening in the system (and software) over the time. Lehman showed that systems evolve. As they evolve, it becomes more and more complex, unless some steps are taken, such as refactoring the code to reduce its complexity.
Problems related to the topic of maintaining IT systems basically have two main sources. The first are those resulting from normal use, as well as those resulting from numerous activities aimed at changing, repairing and reconfiguring the system. All these activities naturally lead to a slow degradation of the IT system and other dependent elements included in the production environment. (Here is an example: incorrectly entered or corrupted data, archived logs from the operation of applications working as part of the solution, old unnecessary files and other “garbage” left by users).
The second source is the experience resulting from the evolution of the solution implemented in the applications, forced by the progress and changes of external factors. The software must constantly change in order to be able to adapt to new requirements.
Due to the very dynamic progress, which is inevitable and most noticeable in the IT area, the adaptation of the system to the new requirements should not be delayed too long, as negligence may lead to situations where it is not profitable to adapt the solution, because the refactoring range is so huge, that it is cheaper to rebuild the system. Creating new software does not mean buying a new car with a quick and easy changeover.
The cost of producing, implementing and maintaining a new solution based on old data often has to be migrated to a new model. Data migration can turn out to be very problematic and risky. In addition, you need to take into account the implementation of a new solution, staff training, training for customers and often also the purchase of new equipment, and sometimes even the employment of specialists to operate it. An example would be an old database that is no longer supported by the manufacturer. This creates security problems and the inability to integrate with newer systems.
After updating the database to a newer or completely different version of a different manufacturer, it turns out that, in addition to problems with data migration, it becomes necessary to purchase new network devices, workstations and servers with new operating systems that are no longer compatible with the technologies originally used in the production process the application, the base of which was the most important part. Suddenly, after a few years of neglect in the area of system development and maintenance, the company faces a precipice, has to spend very large amounts of money at once, bear the risk of data migration, and sometimes even data loss. Comprehensive implementation of a huge number of changes that may have a very negative impact on the work of the staff for a long time due to the limited availability of key system functionalities, often reduces productivity, management effectiveness and financial results.
Another example will be a sales system designed to serve the customers of a certain manufacturing company. In 2001, the company was located in a barrack and employed 10 people. It seemed that the number of contractors would never exceed 10,000 and cloud computing and interacting with third-party sales, advertising and billing platforms seemed like some kind of sci-fi.
During the 20 years of the company’s development, the functional requirements have changed several times. Without continuous and systematic development and adaptation, the system would very quickly become obsolete and significantly slow down or even prevent further business development.
It is believed that maintaining IT systems only involves debugging the system. However, one study shows that the majority, i.e. more than 80% of the maintenance expenditure, is for all non-repair work (Pigosky 1997). This feeling is perpetuated by users submitting problem reports, which in fact turn out to be extensions of the functionality of IT systems (jargon: “it’s not a bug, it’s a feature”).
SLA (Service Level Agreement) – is an agreement with a guaranteed level of service provision. It is a special document that specifies the minimum level at which the supplier will provide certain services to the client. For the service recipient, the SLA should be the most important element of the agreement with the provider.
What should the SLA include?
A well-structured service level agreement should include the following:
Author: Łukasz Bargiel, IT Systems Maintenance Specialist
Leave a comment