A user story is a pattern of communication commonplace in software development teams. The idea of a user story is simple: nobody cares about your software and your job isn't to write code, it's to solve user's problems, and the pattern is often a way of articulating a user's problem and the proposed solution. The most common pattern, as explained the software management company Atlassian, is:

As a [user persona], I [want to be able to do this task], so that I can [achieve this goal].

I find this pattern a little passive-aggressive, since it never identifies who is going to be providing the solution.

Examples of this from my career include:

  • As a geneticist, I want to configure and download a single sequential instruction set for sequencing a genome, so that I can catalog how the sequence was done with the resulting sequence.
  • As a homeowner, I want details on my insurance application pre-filled, so that I don't have to know what kind of roof I have.
  • As an executive producer, I want the progress reports in a PDF, so I can read them on my iPad on the airplane.
  • As a studio producer, I want a ten-foot display of the progress report for my department, so that I and my game crew can see exactly where we are in the development pipeline.

The Consensual Communications Pattern

Thirty year ago, the BDSM Community formalized something called "the consensual communication pattern." Surprisingly enough, this pattern is now taught in most sex education classes around the country, and research has found that it's a much better way of communicating between people negotiating something awkward or unfamiliar. The pattern goes something like this: "I [express a goal or need]. Can we [express a course of action]."

This works in both positive and negative senses:

  • I really like when you do X. Can we do more of it?
  • I'm uncomfortable when you do Y. Could you please stop doing it?

During training, we're taught to pause for a second between the sentences, letting the listener absorb the first message before moving on to the second. The point of the Consensual Communications Pattern is that it establishes that there is a goal the communicant wants, and then proposes the course of action. It gives the listener a foundation, a context, on which to receive the rest of the message.

The Kinky User Story Pattern

I propose the Kinky User Story Pattern. The benefit of this pattern is that the proposed action comes at the end, after the context has been set. We can put the persona at the beginning:

  • As a geneticist, I need to catalog the sequence instructions along with the sequence results. Can you provide a downloadable, re-usable DSL for the sequence instructions?
  • As an executive, I prefer to read our progress reports in a PDF format. Can you provide a downloadable PDF of the report?
  • As a producer, I need my team to see our game's position in the release cycle along with the quality control and legal status updates. Can you provide a ten-foot display with those details?
  • As a homeowner, I have long ago forgotten some details such as the kind of roof I have or the kind of foundation. Can you pre-fill my application with a lookup into publicly available databases?

I like this pattern because it makes clear that the customer has a need, and the company is being asked to provide the satisfaction of that need. It avoids the passive-aggressive "Well, someone better meet my needs" inherent in the language of the original pattern.