Why are most web sites so bad?

Overview

In the past you might have heard something like this being uttered: ‘Web is a very young industry compared to many others, so it’s only natural to expect many things not to work very well or at all!’

There is much sense in this statement, but many aspects of it are incredibly flawed too!

Software Engineering as a practice has been around for a relatively long period of time (at least 20 years) and many books have been written on the subject matter.

I studied software engineering formally some 10 years ago and have learned common sense matters such as that software should be developed according to user needs from a very early point.

You will often get an impression that ‘User Centered Design’ is somehow a ‘new approach’, which has not yet been well formulated and much research has not been done to formalise it.

This cannot be further from truth.

I will now try and explain some of the reasons why I think so many web sites are so bad and regularly fail to work properly.

How most industries work

Think about the medical profession.

A typical doctor will spend approximately 7 years in formal University education in order to qualify as a doctor.

Before then, in order to even start studying medicine, students will need to prove that they are smart enough and capable enough to study the subject by achieving high level grades in their previous education.

The University Degree will teach medical students various theoretical aspects of medicine, biology, chemistry and much time will be spent doing practical, lab-based work while everything is likely to be discussed to Nth degree.

After 7 years of intense formal studying and evaluation, medical students will be placed in a hospital where they will work-shadow a various senior staff in order to understand the context of working in a hospital as well as see real life medical issues being dealt with.

Similar is the case if you would like to become a Gas Certified Engineer.

You will spend at least 4 years studying in order to obtain your formal qualification so that you can tell someone whether their Gas Central Heating system is at the right pressure level.

Important aspects of the above two examples are that Gas Certification Standards and Medical Books are developed and written by a high-level authorities which are setting those standards.

How IT industry works

Unlike with the above two example professions, in IT related industries for most part there are no official qualifications required from someone so that they can work as a developer.

In fact, many people will potentially frown upon those who come from Computer Science or other technical backgrounds.

Developers are asked to ‘prove themselves’ by showing a portfolio or a list of links to sites which they worked on, often to be judged whether their work is good or bad based only on the looks of those web sites.

Many times those interviewing IT people do not know much about IT themselves.

Many contributors to IT industry are totally non-technical and never want to be technical at all.

In some cases people working in IT industry quite openly hate IT itself too, while I find it difficult to imagine a brain surgeon hating the concept of operating.

The problem of people and process

Software Engineering is an incredibly complex undertaking.

Building a blogging system (which is a relatively simple matter) can be done in a very inappropriate manner, but it can also be done in such a way as to serve many other purposes.

Every software, however simple or complex, is subject to this fact.

Building software is somewhat of a conveyor belt task, just like cars are put together in a factory.

In order for software to be built well, it requires each person in the building process to follow the process, as well as know what their tasks and responsibilities are.

In most cases, software development is never approached in this way, and this is one of the main reasons why most IT projects fail miserably.

Those who don’t know cannot setup a process

We are back to the initial issue – if someone is not trained and clued up on what they are doing, they cannot organise their work properly in order to do it properly on an ongoing basis.

It takes time, effort and experience to understand what makes a good process and a proper approach to software development.

This is also heavily related to the type of software a team is building.

Another important matter to consider is that untrained people are often unable to improve the processes they are working on, constantly being locked down in a vicious circle of struggling to make a bad approach work.

Even if they manage to deliver something using a bad approach/process, usually the delivered product does not meet even the basic quality standards.

In fact bad approach/process usually generates software which does not meet the actual business requirements and those who worked on the product are often forced to explain why something ‘could not be done’ for whatever reason.

This ‘cannot be done’ attitude eventually precipitates into the organisational culture and becomes defacto standard way of (not) building sofware.

A moving target

One more major reason why most web sites are so bad is that the IT industry is a constantly moving and evolving target.

By the time a web site has been published on-line, in most cases it is already somewhat out of date, needing improvements, maintenance and taking care of.

This is the case with every software.

In order for web sites to be kept ‘fresh’ people building them are required to keep their skills and knowledge fresh.

This requires passion and dedication, which most people do not have (enough of), producing average, slightly out of date products all of the time.

Written by Jason Grant, BSc, MSc on 6th July 2009

Contribute your expertise