Analysis (Services and Self)

Koan Bremner's view on life as a database and data warehouse professional / addict and non-genetic woman

Tuesday, October 19, 2004

Just because you can, doesn't mean you should (take two)

This is a rewrite of a previous post, because I realised that the point I was interested in making had actually got lost in that first version. So, I'll try a different approach.

One of my favourite restaurants is Jacob's Ladder in Dublin. After taking my seat, they would bring a selection of freshly-baked breads, a starter in themselves. (And if the tray was brought around again, well, it would have been rude to refuse). Then a menu over which it was a pleasure to linger; courses which were a treat for the eye as well as the palate; and a relaxed (and relaxing) atmosphere in which to dine alone or in company. I never came away from there without feeling well-fed, satisfied and dewy-eyed with pleasure.

Of course, by the time I'd walked downstairs to the street, the contents of my stomach represented a mashed-up amalgam of the various courses I'd eaten, diluted by whatever drinks I'd chosen. If, instead of serving the meal traditionally, the waiter had brought me a large bowl containing all of the various courses, poured in my choice of drinks, mashed them all up, handed me a spoon and instructed me to tuck in, I suspect that I would have been underwhelmed.

Why? After all, the net result would be the same (my stomach would be filled with a nutritious and filling meal). But the journey would be different; instead of being able to enjoy each course at my own pace, pause for digestion and reflection, possibly even change my mind about my choice of dessert (or even decide not to have dessert on occasion; unlikely, but you never know) I would have to force down everything at once, possibly giving myself indigestion in the process.

In my opinion, introducing a new release of evolutionary software into a customer is a lot like inviting that customer to dine; create a menu which offers choices (but not too many, or the task of choosing will be lengthy and unenjoyable or short and arbitrary). Each individual course should give pleasure, and ready the palate for the next course. Not too many courses; and certainly not courses that clash. The waiter shouldn't rush the diner by bringing the courses too soon; the diner should be satisfied that the bill reflects the meal they've enjoyed; and they should leave the restaurant already anticipating their next meal.

I feel a little like a chef when working with the technologies I do; there is so much that could be done with them, that surely putting all of those possibilities into one release makes sense? Of course not; too many courses lead to indigestion; too many new features can leave the customer unsure of how to use them. The wrong wine can spoil the main course; new features should complement each other, not compete. The diner may not want a dessert; the customer might not have the inclination to use feature X at this time, while they're busy taking advantage of features Y and Z.

It is my responsibility to contribute to a menu and a dining experience that leaves a contented glow, not heartburn. Designing the menu is as much about deciding what to leave out as it is about what to put in; or what to hold back for tomorrow. Less can be more. I believe that most software developers would like to incorporate as many new, compelling and impressive features as possible in each new release; which brings us back to the title of this post...

This blog has been migrated to new software on a different server ( and comments on this post on *this* blog are now closed. All existing comments have been copied to the equivalent post on the new blog. If you still wish to comment on this post, please use the equivalent post at:


<< Home