“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.”
So far, my conclusion has been that we are best positioned to work with existing commerce systems, whether on or offline, even if they need a great deal of improvement, rather than building ecommerce applications around systems that are still being figured out. In the long run, being hesitant to develop around a non-working or overly complex system should also benefit the client, ensuring that money isn’t being wasted on something that will not be functional or effective anyway.
Have you had experience with this? Do you have any strategies for developing around untested business models?