Evaluating the complexity of web project – what makes a website simple or complex?

Posted by Ron on December 19th, 2011

During a recent meeting with a prospective client I made an off hand remark that the project we were discussing is around 6/10 in terms of complexity ( 1 being simple and 10 very complex). The gentleman immediately asked how I came to that figure but it was difficult for me to explain it. I guess it was part intuition, part experience and part based on the brief of the project. But I also realized that complexity especially in a web design project can be very subjective.

I am not one of those people who can spontaneously make excel sheets that can give a marking to every factor and then come up with a complexity score. I am more partly a right brain-left brain combo type, i.e. I use part intuition and part facts to make evaluations.

But it did get me thinking about evaluating complexity and the various factors that affect a complex website. It also goes hand in hand with costing and budgeting of the website.

Complexity can be measured quantitatively in terms of the project size.

The size of the website can definitely impact the complexity of the website although the internal workings might be simple.

Size can be dictated by factors such as

Number of database tables required

Amount of data that is stored or would be stored in the database

Number of distinct modules that need to be developed to complete the whole system

Number of forms feeding into the database through the site

As you can see its more left brained number crunching but sometimes even size is not a good indicator.

Complexity in terms of the developer’s prior experience or lack thereof.

As I have mentioned above, complexity can be subjective. What might be very complex and daunting for a junior team might be much simpler and less complex for an experienced senior team. We usually combine juniors with seniors on projects (a kind of jedi apprentiship) to balance things out a bit. My above mentioned evaluation might be due to my vast experience in programming sites and could easily be a 8-9 for a less experienced programmer.

Complexity in terms of the nature of the algorithms and exceptions used in the website.

An algorithm is a series of programming instructions to process some input or display some output from the website. My team once worked on a project that was very simple concept but the complexity was skewed by the points structure (rewards for shopping) envisioned by the client. The convoluted logic resulted in convoluted algorithms which had tons of exceptions (a type of choice which changes the flow of the program).
Anyone who has been explained the reward structure of an MLM will immediately grasp this kind of complexity. I always advise my clients to keep it simple for this very reason.

Complexity in terms of multiple inputs and reporting of collated data from different sources.

Sometimes a web design project can simply become complex by the number of sources from which data has to be collated or streamed. Websites with data pouring from hundreds of forms is an example. An ERP system would be a good example of this type of complexity. Different consoles in different functions of the business need to piped to the correct database, processed and then piped back out as MIS (Management Information Systems). This also ties with the first point about the database size.

Complexity due to lack of documentation or planning

Like ‘the blind leading the blind’, a web development team with no idea about specific deliverables or with poor documentation can go around in circles. For the team members without clear deliverables and a road map the project is complex because of the unknown. Decisions have to be made (and are many times avoided) at every turn. Some decisions lead to ridiculous complexities in the structure of the website which creates a negative spiral that demoralizes the team. Simply put, a poorly planned project is by default a complex project.

My own evaluation of some common types of web projects and thier complexity levels

ERP System – Extremely complex on all factors (9-10/10)

CRM system – Moderately complex mainly due to the mulitple input and reporting factors.