The value of a feature
How do you value a feature? My own estimation is based on the amount of effort that it took, but the client has a totally different metric. The value of a feature for a client is directional proportional to the amount of pain it removes, with complete and utter disregard to the effort it took to implement.
I have been reminded of this when the customer completely failed to appreciate my JavaScript multi threading capabilities (that enabled a drop down list), and was supremely impressed with the user impersonation feature, which took about an hour to write. Amusingly enough, a strong to the same effect has just appeared on the Daily WTF.
That is completely reasonable approach from the client point of view, naturally. But I wish I could always get a "Wow, that completely rocks!" for those features, and something better, "Oh, you finally got it to work" for the stuff that had me pulling hair.
As an aside, this leads to managing the customer expectations, the classic example of which is of the mockup screen that looks real, but I have a whole lot to say about that, at a different post.
Comments
I'm not sure you are entirely right about this. The benefit the user gets from a feature is only part of the value thereof. The actual value of a feature is also dependent on its cost. Specifically, the true value of a feature is its benefit divided by its cost.
Since your effort has a direct effect on the cost, in that you charge them for your effort, your effort therefore has a direct effect on value.
If (drop down list benefit / multi-threading capabilities effort) > (user impersonation feature / an hour of your effort) then the client would be right to claim that the user impersonation feature is of greater value.
The only way this can get out of whack is if the client misunderstands the benefit and/or the cost and gets the wrong results from the math. as such: Since the benefit is theirs to decide, are you certain you've communicated the relative cost?
Err, sorry about the typo. I meant to put a less than sign, not a greater than sign. It should read:
If (drop down list benefit / multi-threading capabilities effort) < (user impersonation feature / an hour of your effort) then the client would be right to claim that the user impersonation feature is of greater value.
Jeremy, good point, I think you are talking about cost/benefit, what I am thinking about is the positive reception by a customer
You did use the word value, however, so unless we're using different definitions of the word, value = benefit / cost. Note that cost can mean more than money. Delivery time, lost opportunities, etc. can also factor into cost.
If you have clients whose reception of your work is unaffected by the cost, more power to you. :)
To play devil's advocate for a moment: if you think that hours of work on multithreaded javascript just to populate a combobox is of higher value than an hour of work that enables user impersonation, perhaps it isn't the client that has the problem evaluating value?
Either way, however, the thing you need to remember is that what you find interesting (multithreaded javascript) will almost never match with what your clients find interesting (user impersonation), otherwise you'd almost surely be in the same line of work as they and would not have them as a client. To expect otherwise would be unrealistic, so if you're looking for the kind of recognition you seem to be, you'd be better off chatting with your peers about your struggles and accomplishments. Which, I suppose, is what your original post did. :)
Keep up the great posts, Oren. Your blog is definitely at the top of my list these days.
Jeremy,
LOL, you are probably correct.
Comment preview