Architect your solution around the customer experience

I was at QCon yesterday, ostensibly to give a presentation on usability, but I attended a few sessions as well.  Not being a techie, I didn’t understand much of what Werner Vogels, the CTO of Amazon was talking about during his presentation on Availability and Consistency, but one thing has stuck in my mind.  “Never, never refuse the customer from putting stuff in the shopping cart”.  The context of this was around how your architectural design; do you go for consistency or availability (or something else which I can’t remember).

I’ve blogged before about siloed organisations, but Werner touched on how even internal IT organisations can be siloed.  Something about how your database team may be soley focussed upon consistency; they are willing to sacrifice availability for valid technical reasons.  But the database needs to be seen in the bigger picture, outside the confines of the IT organisation.  It needs to support the customer experience.  And that means the customer must always be able to put items in the shopping cart.  Period.  The takeaway I suppose is to build your architecture around the customer experience; decompose the experience to do this.  The technical requirements for your shopping cart will be different from your fulfilment mechanism from your “see what others are buying” from your “my details”.  Make technical decisions accordingly, rather than a one-size fits all.


  1. Jim Arnold · Thursday, 15 March, 2007

    I know this is beside the point, but “the customer must always be able to put items in the shopping cart” is not an Amazon customer requirement, it’s an Amazon *business* requirement. It means they can always take your money off you and give you the impression of good service, even though the greedy bastards don’t have the item in stock or the capacity to physically process your order.

  2. marc · Friday, 16 March, 2007

    Cynical bastard Jim 🙂 Not sure I agree with you. If I as a customer have invested time browsing the site, the fact that I want to put something in a shopping cart suggests that I am committed, I want to take our relationship to the next level. Tell me that your server is down and to try again later is inviting me to go to Waterstones.

  3. Jim Arnold · Friday, 16 March, 2007

    “Tell me that your server is down and to try again later is inviting me to go to Waterstones”

    Back when shops were made of bricks and mortar, the ones I liked most were those which did exactly that! It is helpful because it lets me get what I want more quickly, and it tells me that they are not scared of their competition. Of course, if *every* time I try to shop there they tell me to go to Waterstones, then maybe I should just go to Waterstones in the first place…

Leave a Reply