Andy Lester

Technology, careers, life and being happy

Open source is improv, so say “Yes and”

| 4 Comments

In her fantastic book Bossypants, Tina Fey has a sidebar about how improvisational comedy has changed her life, and given her a new worldview. We in open source would do well to adapt these ideas to how we conduct our projects as well.

Improv and open source share many characteristics. A group of people come together to create something without a plan, and the result is greater than any one person could have created on his own. Everyone has a wellspring of ideas, and adds to the work created by others. In improv, the people make a scene or a sketch. In open source, they make software, or a body of knowledge, or a community, or a gathering.

From her book:

The first rule of improvisation is AGREE. Always agree and SAY YES. When you’re improvising, this means you are required to agree with whatever your partner has created. So if we’re improvising and I say, “Freeze, I have a gun,” and you say, “That’s not a gun. It’s your finger. You’re pointing your finger at me,” our improvised scene has ground to a halt. But if I say, “Freeze, I have a gun!” and you say, “The gun I gave you for Christmas! You bastard!” then we have started a scene because we have AGREED that my finger is in fact a Christmas gun.

Now, obviously in real life you’re not always going to agree with everything everyone says. But the Rule of Agreement reminds you to “respect what your partner has created” and to at least start from an open-minded place. Start with a YES and see where that takes you.

As an improviser, I always find it jarring when I meet someone in real life whose first answer is no. “No, we can’t do that.” “No, that’s not in the budget.” “No, I will not hold your hand for a dollar.” What kind of way is that to live?

The second rule of improvisation is not only to say yes, but YES, AND. You are supposed to agree and then add something of your own. If I start a scene with “I can’t believe it’s so hot in here,” and you just say, “Yeah…” we’re kind of at a standstill. But if I say, “I can’t believe it’s so hot in here,” and you say, “What did you expect? We’re in hell.” Or if I say, “I can’t believe it’s so hot in here,” and you say, “Yes, this can’t be good for the wax figures.” Or if I say, “I can’t believe it’s so hot in here,” and you say, “I told you we shouldn’t have crawled into this dog’s mouth,” now we’re getting somewhere.

To me YES, AND means don’t be afraid to contribute. It’s your responsibility to contribute. Always make sure you’re adding something to the discussion. Your initiations are worthwhile.

Too often in open source, we do the opposite. We quickly say no, without regard to its effects. In improv, “no” kills a scene. In open source, it can drive away a contributor or kill an improvement to a project. It doesn’t need to be the word “no”, but any negativity towards a fresh idea.

Consider this exchange, all too common in mailing lists and IRC channels right now.

Al: “I’m thinking about writing a tool to do X in language Y.”

Bob: “Language Y is a pain in the ass.”

In one quick bit of snark, Bob has taken a giant crap on Al’s idea, even though his only disagreement was in the implementation. Chances are Al will lose enthusiasm for the probject. In many cases, Al’s reaction might just be “Screw it, I don’t need this.”

Consider this alternative response from Bob:

Al: “I’m thinking about writing a tool to do X in language Y.”

Bob: “That sounds like a cool idea. I bet a lot of people could use X. I have some concerns about writing it in Y if you’re interested in hearing them.”

This is not “sugar coating the truth” or “being politically correct.” It’s being polite. It’s being a human who understands that other people have feelings, and that those feelings drive behavior.

I’m certain that some reading this will say “If Al gives up based on that, Al needs to toughen up. If someone doesn’t like something I’m doing, I’ll still do it anyway.” That’s great for you, Mr. Self-Esteem. Not everyone is as highly advanced as you are.

The “suck it up and take rude criticism” attitude might make sense if your project can be picky enough to only take contributions from those with your level of self-esteem. No project that I’m on is so overflowing with contributors and code that it makes sense to drive away those who want to help. It’s my job in my communities to help bring in more contributions, and I suggest it’s yours, too.

Open source is not standup comedy. It’s never one star on stage, doing it all himself. It’s a worldwide improv ensemble. Try saying “YES, AND” and see what can come out of it.

4 Comments

  1. Great article. I’d add “NO, BUT” as a last resort, for the situations where you have to say no. I.e. always present an alternative to keep things going forward.

  2. As an improvisor and developer, I love this! It’s amazing the things that happen when you “Yes, And…” things.

    As one progresses with improv, they learn the heart of “yes, and…” is a willingness to be changed. You don’t really have to “agree” with everything your partner does. But you do have to acknowledge it, accept it as reality, and be affected by it. It’s not conflict that kills the scene, but an actor’s refusal to be changed by what their fellow improvisor offers.

    That’s what’s so jarring about your example with Bob’s response of, “Language Y is a pain in the ass.” He’s not willing to be changed by the exchange. He’s got his position and nothing else matters.

    Obviously, you can’t really say “yes” to everything in the real world. But before saying no, at least attempt to allow yourself to be changed. When I catch myself wanting to say “no” to a coworker, I at least try and ask “why?” instead. If it’s still a no after hearing their reason, then I’m at least better prepared to explain why it’s a no. And if I truly ask “why?” with an open mind, I sometimes find that my tentative no really should have been a yes all along.

  3. Pingback: Making Statements? « Jeana with a J

  4. Building on that theme, (my own “yes, and” if you like), here is a way to say no when you must. (When I was a division manager, this helped me make several sensitive situations more bearable for those involved – self included.)

    It’s called the feel/felt/tried technique. The basic template goes like this: “I know how you feel. I felt the same way. I tried (or considered) your proposal, but…”

    It’s not a magic wand, but it’s a non-threatening way of saying no and giving some background the other party might not be aware of. Most importantly, you now have some discussion points on the table, and hopefully you can go forward from there.

Leave a Reply

Required fields are marked *.