Перейти до основного вмісту

What is perfect maintenance?

Business analysis is the first thing to start work with a client. Business analysis – is a set of methods that help to understand the structure and features of the client's company, determine its needs, and offer solutions to the problem. In the process of business analysis, we can find the optimal solution, prepares requirements for it, evaluate which functionality is most important for the customer, and draw up and agree on documentation for developers. This usually works with big sites or applications.

pic1

 

pic2

Сommunication with the client

Communication with the client at all stages of cooperation is important. The NDA customer determines the vectors of work and the main goal to be reached by the team or product.

There are many types of verbal and non-verbal communication, such as correspondence, online meetings, phone calls, or exchanging documents. To choose the best type and structure, we need a well-established system and action plan.

It is also important to allocate the team roles and responsibilities. Who makes the decision: a single leader or a whole team? Who manages the team, and who approves the budget? How is the interaction system built?

But the most important thing in any communication is not the method, but the goal. What are our goals? How can we help businesses?

Very often it happens that the client has a problem and wants to solve it immediately. But the quick solution creates other problems with functionality. The site is running slowly, and new errors appear. To help such customers heal the site, we need to know the root cause, which often hides deep in the code or core of the system. We can be fixing the functionality for a long time, but it is worth updating the system once or applying it to refactor, as other problems disappear by themselves.

Simon Sinek's Golden Ring illustrates very well the three main questions that are important for Strategic communication. If the team manages to understand not only the method but also the reason, then communication will be truly successful.

 

pic3

 

Automation and Prioritization

IT departments are evolving as fast as the world of technology evolves. To stay ahead of all this change, IT teams need to free up time for the most critical tasks. 

If we can automate the high-volume, low-complexity, and routine tasks that drain resources, we can boost productivity (and make your team’s life a lot easier).

Automation of processes can help to save the site and team resources.

pic4

Prioritization is the essential skill that you need to make the very best use of your efforts and those of your team. Successfully distributed work can speed up any process.

Prioritization helps to establish a structure, build a development strategy and see the ultimate goal.

Based on this principle, we cannot do the easiest tasks first and leave the difficult ones for later. We have to solve those tasks that will bring the most benefit and which are now a priority for the business. 

pic5

But also we can not forget about other tasks, that should be divided 80% by 20%, where 20% are not important or urgent tasks, but which now also need attention. Otherwise, they will become urgent later.

 

Maintenance and support can include all tasks that are not related to the new functionality that is being developed. There are a series of tasks for analyzing and improving the system's operation on an ongoing basis.

 

 Maintenance and support may include:

  • code updating;
  • fix problems (bugs);
  • technical debt.

 

High-quality and reliable code is the foundation for the future of the site. Just as a builder cannot build a house on a fragile foundation, a team cannot add new functionality to a site with a fragile system.

Not only core updates but also code review practice will help to improve code quality and make all team members aware of the changes. This is a modern practice that is actively implemented by advanced IT development teams.

 

pic6

For websites, it is very important to update the core in time. Currently, sites running on Drupal can update their data to the latest Version 9/10. 

Optimizing the operation of the site also involves caching the site and content on the site. Content caching can occur at several levels because the content is static and dynamic. Caching static content and micro-caching dynamic content will allow to reduce the load on the system and improve the speed of the site.

Refactoring is also a way to reduce technical debt. Often it is precisely because of technical debt that the implementation of new functionality is very painful and slow. It happens that there are many actions of the same type in the code, which can be replaced by one function. Refactoring is a controlled process of improving code without writing new functionality. The result of the refactoring is clean code and a simple design.

Security maintenance

For the maintenance of system security, we must carry about the strategy, which includes preventive updates. We have to know at all times that the servers and sites work correctly and securely. And we must make the necessary backups following a strict program, to prevent possible loss of information. 

 Security maintenance is very important. If confidential or personal information is leaked as a result of inadequate IT security maintenance, it will damage your company's reputation.

Archiving old files, deleting duplicate files, system updates, and system patches will help to cover basic security maintenance.

Regular security checks are to be run on the website to identify the documented vulnerabilities for the development team to fix.

 

Maintenance and Business processes

Very often, any organizational changes are ambiguously perceived by the core development team. This is the human factor. Stakeholders want to see a quick result and the development team wants to satisfy this need, and all the processes of updating systems, caching, and code review slows it down. But sometimes it's worth stopping to speed up to improve the code and the system, which will bring benefits in the future. This is how the system works.  

With the latest methods and developments, all updates go their way without affecting production. CI/CD helps automate and improve all code integration and update processes. Only after several stages of testing, maintenance updates can appear on the site.

 Maintenance and support are designed to help, not overwhelm business – and this is its main goal.