There are many flavours of Content Management System (CMS) available in the market; WordPress, Magento, Joomla, SilverStripe, Drupal, etc. (Here’s a list.) Most of them are free and widely supported. However, all web projects have a common element which is that they are unique. No two websites are the same since no company wishes to replicate the website of another. This means that the code which underpins them must also be unique. The more bespoke a web project becomes the more customised the code becomes to reflect the individual requirements of the business. This happens irrespective of whether the system is based on WordPress, Magento or our own system, Proteus.
So, it is inevitable that no matter what flavour of CMS you start from the level of customisation is such that a developer is required to facilitate the individual requirements of the project. There are no systems, as yet, which enable non-technical people to perform any function on a website without, at some point, needing to write code. This means that coding is a necessary part of any website development process. It also means that none of the CMS systems available could produce a website in their out-of-the-box configuration – they all need development of some description.
If coding is necessary then a reasonable question is how sustainable is the code? Would it, for example, better to code using WordPress rather than Magento or Proteus. The reality is that the lifespan of code is more likely to be limited by a business’s changing needs over the years than the on-going viability of the tool which built the website. In other words, a business will need to redevelop its website long before the tools that built the last one are obsolete.
There is no right or wrong choice as each end user’s circumstance differs and each developer/development team will have their own take on what’s appropriate. The focus should be on the choice of CMS in relation to its ability to satisfy business objectives.
Let’s also look at sustainability in relation to the style of code written. The fact is that different developers will come up with different solutions to the same problem. In other words, no developer’s code is the same as any other's. Why?
eventually, the cost of website ownership exceeds the return on investment and once this tipping point is passed building a new website becomes the only viable solution.
Software is a language just like any other. Take English, for example. We might both agree on what a problem is but if asked to write it down we would have different thought processes and structure those thoughts differently using use our own individual choice of words despite following the same rules of grammar and syntax to convey our meaning. In this respect the code for software is also unique to a developer or team of developers and whilst others may be able to understand it, they may not have chosen to express it in that way. (Presenting 50 developers with a problem will result in 50 different ways of coding the solution.) The net effect of this is that it is quite natural for the originator of the code to be more efficient at managing their code than someone fresh to it.
Not only is code a very individual solution but it is also one which ages. The toolset with which we are able to develop websites today is very different from that of five years ago. Couple that with the continuing advances of Internet technologies and the way a developer might have solved a problem 5 years ago is very different from how they might solve it today. For example, a few years ago building responsive (mobile-friendly) websites were complex and extremely time consuming but now, with the advent of HTML5, that is a much simpler, quicker and cheaper process.
Consider how manufacturing processes have changed in the last 20 years: Building a modern car to the precision standards of today simply could not be accomplished using the processes of 20 years ago. Equally, trying to maintain an antique car requires using the toolset of that era. Whilst this may be a labour of love for some it is not a practical solution for, say, a modern courier competing in today’s climate.
This is also the case with software except that the pace of fundamental change in web design can often be measured in months rather than years or decades. So, it is a natural part of technological development that the old gives way to the new and the new is more easily maintained than the old. It’s worth remembering that there is no single unchanging point in software development: There is no development platform that is the same today as it was 10 years ago. There is no software methodology which is preeminent (compare the Waterfall model used in the 70s and 80s with Rapid Application Development of the 90s or Agile of the noughties.) Even the languages themselves have undergone tectonic change as HTML, JAVA and PHP became the modern developer’s favourites.
That is not to say the old is unmaintainable but that it takes longer and increases the cost-of-ownership. Eventually, the cost of website ownership exceeds the return on investment and once this tipping point is passed building a new website becomes the only viable solution.
In the final analysis, the sustainability of a website and its codebase is shorter than most businesses would hope but is longer than the viability of their design. Put differently, a business’s need to revamp its website is more likely to occur because of changing business objectives or design requirements than because of the software that supports it.