We're looking at a project where the client plans to use a third party e-commerce solution, as distinct from, say, the entirely bespoke system we built for another client, Rapha. That's fine, we can interface with most things. But I'm concerned that the humble user should remain at the top of the decision tree...
My feeling is that the user experience needs to be designed independently from the back end system. If we concern ourselves too much with what the back-end is actually capable of we stand the risk of hobbling the user experience, or at the very least designing something that is not necessarily best for the user. We'll inevitably be influenced by the demands of the system instead.
In real life that stuff inevitably happens of course; pesky details like budget, technical constraints and so on do have a say in proceedings. But if you want something truly brilliant for the users you have to ignore those other influences and simply say "what does the user want?"
At least for starters. Then, if you aim too high you at least have some choices: get a new back end provider; tweak the back end to fit the desired process; or - if you absolutely must - re-design the user experience. By 're-design' I do of course mean 'dumb down' ;-)
Make good choices
So, when choosing a vendor for the back end e-commerce solution the client needs to think very carefully. I think one of the most important questions to ask is just how flexible is the system? It seems to me that the less the back end cares about the front end (and vice-versa) the better. If both front and back are really well designed - in other words, they are open, flexible, standards-compliant etc. - they should play together nicely.
Or just go bespoke
When designing a complete bespoke e-commerce website from the ground up - as we did with Rapha - it's a slightly different story, and a better one, I think. But not all business are able to go that route, and not all want to, which is fair enough. Those that want off-the-shelf e-commerce just need to make sure the processes required to make e-commerce transactions in the back end don't 'poke out' into the front end, distorting an otherwise great user experience.