Why giving humans bug reports is easier than giving feature suggestions

I spent this past weekend at a case study competition called UW Apprentice, which was unique among events I’ve attended in two ways. One is that the cases were fresh from real startups that came in and explained the challenge they were experiencing, and who were all set to act on the best advice. The other was that you gave and received feedback with each of your teammates after each cases, and so you could review it all immediately. In theory, this could let you update your behaviour for the next case to be a more valuable team member, although I think in practice the schedule was too rushed for much reflection to occur.

Anyway, I noticed something interesting while filling out the “needs improvement” section at one point. The team member I was giving feedback to didn’t have any obvious shortcomings, and I found myself at a bit of a loss for what to say. Obviously they weren’t perfect, but they were totally generally “good” across the board. I wrote something general that was related to my sense of why we hadn’t won that round.

Today, I thought of this again when I was doing the final edits on a peer letter of recommendation for a fellowship program my friend was applying to. I had written last week in the draft: “It’s hard for me to think of a really good suggestion for an area of improvement for Tessa—” …today I added “—I’ve noticed it’s much easier to recommend bugfixes than features, for people.”

In this blog post, I figured I’d reflect a bit more on…

  • what the difference is
  • why feature suggestions are harder
  • some strategies for feature suggestions

It might be kind of rough, and I might find future!me disagreeing with current!me about this pretty soon, in which case I may edit it.

Before that: what am I not talking about?

Is it just the difference between negative and positive feedback? Nope. Negative feedback has the structure of “that thing you did—don’t do that [as often]”, while positive feedback has the structure of “that thing you did—keep doing it [and maybe do it more]”. The bug report / feature suggestion thing is more subtle.
» read the rest of this entry »

Project Partners: make things. with people.

General overview of concept

This post was written collaboratively with my friend Kai Rathmann. The reason for this will become apparent very shortly.

The thesis of this post is essentially: make things with people. We want to introduce a new-ish framing for how to relate to people, called “project partners”. A project partner is someone that you are doing (or have done) a project with. The project can be large, but doesn’t have to be. The key is that you have the experience of working together towards a specific, external, common goal.

Doing a small project with someone is great for a number of reasons:

  • You get to know each other’s work style.
  • You learn more about your own work style.
  • You deepen emotional rapport and bond with the other person.
  • You might be more likely to finish a project if you have someone else keeping you accountable.
  • You end up with a thing that you can point to and say, “we did this!”
  • Relatedly, it makes a great story if someone asks “so how do you and Person know each other?”

» read the rest of this entry »

Why do you ask?

(This post starts with a technical example, but it’s not about the technical stuff so don’t worry about trying to understand the details.)

The XY Problem

A friend of mine reached out to me earlier today, with a question about trouble she was having while coding something. She’s working in NodeJS, which I’m really familiar with since it’s what my productivity app, Complice is built on. “I’m having this problem with doing GET-requests… I can’t get them showing different things based on the url…”

A few sentences later, when I still didn’t really understand her problem, I said, “Hang on. Let’s back up—what is the user trying to do here? Like what’s the point of this page?”

She said something like, “so it’s like, they’re trying to load the data, but when they bring up the page, I can’t specify exactly what data they want.”

“Nonono, back up. I still don’t know what problem you’re solving for the user of this system. What’s the user trying to do?”

When you’re stuck on (or in) a problem, it can be easy to end up with a really narrow view of what you need to do to solve it, becoming overfixated on a given intended solution and focusing all of your questions around that solution, rather than around the original problem. This can happen on the scale of a day’s debugging, or on the scale of an entire startup.

It took me several more times of asking before I finally got my friend to back up far enough to talk about the situation from the user’s perspective, and once she did, she was suddenly like WAIT! and then came back a few minutes later with the solution.

As I had predicted, the biggest hurdle to her figuring out this problem was an assumption that she was making. I actually still don’t know what that assumption was. It would have also been possible for this story to end with her stating one of these assumptions, which I would have then overturned. But she ended up realizing it all on her own.

Stack Overflow, a Q&A website for programmers, calls this whole thing the XY Problem: when the asker asks about their attempted solution, rather than about the original problem they didn’t know how to solve.

Debugging communication

And this isn’t unique to programming.

» read the rest of this entry »

Subject-Object Notation: a case study on defensiveness and curiosity

What makes the difference in what someone says in response to criticism? Or even what they think in response to imagined criticism?

Motivation

Talking about personal growth is easier when you have better language for it. One component of this is using words and phrases that are more conducive to growth mindset. Another aspect is having more nuanced terminology to refer to concepts, to allow us to talk about (and think about!) growth more effectively.

