Maintenance of websites and information systems as a critical link that is often underestimated
Metaphorically, we can compare it to buying a car. When purchasing a new car, there is no question that the car must be serviced regularly. But why is it that the owner of a website or information system often does not even think about maintenance, and this cost is a surprise to him?
I interviewed Ursel Paap, Software Development Maintenance Manager at Trinidad Wiseman. We discussed the maintenance process of different software solutions (when what, how often must be maintained), maintenance costs, and the consequences of maintenance if maintenance is not done.
Maintenance is the last link in the software development life cycle, which is often not given as much attention as the active development phase. Regular maintenance, however, is critical to the standard and secure functioning of the web on a day-to-day basis.
If the web is not maintained, it remains open to security vulnerabilities and can become a potential target for cybercriminals. In addition, development language frameworks and browsers are constantly evolving, requiring the web to be continuously updated. Otherwise, the user-friendliness of the web may deteriorate, along with other factors (e.g., a page that loads too slowly, an outdated design, etc.).
Metaphorically, we could look at security updates as changing the oil in a car. If the oil change is scheduled every 10,000 km, but the actual oil change takes place every 15,000 km, then probably nothing will happen to the car immediately. However, if a similar course of action becomes the norm, the car's engine may fail at some point.
Monthly security updates for modules and additional modules as well as the core system itself must be performed. In addition, website monitoring and management and implementation of further developments are essential.
We also notify the client of the need to update the server software or front-end framework. We also monitor the logs and inform the customer about possible security incidents. In maintenance projects, we advise the client on content management, i.e. we advise on the best and most convenient way to do things; we are there for the client.
Trinidad Wiseman's good practice is proactive project management for projects in the maintenance phase, where we indicate to the client at the right time when some maintenance needs to be done and potential areas that can be made even more user-friendly.
Since there are no identical projects, the maintenance cost depends very much on the nature, size and volumes of the specific project.
Here are some examples:
- a smaller type of website (e.g. community theatre or commune) that does not contain business logic can be maintained very successfully with a time expenditure of 1-2 hours, which in monetary terms is approx—120+km euros per month.
- the monthly maintenance of large projects - where, for example, the web, e-shop and company information system are all in one - can take up to 20 hours, or about— 1000+ km euros per month.
It depends on which service package our customer has chosen:
- in the case of larger projects where the web is in constant development, we always respond to inquiries within 1 working day and start work within up to 5 working days.
- in the case of medium and small-scale projects, we always respond to inquiries within a maximum of 2 working days and start work within one working week.
It is good practice for our maintenance projects that any additional development requiring more than 8 hours of work on initial inspection is reviewed separately, and a scope estimate is prepared for the specific work. This way, we can better plan large-scale expenditures with the client and consider alternative solutions.
The project manager performs various tasks in the maintenance phase - from classic project management in the form of follow-up developments and the preparation of volume estimates to the tasks of a customer manager.
It can sometimes seem confusing to the client why it is necessary to involve a project manager for 3-4 hours to implement further developments. However, TWN's experience has shown that a proactive project manager, who organizes all communication between the client and the developer in a timely and smooth manner and is always aware of all the details of the client's maintenance process, is an essential link in the maintenance process.
At TWN, we offer 3 fixed maintenance packages depending of the size of the project (there is also the option of a personalized package), and each package has a specific project manager.
Generally, every major project - where the project's ecosystem is constantly changing - is assigned a responsible developer who also worked on the same project during the active development phase. In this way, implementing additional developments is faster and more efficient.
In smaller and medium-sized maintenance projects, the resource is distributed to help the customer faster so that the first free developer does security updates and further developments.
Currently, TWN manages 40 different maintenance projects at the same time through the support desk. TWN's maintenance work support desk is a Jira environment where customers can easily monitor the current status of the work being carried out and, if necessary, make additional orders and ask further questions about developments/security updates.
The customer does not need to worry about their Jira usage skills. Editing in the environment is easy, and as the official representative of Atlassian in Estonia, we are always open to training the client in this regard. If there is no desire for training, the project manager takes all the input from the client by phone or e-mail and generates the necessary work ticket himself.
First, let's find out the reason for the dissatisfaction. There have been no problems with patching security updates in my TWN practice. However, there is a possibility that when carrying out additional developments of a smaller volume - where preliminary analysis is often not carried out - the entire development input comes directly from the client, and the developer may interpret it differently.
This again reflects the importance of the project manager/analyst role in maintenance projects, where a project manager or analyst with a technical background collects input from the client and "translates" it into the "language of developers".
Since development and maintenance always go hand in hand, after the end of the active development phase, we conclude a contract for security updates/maintenance works with the customer. The client himself does not have to do anything else - we automatically move the project to the TWN support desk and inform the client of all necessary updates in a timely manner.