In your cart

Your cart is empty - we will automatically add on the "Core" module and the (free) Default Template to get you started!

How complex is my (e-commerce) project?

Part of the Additional Pages Index

Keeping specifics aside I want to explain my method of figuring out a project's "complexity". Complexity is something we can use to measure the value of a project, the stress we're under, or even wether something is realistically achievable.

You will have no doubt noticed how simple jobs can quickly turn into a logistical nightmare as clients change their minds, adding to and removing from a project. Well, I believe there is a simple mathematical reason behind this, and through the analogy of cooking, I'll explain the concept... read on!

You are a master chef, your project a banquet, and your customer demands certain ingredients to be used rather than asking for a set dish...

Scenario #1 - Cheese on toast

Your ingredients are: cheese and bread, naturally you decide to cook cheese on toast! As a master chef, this is incredibly simple: partially grill the bread; add cheese; finish grilling and BUNG! The whole things takes you a few minutes to do!

[image here]

The meal has a measly 2 ingredients and is simple to figure out. The diagram represents the "complexity" of the dish, and as you can see it's nothing to worry about!

Scenario #2 - Spaghetti bolognese

This time you have been given a longer list of ingredients: Mince, Tomatoes, Garlic, Olive Oil, Onions and Pasta. You decide to add a few herbs and spices to make up spaghetti bolognese. When making this dish you have to cook everything in the correct order, keep track of your timing and you'll be using more of the kitchen!

If we connect these ingredients in the same manner as before we can see it's a considerably more complex task:

[image here]

Looking quite messy I'm sure you can agree. If you can imagine cooking a banquet that takes months to complete and has thousands of ingredients, you are in the shoes of the web or software developer!

The numbers and reality of it

If we plot the number of nodes (or ingredients) against the complexity, we can see how maddening and complex a system can become.

The equation is simply complexity = n (n - 1) / 2 where n is the number of ingredients...

  1. 0
  2. 1
  3. 3
  4. 6
  5. 10
  6. 21
  7. 28
  8. 36
  9. 45

As you can see the complexity rockets! In reality, adding one extra ingredient probably won't affect every element of your project unless its something major or integral. However the analogy remains useful as you will still have to consider the other ingredients just in case, and that takes up your time and resources.

Between you, me and the clients

The lesson is simple, adding one more ingredient or element to a project has the potential to increase the complexity considerably (well, parabolically). Use this simple analogy to help explain to your clients why adding feature X really will cost so much and take so long.

You could always link them here and save even more of your precious time... Score!

Credits

If you want to know about the graphs, they're called Complete Graphs and are thoroughly interesting (if you're like me). Props to my lady for proofing and criticism!