This post is also designed to serve as a standalone introduction to the subject-object distinction which is central to Constructive Developmental Theory, developed by Robert Kegan and others. I’m going to elaborate on that model in future posts and connect it to other models, but this sub-component is helpful on its own. I’ll start with the in-depth example, and then talk about the more abstract model behind it.

Case Study: Moving from Defensiveness to Curiosity

First: what do I mean by defensiveness? I mean a reactive quality that creates a feeling of unsafety or instability and responds out of a place of feeling threatened. It’s often associated with a sympathetic nervous system (stress) response, or a feeling of againstness. This is not a response that’s useful for much of anything. Maybe survival 50,000 years ago. It interferes with learning, because it makes you irrationally averse to integrating others’ perspectives, both casual and in the form of directed feedback, instead preferring to assert personal rightness. It can wreck relationships by causing disagreements to escalate into conflicts then into fights.

Under this definition, we might ask what kind of quality of response you might prefer? What’s the opposite of defensiveness? Hint: it’s not offensiveness. That’s… I’m not even going to go there. Instead, I propose it’s curiosity. Unlike defensiveness, where your mind is closed to new information and insists on proving itself right, in a state of curiosity your mind is open to updating itself and is ready to reexamine its own assumptions. Curiosity also has another specific property we’re looking for here, which is that it’s a broader outlook than defensiveness. This is necessary for what we’re about to do.

Okay. With this distinction highlighted, let’s talk about the qualitatively different experiences between the two ends of the spectrum. The story we’re going to use as an example:

Jamie is on a bus, travelling home for Thanksgiving, when she realizes that she left a bunch of stuff out in the kitchen. Her roommates are likely going to be annoyed.

stage D

Defensive. When you hear feedback or even imagine someone else being critical of you, you immediately start thinking (and perhaps speaking) reasons why that’s invalid and you’re still essentially right. It doesn’t even occur to you that this might not actually get you what you want in the long or short term. Or get you anywhere.

Jamie, thinking to herself: “I mean, I was in a huge rush today… it’s not like I could take the later bus… these tickets are only good for a specific one, not all day… and anyway, Cristina called me when I was about to head out… so it’s not my fault. Besides, she always leaves stuff out.”
» read the rest of this entry »

Growing a Garden with a Broken Bodum

the corner of the room where the bodum fell. Framed by a wall on the left and a chest freezer on the right.

It didn’t occur to me to take the picture until after I cleaned up the broken glass.

This post isn’t about gardens or bodums. It’s about thinking and mindset.

Last July (~15 months ago) I had an interaction in my house’s laundry room, where I moved something on a shelf, which knocked off a bodum (aka french coffee press) which fell to the ground and shattered. I mentioned this to Jean (the likely purchaser/user of the bodum) that it had broken. But… the shelf was in a corner, with a chest freezer making it even more secluded, so the broken glass wasn’t a threat to anyone. So I decided I’d clean it up later.

Of course, as we know, later never comes.

So when it came time in August to leave for a four-month internship at Twitter in San Francisco, it still wasn’t done. I swore to Jean “I need to finish packing, but I’ll do it tomorrow morning before I go.” Not too surprisingly, I was packing basically all night. So morning came and I was running around and she said to me in my stress and frenzy, “Don’t worry; I’ll clean it up.” I was hugely relieved because I had felt an obligation to clean it.

Interlude: Malcolm in San Francisco / Berkeley, then home for Christmas

When I returned to the house in January of this year, I went downstairs to do laundry, and glanced in the corner. Lo and behold, a broken bodum remained. “Huh,” I thought.
» read the rest of this entry »

Nonsexual touch: TSA patdowns and the Human Carcass Wash

“I’ll take the patdown please.”

I was going to spend some time looking up the safety of the millimeter rays backscatter machine. How similar is it to stepping into a microwave oven? Milliwave oven? Hmm.

Then it occurred to me that without doing any research, there’s something I can be confident of: whether or not the machine is harmful or not, it’s definitely not good for me. Like it might be harmful, like an x-ray, or neutral, like a metal detector, but it’s not going to be good for my body. If it were, someone would be selling it as therapy.

But I have an option available that is good for my body: nonsexual touch.

“I’ll take the patdown please.”

I step over to the side area and start listening to the guy talk.

Back in January 2013, when I first moved to San Francisco and didn’t know anybody except my coworkers, I went several weeks experiencing almost no touch at all. A few handshakes, some high-fives, and some fist-bumps. Oh, and the patdown from the TSA agent on my way there.

“I’ll start with your back and shoulders. I’m going to touch you with the flat palms of my hands, and when I get to your crotch I’ll use the backs of my hands.”

Huh.

“Okay, now I’m going to move my hands up your legs and stop just before I reach your groin.”

I know this.

“Alright, and now the other side.”

