
A living cell requires energy not only for all its functions, but also for the maintenance of its structure. – Albert Szent-Gyorgyi
Anything worth growing requires proper maintenance. Without maintenance, things become obsolete and outdated. Why? Because everything in the world changes. Things improve and new upgrades are released after the product has been built.
Every human made product will need to be cared for and managed so that it can withstand any issues that come its way and lasts for as long as possible. The most common example is maintenance, repair and operations (MRO) that involves “fixing mechanical, plumbing or electrical devices”.
There are three main types of MRO:
In today’s digital age, if you manage a business, you will probably run into software maintenance for your website or application. There are four types of software maintenance:
Like MRO, preventative maintenance for websites is the best way to avoid a lot of headache and loss of business operations. How is this done? Follow the standards and best practices.
Depending on the languages that your website or application is built on, there are specifications released by the World Wide Web Consortium (W3C). There are also best practices for every language such as PHP, Javascript, CSS or Python.
Most of these software languages have evolved over time where some developers have created a simpler way to automate these standards. These are called open source frameworks. My favorite Content Management Framework for PHP is Drupal. For the client side, many use jQuery as their Javascript library because it simplifies coding. For CSS, there is Sass or Less.
There are many more frameworks than the ones I have listed. With many languages needed to develop one single website or application, these frameworks came about to increase preventative maintenance instead of reaching corrective maintenance. Essentially, software or web developers are trying to predict the future before anything bad occurs.
Before frameworks were invented, a prime example that many web developers consider a torment in testing is Internet Explorer. IE version 8 or older made it difficult for websites to become more dynamic because Microsoft decided to not follow the standards at all. In turn, even if websites look amazing in browsers like Firefox or Chrome, once you visit the same website in IE, it becomes a huge mess.
Developers had to tweak every piece of code to make it presentable for IE. When IE9+ finally came about, many frameworks were released and more time was spent on writing functional code instead of worrying about tweaking for IE. In fact, there was even a dedicated website to countdown the end of IE6 to signal when developers can rejoice.
From efficiency, maintenance is the bridge between time and space. Since the ones creating the website are real people, it is required for the code to be both readable and maintainable. With constant change and upgrades, if the custom code developed for your website is difficult to understand, it will be troublesome to keep up with the changes.
Deciphering code that does not follow best practices can become painful like IE. Many developers agree that maintenance programming is the least fun part of programming, yet offers the most learning experience.
Not all websites are created equal. Depending on the coding standards of your website, updating the design or adding contents can be as simple as possible or have to be created from scratch to avoid wasting time. Sometimes, starting from the beginning is faster and more productive than trying to fix other people’s broken codes.
Maintenance is a choice. But mistakes and errors happen whether we like it or not. The type of maintenance you choose can make fixing those mistakes a joy in learning or a nightmare meant to be forgotten.
Without continual growth and progress, such words as improvement, achievement, and success have no meaning. — Benjamin Franklin