Tuesday, March 20, 2007

Metaphor: Dripping water

It is said that the best way for a leader to communicate his or her vision, values and beliefs is through telling stories. This is also true for architects who, being engineers and pragmatic and all, tend to cut the stories short and turn them into metaphors that help to explain complex concepts to fellow engineers and also customers. XP is big on metaphors and I have found them useful, too. This is why this series is created: every now and then I stumble upon one that seems to work and convey an idea particularly well. Which means that it just might be worth sharing. Let's see how many of those I can come up with.

We had a team at Skype that struggled with incoming feature requests. They were short on resources and their importance in the business was growing rapidly. So everybody was busy throwing business ideas, feature requests, project proposals, bug reports at them to a point where most of the key people spent most of their time reviewing, estimating and designing solutions for them. Which, clearly, had to stop. This is not an uncommon problem and the obvious solution was to introduce a quantization mechanism that would allow to split the constant flow into manageable chunks. the only problem was that the customer did not want to wait, they wanted their thing to happen yesterday. Enter the Dripping Water Torture metaphor. Everybody has probably heard that at medieval times people were tortured with water dripping on their sculls for lengthy periods of time. Even the Mythbusers did an episode on it. This is how it feels being constantly bombarded with all sorts of functional requests.
Now imagine that instead of water dripping on your forehead and slowly driving you bonkers, a man with would turn up once a day and threw a bucket of cold water at you. Unpleasant as that might be, it's not much of a torture. The message was heard loud and clear and now there is at least an understanding of what we are trying to solve with the recent process changes.

No comments: