Building an e-commerce Website

If you are considering starting out your own e-commerce business, this article is dedicated to you.

After working with clients on multiple different projects—​including e-commerce sites—​I know that there are aspects that new owners are not aware of before they dive deep. There isn’t as much written about the problems and failures web store owners had before they learnt. This means that one has to learn it all the hard way—​very often soon after their development team has already put a lot of work into the e-commerce site.

With this article I’d like to save you some of the hassle and money and present you with a small introduction of what to expect.

Preparations

Apart from thinking about the budget, kinds of products, warehouses etc. you’ll most probably want to know how to put it all out there for the public to see. You’ve seen other web stores and intuition may tell you that you just need a “website” with some backend functionality to manage products and see the orders. You may have heard about some “free” stacks you could use or some online hassle-free platforms where you could just pay monthly and have your web store in almost no time.

All this is to some extent true—​but in the end, very often only partially. The free solutions aren’t really free as I’ll point out later on. The “hassle-free” solutions aren’t always that hassle-free and definitely aren’t free or even cheap if you plan on being a great success.

Some of you may have heard or read, that it’s often very advantageous to hire a team of developers (or a solo developer) who will create the whole application for you. They can take the “free” solutions and adopt them to your specific needs. Indeed, In my experience, many companies end up employing developers who steer them into using a well-known e-commerce platform they were excited about.

The popularity of such “platforms” can be seen, looking at the rankings published from time to time:

What these popularity charts do not reveal, is that many users of such frameworks often become very frustrated, when they try to add things that they don’t handle out of the box.

A problem with “ready to use” e-commerce solutions is that they take a one-size-fits-all approach. Many of them have “plugin” systems allowing users to choose from a list of third party extensions. They are never tailored to your specific needs though. The large list of features only impairs the ability to implement the ones that you really need. It’s still possible but it’s much more costly and much more bug prone.

The “online platform”, or what's called the SaaS approach takes out the development time induced hassle from the picture giving you the set of features most owners would want. The downside is that you have even less room for customizations and you certainly won’t have the flexibility of adding anything you’d like as in the “ready to use” or even “ground up work” approaches. This is especially true if you'd like to maximize your profit by tailoring your web store to your specific type of a customer. Web stores aren't that rare anymore and you'll need to differentiate yourself somehow in order to gain a competitive edge (apart from the one your products give you on their own). The story of Amazon and their “one click checkouts” tells it all. The other disadvantage is that pricing can be based on e. g. the number of visitors or orders. This means that the greater success you are, the more you have to pay.

No business is the same, it may be that the “ready to use” platform is exactly what you need—​at least at this point in time. The SaaS solutions cover the needs of some users as well. It’s always a matter a weighing pros and cons—​many things are beautiful in this world but nothing is perfect. I’d like to present my humble set of advice to at least steer your thinking to line it up with what my experience tells me is reasonable. With this I'll focus solely on the approach of hiring a developer or a team to maximize your ability to mold your web store and react to the needs of the market.

1. Don’t let yourself be too excited

There are many technologies that garner a lot of buzz these days. For non-technical people, it's very easy to believe the excitement of a professional developer recommending buzz-worthy technology. I’m here to tell you though, that out of experience—​no technology I was ever very excited about, remained as great in my eyes after some time of using them. There’s a downside to everything—​this doesn’t mean these technologies were useless and that I’d choose differently. It just means that the excitement can cloud the thinking making it much easier to make silly mistakes. It’s also easy to trap yourself with something that doesn’t even deserve any consideration—​even though it’s packaged so neatly.

If it seems that your developers are getting too excited about a particular new and hot technology, take their recommendations and endorsements with a grain of salt. There is no silver bullet, technology trends come and go and it's best to monitor innovations and adopt them when they have been tried, tested and proven.

2. Do not ever trust teams offering fixed project prices

Many business owners are tempted to expect a fixed price negotiated with a team of developers. It’s very natural—​nobody wants to invest in a project without a clearly defined cost. This is how things work in other aspects of our lives (like buying a house). In the software development world this approach almost never works as it might be expected. The reason is that creating new software isn’t like buying a new house—​it’s more like building a new house.

Software development is very complex. There are many unknowns at almost every stage of the project that make it difficult to create accurate estimates. A simple website may end up taking much longer than anticipated—​not to mention large-scale e-commerce sites.

With fixed-price projects, as the completion deadline approaches, features may need to be cut or scaled back because of unforeseen challenges in the earlier stages.

At End Point we usually give estimates in the form of a range. Rather than committing to complete your project in 500 hours, we'll break it down into smaller tasks and the aggregated estimate would be a range from 480-520 hours as an example. This allows visibility into the cost for the completed project and offers flexibility for the challenges that arise as the project moves from inception to completion.

3. Let go of perfectionism

It’s so easy nowadays, to read a lot about the “proper” ways of building anything. We’re bombarded with information: people are writing about SEO and having mobile-friendly UI. Others will discuss quality of the design, the importance of typography, email campaigns, payment gateways, data security etc. Don’t get me wrong—​It’s all very important and mostly good advice. The problem though is that it’s such a complex endeavor that it’s easy to get paralyzed thinking you have to get it perfectly or else it will not work.

In reality, it’s completely safe to put it all aside and first decide what’s the most important to reach your initial goals. A great way to focus on that is to talk with experienced developers—​they will help you understand the critically important aspects the application will need to handle properly, like data security and contrast that with some of the other e-commerce wants and needs.

4. Put first things first

Very often, online business owners come up with a large list of features they want, only to discover in the end that a small part of it in fact was making them their money. It’s equally true that it’s very easy to get excited at each stage of development and ask developers “to add this-or-that while they’re on it”. What may seem as “simple” additions, at different stages of the project may become things taking much longer than expected. In the end owners need to pay much, much more—​for something that may not even contribute to the business success at all.

We as developers have a number of interesting battle tested principles. One of them is what’s known as YAGNI - “you ain’t gonna need it” (https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it). It means that you're better off focusing only on the essentials that will do the job rather than focusing on the large number of “nice-to-haves”.

You have to think of the crucial, most important set of features that will make your web shop make money for you. Once you have that set, go through the list and try to prune it a bit more. Have you heard about the Pareto principle? It says that only about 20% of the things you’ll do, will bring you the 80% of the income. From the development point of view—​the simpler the better. For you as an investor, it also means much, much smaller invoice to pay.

5. Invest in a really good team from the start

These days the barrier to entry for web development has become very low. It’s quite easy to become a developer. This led to the situation that it’s possible to hire a team very cheaply. I don’t want to scare you too much—​but there’s a lot that can go badly in your web store. Most of those things you won’t be able to see, nor will you have the control over. What developers call the backend (which is everything that’s not related to the appearance of the site in your browser)—​has to be coded exceptionally well to minimize the threat of bad things happening to your business because of it.

The application logic can go terribly wrong. Badly coded software could not be charging the clients properly making you lose your money. The promotion coupons could be applied when they shouldn’t. Promotions themselves could be starting too soon or ending too late. Orders could seem to complete successfully with customer being charged, while the order never makes it to the database. The pricing could be incorrect. One customer could see another customer's login data or discounts. There could be problems with shipping or tax calculation when third-party services have
outages. With little real world experience, a weak development team can make the application very slow or make it completely fail during high traffic. Also—​there are a lot of ill-minded people wanting to get into your system and either steal private customer data or take down the whole web store.

It pays to pay for a really great development team.

There’s much more

There’s much, much more to the subject that an article like this can fit. I invite to you contact us if you’re considering starting out an e-commerce business and would like to learn more. We’re also available to help you in case you already have an established business.