I think it's safe to say most people would agree that a website is an investment. It gives a company or product an additional outlet for advertising or transmission of information.
Why then, do so many companies invest large amounts of time and money into a website, only to let it languish? Why do they treat it as a finished product undeserving of attention. Surely you wouldn't treat your house that way. A house would be maintained and upgraded; interiors would be updated with new styles and decor. A website's code, and in fact any piece of software, is no different.
I'll only be focusing on the code for a website, but many of the things I'm going to discuss apply just as equally to design, content, and information architecture.
The code of a website is the core. Without the code, a website can't do anything. Ecommerce can't happen; tweets can't be sent; databases can't be accessed.
These are the core things your site needs to be useful on the internet. There are perfectly usable sites that may have no backend code at all, but they typically don't provide anything more than information. In all likelihood though, your site has some backend code to it, be it PHP, ASP, Ruby, or any other language. This includes items such as CMSs (Joomla, Drupal, Sitefinity), blogs (wordpress), any forms, and of course any custom pieces developed for you.
The code of the site establishes the foundation that allows your investment to run.
There are two things important to keeping your site up to date: minor maintenance and updates. Minor maintenance would be fixing bugs that may be found or the addition of a piece of content here or there. Updates would be new releases of CMSs you are using, or larger development pieces done for you.
Maintenance is the most basic action that can be taken. Almost all clients will pay to keep their sites running and fix them when problems are found. This is a good thing. The problem is, that oftentimes clients don't want to pay for standard site-wide updates. This allows the code to get old.
As a site grows older, it falls behind on technology. The coding techniques used just 2 years ago are vastly different from the techniques of today. Some of the major languages used today didn't even exist 10 years ago. The web is in a constant state of change, and your website should not be any different.
For instance, just a few days ago PHP 5.2 ended development and PHP 5.3 was made the primary version to use. Just a few years ago PHP 4 was still in use. The new technologies from PHP 4 to 5 were massive. Object oriented programming was probably the single largest change between the versions, and it is an enormous asset to a language. PHP 5.2 to 5.3 doesn't have any shifts as large as the addition of object oriented programming, but it does introduce a number of excellent techniques. These shifts in languages are happening more and more often. Additionally, beyond new things being introduced, certain functionality is deprecated. That means that some functionality used 2 years ago may not be available anymore.
Another example is the introduction of essentially a whole new web programming language. Just a few years ago, Ruby was nothing but a scripting language. It had uses elsewhere, but it was primarily used to write single run scripts. Then, Ruby came in to use as a web language with the introduction of Ruby on Rails, one of the earliest web programming frameworks. Just the introduction of Ruby on Rails caused many of the existing languages to undergo large shifts and introduce their own frameworks. Now PHP has a slew of frameworks that didn't exist a few years ago.
Web languages change quickly. What was written just a year or two ago is now behind the times. Maintaining that code becomes increasingly difficult as certain things are deprecated and made unavailable in the new releases. As that happens, programmers forget how those old functions worked, and the documentation may disappear. What was here two years ago may not be available any more. Also, what can be done with the language now, may not be possible with the old version. By making sure you keep your site up to date, you remove some of the unknowns encountered when something has to be maintained. This makes it cheaper in the long run, and reduces the possibility of something going wrong.
How can this problem be solved? With regular site updates. My personal belief is that a site should undergo a thorough update at least every 2 years. This update should include at the very least a review of all code, and possibly a complete rewrite from the ground up. This shouldn't be hard for a client to agree to, as their website will look and feel old anyway. Huge strides are made in usability and web design every year, so sites should strive to look modern. As a perfect example, let's look at eBay from 2 years ago versus eBay today. The differences in design are huge. The current one looks much better than 2 years ago. I'm not saying designs can't last for years, but most don't.
As I've said, your website is an investment. You have to invest money into it to achieve your goals, just like you invest money into a house to raise its value. Keep spending a little over time, and you'll avoid spending a large amount all at once.
Why then, do so many companies invest large amounts of time and money into a website, only to let it languish? Why do they treat it as a finished product undeserving of attention. Surely you wouldn't treat your house that way. A house would be maintained and upgraded; interiors would be updated with new styles and decor. A website's code, and in fact any piece of software, is no different.
I'll only be focusing on the code for a website, but many of the things I'm going to discuss apply just as equally to design, content, and information architecture.
The code of a website is the core. Without the code, a website can't do anything. Ecommerce can't happen; tweets can't be sent; databases can't be accessed.
These are the core things your site needs to be useful on the internet. There are perfectly usable sites that may have no backend code at all, but they typically don't provide anything more than information. In all likelihood though, your site has some backend code to it, be it PHP, ASP, Ruby, or any other language. This includes items such as CMSs (Joomla, Drupal, Sitefinity), blogs (wordpress), any forms, and of course any custom pieces developed for you.
The code of the site establishes the foundation that allows your investment to run.
There are two things important to keeping your site up to date: minor maintenance and updates. Minor maintenance would be fixing bugs that may be found or the addition of a piece of content here or there. Updates would be new releases of CMSs you are using, or larger development pieces done for you.
Maintenance is the most basic action that can be taken. Almost all clients will pay to keep their sites running and fix them when problems are found. This is a good thing. The problem is, that oftentimes clients don't want to pay for standard site-wide updates. This allows the code to get old.
As a site grows older, it falls behind on technology. The coding techniques used just 2 years ago are vastly different from the techniques of today. Some of the major languages used today didn't even exist 10 years ago. The web is in a constant state of change, and your website should not be any different.
For instance, just a few days ago PHP 5.2 ended development and PHP 5.3 was made the primary version to use. Just a few years ago PHP 4 was still in use. The new technologies from PHP 4 to 5 were massive. Object oriented programming was probably the single largest change between the versions, and it is an enormous asset to a language. PHP 5.2 to 5.3 doesn't have any shifts as large as the addition of object oriented programming, but it does introduce a number of excellent techniques. These shifts in languages are happening more and more often. Additionally, beyond new things being introduced, certain functionality is deprecated. That means that some functionality used 2 years ago may not be available anymore.
Another example is the introduction of essentially a whole new web programming language. Just a few years ago, Ruby was nothing but a scripting language. It had uses elsewhere, but it was primarily used to write single run scripts. Then, Ruby came in to use as a web language with the introduction of Ruby on Rails, one of the earliest web programming frameworks. Just the introduction of Ruby on Rails caused many of the existing languages to undergo large shifts and introduce their own frameworks. Now PHP has a slew of frameworks that didn't exist a few years ago.
Web languages change quickly. What was written just a year or two ago is now behind the times. Maintaining that code becomes increasingly difficult as certain things are deprecated and made unavailable in the new releases. As that happens, programmers forget how those old functions worked, and the documentation may disappear. What was here two years ago may not be available any more. Also, what can be done with the language now, may not be possible with the old version. By making sure you keep your site up to date, you remove some of the unknowns encountered when something has to be maintained. This makes it cheaper in the long run, and reduces the possibility of something going wrong.
How can this problem be solved? With regular site updates. My personal belief is that a site should undergo a thorough update at least every 2 years. This update should include at the very least a review of all code, and possibly a complete rewrite from the ground up. This shouldn't be hard for a client to agree to, as their website will look and feel old anyway. Huge strides are made in usability and web design every year, so sites should strive to look modern. As a perfect example, let's look at eBay from 2 years ago versus eBay today. The differences in design are huge. The current one looks much better than 2 years ago. I'm not saying designs can't last for years, but most don't.
As I've said, your website is an investment. You have to invest money into it to achieve your goals, just like you invest money into a house to raise its value. Keep spending a little over time, and you'll avoid spending a large amount all at once.