Writing Stories

Once upon a time…

Over the last couple of weeks I’ve been lucky enough to get to work on a green field project. The hardest part for me has not only been trying to understand the system and domain (which I thought would be easy after getting my head around a Link Network Simulator), but also trying to extract requirements and explain how user stories work whilst I try and fit them to this particular project and working process.

Yesterday I had a revelation. The easiest way to communicate with me is to help explain systems in terms of when you put something in, then you expect something out. Explaining how it works and why it has to work like that doesn’t matter to me… yet. I need to understand how the system is expected to behave, and why, so that I can understand all the gubbins in context later on.

When documenting agile requirements, you generally start with a user story:

As a
I want
So that

Or

In order to
As a
I want

This answer the “Why?”. Why are we making this? Who is it for? What is the benefit? If a stakeholder can’t tell you what they want and why it would benefit the user, then it’s a sure sign they haven’t thought about it properly.

The next thing is Scenarios:
Given
When
Then

This is going back to my first statement about me understanding systems as this fuzzy magic thing that when we put a certain thing in, or a certain thing happens, then the system does some
Magic to perform certain consequence. This is your “What?”.

The problem most engineers have when trying to get these requirements down is that they’re still concentrating on the code. They prefer to work bottom up. Concentrating on the “How”, whilst making them brilliant at what they do (coding, engineering making stuff), isn’t required at this point. The behaviour of a system should not be influenced by the implementation when you’re initially trying to figure out what it’s supposed to do for the user in the story. The scenario may have to change later as implementation constrains the requirement.

So basically my revelations were “don’t explain systems to me in terms of how they work, but what they’re expected to do”, User Stories document the “Why” and “For whom?”, Scenarios answer the “What”, and your code answers the “How?”.

3 thoughts on “Writing Stories

  1. Yes! It’s amazing how some minds get bogged down in the “how” it’s only the “what” that really matters when something needs to get planned or get started. Don’t mean to keep going on about the Hackspace but it’s exactly the same problem we have with getting things done. There is a design pattern that describes it called the Bike Shed Anti-Pattern
    http://hackerspaces.org/wiki/The_Bikeshed_Anti-Pattern
    Good blog post!

  2. “don’t explain systems to me in terms of how they work, but what they’re expected to do”

    I work in a similar sort of way. I find it very frustrating when I ask someone how an application works and they go on to explain the intricate details of how the underlying systems hang together and how the data gets passed around. I do care about this, but I want to start from the beginning and not run before I can walk.

    I come across sometimes as a little rude when I stop people mid flow and ask them to “Skip to the End!”.

    Great post 🙂

    Adam
    @brownie490

  3. […] Often when I have my UX hat on, the question running through my mind is simply “what do we need”. But these more involved (yet still simple) stories seem like they’d serve me better in communicating with clients, managers and pulling together a spec. The rearrangement of this into “In order to > As a > I want” would better serve some situations. She was also keen on drawing pictures to illustrate needs, but when dealing with more technically minded folk, then a simple table of figures would serve best. (Edit: ‘Writing Stories’ has all been much better explained on ruby_gem’s blog) […]

What did you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s