This is called safeporting. » read the rest of this entry »

On Feeling Uncomfortable as Information

Two experiences in the last 48h have caused me to redesign some of my language and communication patterns in a pretty serious way. I suspect that these are generally applicable and very useful, so I’m sharing!

Before I get into it, take a moment and see what comes to mind when you read the phrases “that made me feel uncomfortable” or “I noticed some discomfort while reading that.”

Done?

Okay, turns out that I’d been using phrases like that, and they were totally backfiring, because they communicated something totally different than what I was intending to communicate.

In a community: around “offensive” “jokes”

On a mailing list I frequent, someone offhandedly made a remark that was intended to be humorous. I felt uncomfortable reading it, which I shared with the group, along with an explanation for why I consciously endorsed that feeling of discomfort. Fortunately, I edited the subject before replying, because it prompted a massive email thread about (among other things) whether or not it makes sense to be offended by things and whether or not it makes sense to avoid saying things that will make people uncomfortable. And a bit about the content-level topic itself.

Someone else shared that their perception of this conversation was that I was trying to shame the OP for what he had said, to which I responded:

Thanks for the feedback that that was how it looked. I will maintain, as one of the main this-made-me-uncomfortable-sayers, that I was not intending to send any guilt or shame.

However, I’ll drink my own medicine, noting that this whole conversation happened because of person A saying something that was interpreted by person B in an unexpectedly negative way.

So I just did the same thing!

*sheepish look*

» read the rest of this entry »

Cozy (and CoZE) Cuddle Parties: a Q&A

On a facebook comment thread about cuddle parties, I gave a few tips on hosting one, and said “if you have any other questions, feel free to message me.” Well, one of my friends took me up on that offer and sent me an email asking me a bunch of questions. So I answered them!

(For those unfamiliar, the term “CoZE” in the title refers to Comfort Zone Expansion, the practice of deliberately becoming comfortable with a wider range of experiences and behaviors.)

Q: When I visited the Bay Area for the first time in 2013, I was introduced to hugs as a form of greeting. The nature of these hugs is nonsexual. What is the nature of a cuddle party?

The nature of cuddle parties vary. Typically the term is used to refer to events that are explicitly nonsexual, though contexts do exist that involve cuddling and allow or encourage sexuality.

Q: If the answer is a definite “nonsexual”, then it would help me to get more explanation on how to keep it that way, what with your examples of kissing someone’s neck or spooning. I mean, sure, such things can stay nonsexual. And there are cultures where males kiss each other on the cheek in greeting. But across hundreds of cuddle parties, surely the issue of keeping it nonsexual must have come up before.

Nonsexual cuddle spaces

My first cuddle party was in January of 2013, and was fairly formal. » read the rest of this entry »

How to eliminate words from your idiolect

Motivation

Why I’m writing this

I’m writing this a post because a friend and I were talking about how I’ve removed several words from my idiolect (the particular set of words used by an individual—kind of like your personal dialect). I mentioned that there are a number of factors that affect how hard it is to do this, and he was really curious to hear my advice on the subject.

Also, in attempting to do some research for this post, I googled how to eliminate a word from your vocabulary, and… nobody was really answering that question—nearly all of the posts were instead just lists of words to eliminate, with various justifications. So I thought I would step up!

Why might you want to?

There are tons of potential reasons to ditch words from your vocab. Off the top of my head:

  • because they offend people (or trigger them)
  • because they make you sound less confident (such as filler words)
  • because they’re considered jargony or buzzwordy
  • because you find they mask ambiguities (written about as Taboo your Words on LessWrong)
  • because you don’t like certain thought patterns that use those words

Thought patterns, are, I think, the most exciting one. » read the rest of this entry »

Apologizing and Forgiving

Last weekend, I had a goodbye conversation. It followed this 6-step form, created by Steve Bearman of Interchange Counseling Institute. It was a really powerful framing for this communication that needed to happen.

Steps 2 and 3 of that process are apologizing and forgiving, which was interesting for me. As part of learning to embody the new culture we’re building with the Living Room Context (LRC; learn more here and here) I’ve been trying to live by a series of commitments and assumptions. One of these is:

I commit to offering no praise, no blame, and no apologies; and to reveal, acknowledge, and appreciate instead.

My friend Sean (who was actually spending the entire rest of the weekend at an Interchange workshop) was filling a counselor role and helping to hold the context for us. He and I have talked at length about the LRC and how I’m exploring communicating without apologies, so when we got to those steps, we agreed that it would make sense to take a moment to unpack those terms and figure out (a) what value was in each step and (b) what aspect of them felt incongruous with my mindset.

Apologizing

An apology, we teased out, has three parts:

  1. acknowledging your actions and the negative impact that they had
  2. stating that you wish you had done things differently (and, if applicable, that you intend to do things differently in the future)
  3. asking for forgiveness

Part 1 is the heavy part, where you say “I hurt you, and I own that.” Impact is important, despite it being undervalued in many contexts: consider “It’s the thought that counts”. Even though you didn’t intend to step on someone’s toe (literally or figuratively) it still hurts, and it’ll only hurt more if you try to minimize that. Intent isn’t magic.

Part 2 is saying you care. It’s where you communicate that it matters to you that you had a negative impact, and that you therefore want to fix that aspect of your patterns or whatever caused it. This part is what makes repeat apologies for the same thing feel awkward and insincere.

Part 3… well, that’s what the next section is about.

Forgiving

I want to tell a brief story. It takes place at the Household as Ecology, the LRC-focused intentional community house I lived in this summer. Jean is the owner of the house and one of the key people behind starting the LRC originally. This experience was a huge learning moment for me.

I was in the kitchen, and Jean had pointed out some way in which I’d left the system of the kitchen in relative chaos. I think I left a dirty utensil on the counter or something. I became defensive and started justifying my behaviour. She listened patiently, but I found myself feeling unsatisfied with her response. Finally, I cried out, in mock-agony, “FORGIVE ME!”

“No!” she responded with equal energy.

We both burst out laughing.

I want to pause and recognize that that story might be really confusing if you don’t have an appreciation for the context we’re operating in. Taken, quite literally, out of context, I can appreciate that that exchange might sound unpleasant, and confusing that it would end in laughter. (I’m curious, actually, if this is the case, and would love to hear from you in the comments how you understood it.)

I’m going to try to help make sense of it. What happened here was that even though Jean wasn’t judging me, I felt judged, and was trying to earn her approval again. I wanted to be absolved. Exculpated. Forgiven. But she couldn’t do that. To absolve someone is “to make them free from guilt, responsibility, etc.”… but to the extent that there was guilt, it was entirely inside me. And the responsibility? That’s there whether Jean notices what I’ve done or not. I remain responsible for what I’d done, and response-able to fix the current problem and change my future behaviour.

There was also a sense in which the dynamic of “if I forgive you, you’ll just do it again” applies. When this statement is said with resent, it’s painful, but Jean communicated this (implicitly, as I recall) with care and compassion and a sense of wanting the system to become better for everyone, and of wanting me to grow. Done in this way, it felt like a firmly communicated boundary, and the refusal to “forgive” felt like a commitment to continue giving me the feedback that I need. That I crave, even when it hurts.

From my experience, it’s possible to create a collaborative culture where forgiveness is superfluous. Where you have the impact that you have, and the other person may reasonably trust you less as a result, but they aren’t judging you or harboring any resentments in the first place, so this becomes meaningless.

During the conversation last weekend, what I tried doing instead of forgiveness (although I did try on that language, just for fun) was to communicate that I wasn’t holding any resentment or grudge: that I was not going to carry anger or judgement into the future. This is my default way of operating, and it felt really good to bring up the specific instances that hurt and to offer my understanding and compassion there.

The article linked at the top, that was providing the framework for our discussion, remarks the following:

Forgiveness comes from having compassion toward them and being able to imagine how, when everything is taken into account, their behavior was somehow constrained to be what it was.

When you take a systems-oriented perspective on things (rather than being caught up in a sense of entitlement for things being a certain way) this becomes the default model for everything. And so everything is already forgiven, to the extent that that’s possible.

Contexts for powerful conversations

All in all, this form facilitated us connecting and reaching a place of mutual understanding in a way that otherwise probably would simply not have happened. We had, in fact, tried to fix things before. What allowed us to get through this time was:

  • the form
  • the facilitator
  • the fact that it was indeed goodbye

There was something about it being the end, that made it so we weren’t even trying to fix things. This helped give us the space to be honest and open, which in turn brought way more reconciliation than we thought was possible at that point.

I’m really grateful that I had the opportunity to do this, and that the others—both the facilitator and the person I was saying goodbye to—are adept, open communicators. This is what enabled us to go so deep and ask questions like “what are we intending to get out of this apologizing step?” and “what does it mean to forgive someone?”

Of course, my interpretation isn’t the only one. If you understand apologies or forgiveness in some other way, I’d be grateful to hear from you in the comments.

A portrait of Malcolm Ocean

I'm Malcolm Ocean.

I'm developing scalable solutions to fractal coordination challenges (between parts of people as well as between people) based on non-naive trust and intentionality. More about me.

Become more intentional
Check out Intend, a web-app that I built to help people spend their time in meaningful & intentional ways and be more playfully purposeful. Intend logo
Connect with me on Twitter!