Lifetime Guarantee


November 19, 2012 by rnoowcc

“Roll Up – Ladies and Gentleman, come and see the only knife you will ever need in your life”.
I strongly remember being dragged around a department store by my mum, trying to locate what the recent tannoy announcement was referring to.

“Come on, don’t be shy – one look at these knives and you will see the quality of the workmanship and the sharpness of the edge”
My mum’s pace increased and her frenetic searching brought her towards a large crowd of people in the middle of the store, obviously cleared to allow for more people. Standing in the middle of them, was a short perfectly spherical man, with beads of sweat running down his face.

He put the microphone to his lips,
“This is your one and only opportunity to own this knife, and if you buy today, not only will we throw in a second one completely free, I can also offer, for those smart enough to realise how much these cost, a lifetime guarantee. Yes, you heard me correct – a lifetime guarantee”

The audience whoops and sighs, the ebbs and flows of a pliant swarm of consumers.
Once the price had been announced, a sea of hands holding £10 notes covered the shop floor. People were stretching and pushing to be next in line to receive this wonderful, life-assuring kitchen utensil. I turned to my mother, to find her bagging the newly purchased knives with care.

Now, you may wonder what this story has to do with technology, well it doesn’t so far. It’s what happened a little while later, when we came to try to get a replacement for the knives as they had broken within a couple of months of taking them home.

As we had purchased the knives from within the department store, we felt the responsibility for the purchase fell with the department store. Wrong! It turns out that the knives salesman, had just asked for some floor space, on the promise of getting more people to come into the store. The sales were directly carried out by him, and all offers and guarantees came from him, and not the store. On speaking with the store manager, it appeared that we were not the only ones attempting to claim on the lifetime guarantee. The department store had been inundated with guarantee claims, but the knives salesman was not contactable and had left no forwarding details or onward number. The store manager further commented, “I cannot believe so many people believed the promise of a lifetime guarantee, with such poor quality materials. He’s obviously cleaned out in this town, and is moving onto greener, equally gullible people in another town. It’s ok for him to make the promises and guarantees, when he knows he isn’t going to be around when it’s claimed on and doesn’t have to fulfil the promise. It’s left for everyone else to clean up his mess”.

Is there an ICT relevance in this story? If you rename the buying customers as a Corporation, the department store as the ICT department and the Knives salesman as a New Media technology consultancy brought in to remedy a perceived need, you may start to see a connection. As the New Media Company only has to make the promises to get the contract, delivery is key to their success: long-term sustainability is not. In the case of the Knives salesman, delivery was handing over the knives to his paying customers. Once implemented, the New Media Agency usually demands payment and moves onto pastures new. The Corp. is left with a system that works for today, but only just. As demands, use and technologies change, these delivered systems often reach the tipping point of obsolescence much earlier than other systems, because they were designed with a different set of priorities from those that use the system.

The priorities they were designed with of:
1) Quick production
2) Well presented
3) Easier adoption
4) Simple to use
5) Works for now

were primarily to optimise sales and production. They were not designed for long-term satisfaction or maintainability. Seeing how little care and thought there is for backwards compatibility in the Ruby and Rails world reminds me of the Knives salesman. Whilst we may be lumbered with a system designed at its Zenith, those who created and distributed the code have moved onto pastures new and seem to have little consideration for those using it. Given that most of the code submitted appears to come from one-man-bands and New Media Agencies, having code that works a couple of years from now just doesn’t figure.

Is a 2 year shelf-life for a technology product acceptable? For those on the Apple hamster wheel, undoubtedly. I like to get more value from what I invest my time or money in.

The question, we have to ask as an organisation, is how do we harness the benefits that Ruby has to offer, with an appreciation that there are different priorities from those that contribute code and those that use code.


3 thoughts on “Lifetime Guarantee

  1. ian litton says:

    While the moral of the story is compelling, avoiding the pitfalls is not straightforward. The same fate awaits those who go down a proprietary route (products being withdrawn summarily, new versions requiring significant re-engineering to existing solutions before adoption, standards being changed, web service interfaces changing). We saw this with another framework, Spring Roo, and we have seen it from Microsoft and other large corporations. The key is whether or not an environment, framework or product provides methods for managing the dynamic nature of the technology in question without breaking the good work we have already done. This was an area Ruby on Rails had improved on and provided mitigation for when we evaluated it recently compared to a couple of years ago. There is no such thing as perfect technology. The decisions we make will always be based on factors such as functionality, productivity, risk and mitigation.

  2. Rob Nichols says:

    I’d make a few points

    Yes, some gems have single contributors, but that is highly visible and more importantly so is the code. Personally, I would far rather have an open system where I know both the nature of the contributors and can review the quality of the code myself. Compare that to some commercial products I’ve worked with that have very small development teams with ‘interesting’ coding practices hidden within compiled binaries.

    rvm and similar technologies allow you to run multiple versions of ruby along side one another. It is also easy to freeze gem versions – particularly since bundler was incorporated. With these technologies it is actually quite easy to freeze a rails application at a particular version. This is evident from the number of Rails 2 applications that are still live.

    Rails is still evolving fairly quickly, and you do have to develop a way of working that embraces that. However, the fruits of this are a system that is getting better and better, and an environment that evolves as technologies evolves.

    I want to work in an environment that is being continuously, reviewed, updated and improved. I do not wish to work on systems that becomes bloated or stagnate through over-emphasis on total backward compatibility.

  3. Hi to all, how is all, I think every one is getting more
    from this web site, and your views are good for new people.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: