97 Things Every Programmer Should Know

(Chris Devlin) #1

Collective Wisdom from the Experts 155

app would really be the bee’s knees if we made all the windows round and
translucent!”, you could reject it as ridiculous. But it’s frequently better to start
with “Why?” instead. Often, there is some actual and compelling reason why
that person is asking for round, translucent windows in the first place. For
example, you may be just about to sign a big, new customer with a standards
committee that mandates round, translucent windows.

Usually, you’ll find that when you know the context of the request, new pos-
sibilities open up. It’s common for the request to be accomplished with the
existing product in some other way, allowing you to say yes with no work at
all: “Actually, in the user preferences, you can download the round, translucent
windows skin and turn it on.”

Sometimes the other person will simply have an idea that you find incom-
patible with your view of the product. I find it’s usually helpful to turn that
“Why?” on yourself. Sometimes the act of voicing the reason will make it clear
that your first reaction doesn’t make sense. If not, you might need to kick it up
a notch and bring in other key decision makers. Remember, the goal of all of
this is to say yes to the other person and try to make it work, not just for him
but for you and your team as well.

If you can voice a compelling explanation as to why the feature request is
incompatible with the existing product, then you are likely to have a produc-
tive conversation about whether you are building the right product. Regardless
of how that conversation concludes, everyone will focus more sharply on what
the product is, and what it is not.

Starting from yes means working with your colleagues, not against them.

Free download pdf