Have you ever thought about what would happen if systems are not maintained regularly? Let’s see some of the examples that show the severe effect of not maintaining a system.
In August 2019, British Airways experienced a system failure causing more than 100 flights to be canceled and others more than 200 to be delayed.
In July 2019, users around the globe were unable to view stories on Instagram, send messages on WhatsApp, or load photos on the Facebook news feed. Facebook released a statement saying it was triggered during
routine maintenance.
And in September 2019, hackers got into iCloud and accessed the compromising photos of different Hollywood stars.
There are many other examples showing the aftereffects of not maintaining a system. People see and hear such news from time-to-time,
but they still neglect maintenance. They are still using old technology even when new updates are being released continuously. They don’t even realize that there will come a time when the technology will be too old to adapt.
As long as the system is running and fulfilling its purpose, people enjoy the moment. But, as time passes, they face problems like dependencies problems, loss of important files and data, the system not functioning properly, and so on. This will one day probably run them out of their business as their system may be hacked, run too slow, infected with malware and viruses, etc.
Until and unless people experience the damage themselves and hit them
hard, they won’t realize the importance of maintenance and they will keep neglecting it.
You might be thinking if maintenance is so important, then why do people neglect it? To answer your question, we have listed some of the factors
Recognition is one of the factors that maintenance is neglected; it might not affect an organization, but it affects maintainers.
Let’s understand this with an example.
When an organization faces a major breakdown of a system, a maintainer resolves the problem at the last minute. But when another maintainer is hired, he/she identifies the problem and methodically and slowly solves all bugs that were causing the problem. Eventually, the system runs smoothly.
Can you guess who is credited more? The former gets more credit than the latter. People tend to give more credit to those who solve their problems when they are in a critical situation. This affects the person with less recognition and only does his/her work when a major problem arises instead of regular maintenance of the system.
In the case of developing software, sometimes the maintainer or developer who fixed the bugs and errors isn’t appreciated for their work. People tend to only cheer for the development team who developed the app
There are times when one hides his/her mistakes. You may have done this in the past. Similarly, sometimes people know that it is their mistake that the system failed. But, they hide it because of self-confidence or they don’t want their mistakes to be public and feel embarrassed.
Sometimes, people think that this problem may not affect the system soon so they neglect it. Later, they realize that if they hadn’t left the problem, then this situation wouldn’t have arrived in the first place. They realize but still, they don’t admit their fault. So, they neglect maintenance because the effect of not maintaining the system isn’t seen immediately.
Likewise, some programmers do their work quickly without thoroughly examining the code. And when it comes to maintaining the code, they are
credited for their work. Instead, they don’t realize it was the fault of that particular programmer and praise his work. If the programmer had checked the code regularly, the errors and bugs wouldn’t have arisen.
Have you heard of “Student Syndrome”? It is a practice to do a task at the last moment right before the deadline. It is one of the natures of humans that they act at the last minute. Everyone might not have this syndrome but some have.
Until and unless people get in trouble, they don’t get any motivation to do a task. This actually applies when the deadline isn’t near. So, people act right before the deadline and this is a problem for many.
Likewise, people neglect maintenance until there is a major problem in the system - and then the system fails one day. Regular maintenance may have prevented the system failure, but people often neglect this.
Acting at the last minute could be disastrous for organizations whose job is related to coding. They need to deliver the project before the deadline. Otherwise, the organizations might go bankrupt or tech debt might increase since they need to pay salaries, rent, utilities, etc. Reputation is most important, otherwise, no one will be willing to work with you.
Incentives and rewards might be the reason some people watch out for when working. Incentives and rewards are what motivates them to work. If given more incentives and rewards, people tend to work happily. So, they expect to get some raise.
But, sometimes organizations might hesitate to raise incentives just for maintenance. This demotivates the maintainers, who then might slack at work. In the worst case, the maintainers might look for another job that gives more incentives and rewards. The problem for the organization can be the immediate availability of other maintainers.
Still, if you compare the salary given to a developer and a maintainer it's obvious who gets more. So, people neglect job-related maintenance tasks and look for other job roles.
Human psychology is a mystery. No one knows what is one thinking in his mind and acts based on that thinking. Decisions are sometimes affected by the event we see or experience. These events lead to biased thinking and decision-making and the interpretation of information differently.
Likewise, people make poor decisions and bad judgments when evaluating the information. People give value to the present rather than thinking about the present and future together. They think about only corrective maintenance, which is to bring the system back to working order when it fails. This is opposed to the other way of thinking about preventive maintenance, which is to perform the regular maintenance of the system. The way of thinking differs from person-to-person. And sometimes, this makes it difficult to take a rational decision. This might sometimes be the case in neglecting the maintenance.
In the case of the IT sector, some organizations have their own project running but they don’t give attention to maintenance. They are still using the old framework to code and don’t have time to upgrade. This could be the result of how organizations think and make their decision.
We live in a world full of people like us. We all have religions that we all follow. These religions have their own traditions, norms, and culture that shapes our values and principles. We believe and follow what we have been taught from our birth regarding religions and cultures.
These religions and cultures shape our values and principles and likewise, whatever we see, hear, and experience shapes our thinking and decision-making process. People easily get influenced either by cultural change or business culture change.
Recently people are taking up challenges; they are coming up with new ideas and concepts to have a competitive edge. People get more easily excited about innovation rather than maintenance. So, they invest in
innovation rather than maintenance.
The effect of cultural change can also be seen in many sectors including the IT sector i.e. business cultural change. IT firms are competing with each other for innovating new and unique software. They are competing for who can bring new software to the market first. In this competitive environment, they are forgetting about maintenance
People are concerned about their image, reputation, and status in society. It is natural to care about reputation in society. The same can be said for the work they do. People still worry about the work they are doing. They worry about what other people are thinking about their work.
People prefer other job roles rather than maintenance because it doesn’t raise other people’s perceptions of them. Often maintainers don’t get credit for what they are doing. So, they look for other job roles that give them more status and pay. Because of their low status, people often neglect maintenance and prefer other job roles.
If we still compare developers and maintainers, we will choose developers. One reason could be the salary and other reasons could be the image and status. The same happens everywhere where people will prefer other jobs rather than maintenance.
Every person wants their business to grow and achieve success. No one ever wants their business to fail. So, they focus on ways to make their business successful and maximize profit.
To make the business successful, they focus on immediate results to maximize the profit. In the process, they adopt new technologies rather than maintaining the existing ones. People think that maintenance does
not contribute to business growth.
People don’t understand that adopting new technologies rather than
maintaining existing ones will increase maintenance costs in the future.
Economic incentives play an important role in business growth and some neglect maintenance and some don’t neglect. Some organizations need high maintenance since their response time should be high and instant.
While some organizations don’t focus on maintenance.
The organization’s main motive is business growth and profit maximization. They mainly focus on customer satisfaction to grow their
business and profit. In this process, they focus on adapting to change,
devise different plans and strategies but they forget about maintenance.
They are motivated to grow their business neglecting maintenance.
On the other hand, people with the same roles neglect their job and responsibilities. They neglect thinking that others will do their job but everyone’s mindset is the same. The same happens with maintenance.
People like to use the facilities and infrastructures for free but when it comes to maintaining them, people ignore them. They are not willing to pay for maintenance
The organizations and people often ignore their capability. In the case of maintenance, they have two options: first to fix the countered issue and bugs immediately, and second to take time to understand the problem and find solutions to keep the system running for the long-term.
But, the organization and people are stuck in the capability trap. Fixing the problem immediately to keep the system running could result in major system failure in the future. They ignore the fact that regular maintenance could improve system performance.
Let’s understand with this example, sometimes developers only think about the present and code implementing the features. But, there comes a
time when such coding creates complications and the code had to be refactored. They are trapped in whether to refactor the code or not since it takes time and all the efforts put before are wasted.
Interest and power also play a vital role in the case of maintenance. Usually, people do something if it favors them. But if it doesn’t favor them, then they won’t do it even if they have power.
Similarly, if maintenance benefits people, then they are willing to help -otherwise, they ignore it. Some have the power to maintain facilities and infrastructures but they neglect maintenance if not in their interest.
Interest and power are distributed unequally in society, so is the maintenance. People tend to neglect maintenance and only realize the importance of maintenance when they are in big trouble.
We all know what morals are? Right. Every people have an idea of what is right or what is wrong and what to do or what not to do. But when it comes to maintenance, they neglect it.
People might be aware of the importance of maintenance. They know that maintenance is necessary but they neglect it. They talk about the maintenance but won't come forward to maintain facilities and
infrastructure.
Another problem is that people don’t take the job of maintenance seriously since it doesn’t help much in improving the status and sometimes aren’t given credit for their work.
Every mistake and negligence comes with a price. People are still coding on the old framework since they don’t have time to upgrade to a new framework. Tech debt is rising and test cases are below 30%. Still, people are neglecting maintenance.
Reference: TheMaintainer
This post was first published on Truemark.