Tag Archives: Stories

Story Smells: The Valueless Story

10 Mar

“Why bother discussing the value or writing it down for the stories, everybody already knows what it is”

Problem

The value of a story to a stakeholder is not discussed or written on a card. The group participating in story writing workshop feel there is no point in dealing with the value since it seems obvious.

To a degree this is true, we should (hopefully) already know the high level business values that we want to achieve before we try and write any story cards. Otherwise we may end up with a vomit of user stories

Avoiding discussing or writing down the value on story cards can result in cards like this:

Whose value is it anyway?

While we may already know our business values when writing stories I tend to shift the discussion to the users value. We know what we want, now why is a user going to do what we want? Note that this shift does not always apply, sometimes we want to force a user to do something that they don’t want to do (such as filling in a captcha).

Problems

Not discussing the value

  • Miss uncovering differences in underlying assumptions about why this feature is wanted.
    • I’ve witnessed too many groups who when jogged to think about the value start asking the right questions and discovering underlying differences in otherwise implicit assumptions.
  • Create features you don’t need 

Not writing the value on a story card

  • Difficultly Prioritizing cards
    • Knowing the value to a role of a feature can help guide a cards prioritisation.
  • Physical cards on a board without any value, mean its not clear quickly why you are building this feature.
    • When a card is being worked on by various roles knowing the value helps guide you to re-assess and ask relevant questions through the cards journey to being delivered.

Using high level obvious values

This problem can also be a symptom of expressing the value at too high a level. We all know we need to:

  • Protect revenue
  • Increase revenue
  • Manage cost
  • Increase brand value
  • Make the product remarkable
  • Provide more value to your customers

So putting it as a value for a narrative feels contrived and pointless.

Solutions

Ask ‘why?’

If a group feels the value is obvious they will have no trouble popping the why stack. Popping the why stack quickly uncovers questions and can lead to a refinement of what seemed obvious. At worst everyone in the group has a shared understanding alining what they all saw as obvious.

Feature Injection

Try and structure narratives using the Feature injection format:

Starting with the value as the very first thing you write can help ensure you don’t progress onto the other points until you have at least discussed it.

Avoid obvious values

Make sure when you’re discussing the value you drop down from the highest value to something that seems sensible to everyone.

But what if the value really is obvious.

Ok, sometimes a value does seem obvious, perhaps it’s the same as a previous card. It is still important to write it down for the story and at least ask the question ‘is this value obvious to everyone?’ and ‘is this value meaningful to everyone?’. Sometimes that is discussion enough.

Story smells: In order to do X I want X

23 Nov

I keep coming across story cards written like this:

This is usually a tell tale sign that the why stack was not popped. The value (In order to <value>) has been written at the lowest possible level of abstraction, the same as the feature (I want <feature>). The card does not tell us why this feature is being built.

If you find yourself writing cards like this take it as a chance to find out a bit more about why you are adding this feature. Hopefully you will uncover a more meaningful value that you can write on the card or perhaps discover that you don’t really need this feature after all.

Telling a good story – Rspec stories from the trenches

15 Aug

I’ve been developing multiple systems using Rspec stories for a little while now. There are a lot of great resources to get you started with a taste of what you can do with stories. Some of the resources I found useful where:

However once I had understood the basic idea I struggled to find practical examples and general guidance on writing real stories. So I’ve collected some of the lessons I’ve learnt along the way with story examples taken from real systems and how I’ve improved them as I learnt. Most examples are from web based applications.

(more…)

Rspec Stories – Keeping Steps Dry

30 Apr

When using Rspec stories you have plain text stories which we call the ‘story’ file and the ‘story steps’ file that maps the plain text story to programmatic code. Generally you end up with your story files not being DRY. This is not a worry, your stories are the domain specific languages detailing your acceptance/integration tests. Its like saying that your Rails Models are not DRY because they repeat lots of 'has_one'!
(more…)