BLOG | JULY, 2009 Planning for Ecommerceby Christopher "A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system." - John Gall (http://www.daringfireball.net/2009/04/complex) This is an excellent quote that could probably be applied to many different points, but I'm including it here because I think it applies nicely to a trend I've observed with ecommerce development. For the most part, any project we do that involves ecommerce tends to fit into one of the following three categories: (1) a new website for an existing business that has already operated online, (2) a new website for a business that has a working offline model but has never done ecommerce, or (3) a new website for an entirely new (and untested) business model.
The first two tend to go rather well. We begin any ecommerce development process by doing quite a bit of in-depth diagnostic work with the client to really get our minds around how their business works so that we can either translate that process to the web, or improve an existing web business process. Our collective expertise in web strategy, prototyping, user interface design and usability best practices, as well as our emphasis on collaborative relationships, really shine here. This is generally because we're starting with either a simple or complex working system. Even if it has aspects that need to be improved, the system in general works. In other words, our client is already making money from a solid business plan. However, if we're working on a project where there is no working system, especially in the case of a new business model, this usually makes for a turbulent project. Building an ecommerce system is a highly complex task, requiring that many transactional rules be established as a framework for the system. Those rules need to be based on a concrete business plan and specific data related to it (i.e. a known quantity of types of products, prices, discounts, price-affected combinations, etc.). If that data is speculative at the time and a system is built based upon it, it can be very labor-intensive to make changes later on. Unfortunately, that is exactly what tends to happen when an untested or in-flux business model is the basis for an ecommerce development project. Thus, "You have to start over, beginning with a working simple system." |
Good post, Chris.
I realize (after talking with you) that the post was more focused on the strategy side of building the site in helping clients discover their business plans on the fly, and the frustrations this can cause.
From a technical standpoint, these sites are challenging due to the amount of work that needs to go in to make sure that the website code is as good as it can be. Whenever you start dealing with money, you have to have complete confidence in your code.
When you are helping a business get money from their clients, you are taking the weight of not only providing the business a source of revenue, but also its reputation among its customers. The movement of money from buyer to seller should be rock solid as a bug in either direction will make for pain all around. Double charge the client and you hurt the business' reputation. Refuse a payment from a paying customer and you starve the business of income.
If the e-commerce path through the site is being changed every week, a lot of work goes in to making sure that the basic goal of the customer wanting to buy something and being able to is achieved in spite of code being changed. Building one functioning e-commerce site is challenging enough. Building one that changes frequently is doubly so.
Nolan,
Yes, I was concerned after publishing this that it might be unclear or misunderstood. If I summarized my point to one sentence, it would read something like: If a company does not have a solid business plan thought out or already implemented offline, creating an ecommerce system is premature and likely to be incomplete, ineffective and developmentally inefficient.
All that aside, you're absolutely right in saying that the development concerns in regard to an ecommerce system are much more significant than many other development scenarios precisely because the transaction of money is involved including many more players than just the development team and the client.
Chris