“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 already 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 mechanical, plumbing or electrical devices.
There are three main types of MRO:
1) Preventative – Keep equipment supported to avoid breakdown. Depending on the field or the type of product, there are best practices on how to keep it efficient by continuously running tests for errors. In other words, this type is used to avoid problems before they even occur.
2) Operational – This is the physical aspect of maintenance that involves inspection, cleaning and adjusting to changes as required.
3) Corrective – Happens when the fault has already occurred and the cause needs to be identified to fix the problem immediately. This is the most common type of maintenance, but is also the most costly for businesses.
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:
1) Adaptive – Modify the system to endure the changes in the surrounding environment
2) Perfective – Implement new user requirements for functional enhancements
3) Corrective – Same as MRO where errors are found by end-users and must be fixed.
4) Preventative – Same as MRO where it is used to prevent problems from occurring in the future by continuously running tests that check for errors called continuous integration testing(http://en.wikipedia.org/wiki/Continuous_integration).
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.
How Is Maintenance For Web Development?
Depending on the languages that your website or application is built on, there are specifications released by the World Wide Web Consortium or 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 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 other 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+ 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.
How Is Maintenance Related to Efficiency?
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. 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.
_______________________________________________
Frances Naty Go’s passion and love of playing video games and tinkering with softwares drove her to major and graduate with a BS Computer Science at UCSD. She founded Goldlilys Media LLC in 2013 that specializes in Drupal Web Development and support growing businesses. Goldlilys Media LLC teams up with graphic designers to create Uniquely Creative website designs and Simply Efficient web development features.