Top 5 Tips For Ensuring Successful E-commerce Development

July 28, 2010 · Posted by Cam Stevenson · 0 Comments · Trackback Url

In the lull before starting full development on the next iteration of CommerceLive, I thought it would be useful to share some observations I've gathered over the course of the development process.

I'm also going to tie this in with my observations from the Internet Retailer conference last month (cleverly covering off a request from our Marketing folks).

My general, high level starting assertion is that the e-commerce domain is far more complicated (in all respects) than any other technology area (I'm comparing it to other areas that I've been deeply involved in over the course of my career such as text retrieval and enterprise content management).

On the surface, this wouldn't be immediately apparent - after all, how hard could it be to develop a shopping site? But once you get into the details, you quickly realize that unless you're building something trivial, there are a lot of moving parts that need to be thought through, and not glossed over.

The complexity is generally due to a few reasons:

  • There are more types of users (what are often called personae) than normal. So shoppers, business workers, IT people, developers - and various flavors of each. All with different needs, skills and reasons that they're using the software.
  • There are potentially very fiddly business rules - especially around things like discounts, fullfillment, multiple currencies, inventory and some others.
  • There are a bewildering number of what I'll call "add-ons" to the trivial shopping site case. Generally involving ways of convincing people to hand over their money for your product or service. This is an inexact science at best, which also (as an aside) means that there are also many different types of monitoring and analysis tools to try to make that more exact.

These challenges are in addition to the normal trials and tribulations of developing software.

At this point, I'm going to tie in to the Internet Retailer conference with my big observation, which surrounds the third point above, and which is basically:

There is such an overwhelming volume of information, strategies, bits of software, technologies, platforms, services and things-you-absolutely-need-to-be-successful in eCommerce that I can't imagine how anyone can keep it straight and actually build a site or application.

I watched my fellow attendees at various sessions. Believe me, I feel for you.

With that said, and because I do feel for you, I'm going to share my top 5 coping tools which allowed us to deliver CommerceLive.

1. Don't Start From Scratch

This probably doesn't *really* need saying these days, but you don't want to build your e-commerce system from the ground up. What you do want to do is select a platform where things like the "fiddly business rules" above have been thought through for you, so you can worry about the "bewildering number of add-ons".

In our case, for CommerceLive, we're building on top of Microsoft Commerce Server 2009, Microsoft SharePoint and some other technologies. As a result, we've been able to to focus on the value we're adding, rather than reinventing things like, say, coupons or sending product links to Twitter. You, of course, now have the option of building on top of CommerceLive which, IMO, is pretty good and which I will shamelessly plug only this one time.

2. Get Working Software Quickly

Nothing keeps a project on track better than collaborating around working software. I can't stress enough how important it is to stand up a site or application as quickly as possible, no matter how rough, so that all of the participants in the design and development process can get their hands on it and rapidly get a shared understanding of the current state - and collaboratively improve it. Paper isn't a substitute.

3. Be Ruthless About Design

Being unusually complex, e-commerce development demands unusually crisp requirements and design. I have been burned personally in the past 6 months by thinking I could get away with "a simple change" (at some point, if Wanda lets me, I'll tell one of the stories). I now realize that there are too many variables, interdependencies and edge cases to do this.

My advice: front-load as much of the design process as possible, but be prepared to hit a fuzzy area or edge case and to spend the time to work it out in its entirety. When you hit this situation, don't try to skimp. Yes, Donna, I've been listening to you.

The penalty for not following this approach is either regressions during the development cycle, or bugs when you go live.

4. Be Even More Ruthless About Triaging Issues

Basically, the observation is that given the numerous interaction points with the system (because there are more types of users in an eCommerce system), the "fiddly business rules" and the "bewildering number of add-ons", a holistic and rigorous approach to prioritization is the key to keeping it all from devolving into a state of chaos. Are you *sure* you need to add that featurelet? What's the impact? How about that JavaScript change - what else might break if you change it.

Two other sub points here:

4a. Involve all of your discipline owners (user experience, product management, development, test, deployment, etc) in the triage process, because they will have different (valid) senses of priorities.

4b. Always make sure that issues are handled per (3) above.

Ruthlessness should be on a sliding scale, of course, starting out "less ruthless" early on in the development cycle and progressing to "epically ruthless" towards the end. Everyone will hate you during the last part, but it's worth it, and I haven't been beaten up in the parking lot yet.

5. Spend the Time on Ad-Hoc Testing

Not to minimize the value of formal testing (manual or automated), but the biggest bang for your buck is ad-hoc testing. Turn as many people loose on your site or application as possible and make it easy for them to report issues.

Remember that formal testing follows requirements and use cases. Shoppers won't be following those.

Finally...

Those are my top e-commerce Development Coping Tools, and they were instrumental in keeping us on track and allowing us to deliver CommerceLive. I'd love to hear about others - especially from any other IRCE attendees who left with their heads spinning.

  • CAPTCHA Image Validation