"'Data! Data! Data!' he cried impatiently. 'I can't make bricks without clay.'"
The above quote is one of my favorite lines of Sherlock Holmes. He utters this famous line in "The Adventure of the Copper Breeches" when an unusual case presents itself to him but alas, he does not have all the information he needs to solve the mystery.
I can relate to Holmes' frustration when it comes to architecting a site. I believe that the best way to begin a site build is by discussing and thoroughly understanding the company's business rules and target audience. Once that has been established, the next thing is to understand the data that will be presented on the site such as products and categories. It doesn't matter how big or small your company is, the planning phase is crucial to the success of your initial site launch.
Many sites end up looking different to their original design concepts simply because the actual data to be presented was not given to the web development team during the design phase. I remember an instance where one of our clients wanted their information presented in a lightbox. It looked very pretty indeed except we ended up having to scrap the lightbox because the copy/text that was provided was over two pages long (much more than the two paragraphs the design had accounted for).
Not having all the data during the planning phase leads to a waste of time and money and can prove to be frustrating for both the client and the development team.
For an eCommerce site, having all the product information is crucial. By information, I also mean any factors that can influence the product data directly or indirectly. For example, some sites offer discounts to registered customers, a sort of loyalty programme. Initially, this may not seem like such a big piece of information but here are some questions it poses:
- Should guests be able to see the discounts so they can become influenced into registering?
- Is there a maximum quantity a user can purchase for discounted products?
- Will the discounts be available to all registered users or are they only for loyal customers who have purchased from you more than an x amount of times?
- Will the discounts be percentage based or a fixed amount?
- Should the discounts be on the tax inclusive price or the tax exclusive price?
As you can see, there is a fair bit of planning and thinking involved to apply this discount functionality. When the thinking and planning is done at the start, the site can be architected to support what it needs otherwise the developers might end up having to balance the unaccounted for functionality on an unstable foundation and It never ends well.
I have come across developers who try to build functionality without having all the data present and end up having to rework their code later on. I understand their frustrations, I have been down that road many times myself but experience has taught me when to stop and ask the questions. It's not that the client is purposely withholding the information we need, they've either simply overlooked it or they didn't realise it's importance. We need to ask the hard questions now to avoid the hard days later.
So give me your data and I'll give you a successful site.