Earlier this week Someone in Some Channel Somewhere mentioned having a (bad) habit of iterating on product features based on how the software has already been designed/built, as opposed to developing what the customer needs. In a bit of Baader-Meinhof, not 2 weeks ago I was describing this phenomenon to a buddy of mine (who is not in tech) using the analogy of refrigerator design. I’ve captured it here for your amusement:

Product: Refrigerator is great! We also need it to be able to freeze things.

Engineer: We built Refrigerator to only support temperatures as low as 37 degrees Farenheit. It won’t freeze things.

Product: Yep, I know - I was there when we first launched Refrigerator - but the feedback we’re getting is that folks really need to freeze things, too.

Engineer: But if it went below 37 degrees then people might end up with things being frozen that they didn’t want frozen.

Product: Ah, good point. Then maybe we have two different compartments - one that refrigerates and one that freezes.

Engineer: That sounds like it’d be expensive to implement and I don’t think anyone will want it.

Product: Well, 75% of our users bought ice cream this week, so let’s talk about what it might cost to implement Freezer.

Engineer: Hang on, hang on…didn’t we implement a “No Ice Cream” policy a while back?

Product: Yes, we did, because the thing we built wouldn’t support keeping ice cream frozen and we didn’t want customer complaints about melted ice cream…

Anyhow, he got the point.

Happy Thursday, folks! :-)