16 October, 2006

What you want and what you get

"You can't always get what you want" - The Rolling Stones.
"WYSIWYG" - What you see is what you get.

Somewhere in between is the reality of product management - under some circumstances, you can get what you want, but it never looks like what you expected.
After the "passing ships" discontent with Doodles in this office and me on holidays, I'd sent out an email to the effect that the latest product release had features requested by certain individuals, and it was a part of business acceptance to ensure that the requestor play the role of customer or user.
A few days later, Doodles understood how much I was asking of him, and responded with a "How the *&^% do I test that?" or words to that effect.
I saw red (without unnecessarily quoting Split Enz). How can you have a requirement, and then have no idea what it would look like if it did get delivered on? Sure, if you relied entirely on me to do that work for you, then you could ask me to check if the requirement that I had written was satisfied, which would be easy for me, because I always make sure that my expectations are fully appreciated, understood, and eventually met by happy smiling engineers eager to please. Always. Without Fail. Without exception.
However, that requirement that I produce is not what Doodles might have wanted. It's my interpretation of his explanation, knowing more about the product, how things work in this office, who would go about designing a solution, their personality, their view of the world, and the way to express to them, personally, what I want. What gets delivered would then tend to be something for me to interpret as being the solution I asked for. It might be documented (heaven forbid!) with me in mind (or a customer, if I represented the need so), or have been tested to show the functionality that I emphasised or highlighted as being crucial or difficult.
None of this helps Doodles, who, having something entirely different in mind, but no desire to express it, no time to review my interpretation, no interest in following up the solution at any stage, will have nothing but surprises when it comes time for me to say "So, did you get what you wanted?" several weeks later.

The upshot of this morning's email to the likes of Doodles, Arkel, FO, Puff, and anyone else I could think of who keeps asking for new stuff, was simple: nothing is so urgent that you haven't got the time to make sure that you get what you want. There are no excuses, really (or so Gabriel once told me) for not knowing before-hand that you might be disappointed. You are only setting yourself up for a fall if you expect everyone else to be a mind reader.

Do not abandon your requirement at the orphanage gate and expect to come back to collect a perfectly well-adjusted mature solution. Nurture it throughout the lifecycle. Deal with its needs, answer its questions, embrace its curiosity, and in time it will look after itself, and perhaps even care for you in its old age.