For the last ten years I’ve made a living from implementing redesigned/rearchitectured websites, but it’s started to dawn on me that perhaps this isn’t the right approach to be going forward with.
As a coder I learned pretty quickly, the best way to debug something is the scientific methodical way.
The first step is to identify the area of code/class which the bug is in, this can be done in many ways so I won’t delve into my particular preference.
The second step once you have said offending class/method is to start logging and commenting sections out to see what fixes it. Now this is the step I’m interested in.
Depending on your skill level with the language on first pass you may have a ‘hunch’ as to what the problem is so you’ll go straight for the quick win, you’ll change a variable and retest to see if it fixes it. If it works ‘woo hoo’ -> moveon. If not then go to the beginning and start blindly commenting out and testing variables, you may be in for the long haul.
The key though, and if you spot someone not doing this it either means they’re exceptionally competent or exceptionally inexperienced (read: stupid, a moron, dimwitted, a duh) is that you do one test at a time.
The reason, if you change more than one thing and then retest and it works or breaks, how do you what did what? You don’t.
So a question: when as a company you do a sitewide redesign, how do you expect to know which elements for your redesign worked and which didn’t? Answer: You don’t. You hope that the successes outweigh the failures and that your client decides to pay you regardless. It’s very similar to the problem of knowing if your advertising is successful.
So rather than doing sitewide redesigns just for the sake if it, It would be far more prudent to take the existing site identify key areas which have both flaws and successes and start drawing up experimental alternatives to be designed and built, which can then be a/b tested and analysed in the existing framework and then ported easily into a new design ethos. This way there would be no more of the ‘hit it and hope’ mentality plaguing web design today.