[rspec-users] cucumber feature description

Dan North tastapod at gmail.com
Mon Nov 17 17:33:15 EST 2008

2008/10/26 aslak hellesoy <aslak.hellesoy at gmail.com>

> On Sun, Oct 26, 2008 at 3:56 PM, Stephen Eley <sfeley at gmail.com> wrote:
> > On Sat, Oct 25, 2008 at 7:19 PM, Ben Mabey <ben at benmabey.com> wrote:
> >>
> >> A more qualified person may want to answer your question, but my short
> >> explanation of the change of the default narrative layout is to state
> the
> >> business value at the start instead of the end.  However, you shouldn't
> feel
> >> constrained to use that layout all the time though.
> >
> > I prefer (and still use) the old way for grammatical reasons.  Putting
> > the dependent clause of a sentence ahead of the independent clause
> > that it's dependent is awkward and distracts from the reading.
> >
> > If enough of this we do, talk like Yoda, we all will.  Wish that, I do
> not.

This is an evolution of the Connextra story format (as a.. I want.. so
that..) to put the emphasis on the value. Liz Keogh blogged about
it<http://lizkeogh.com/2008/05/14/rip-as-a-i-want-so-that/>a while ago
and it's starting to catch on with the teams I work with.

It has a really nice secondary effect which is that often the active
participant in a story isn't the person who benefits, and the Connextra
format struggles with this.

Liz's favourite example is the capcha. No-one *wants* to type in some wobbly
letters! Using the value-first format, you get something like this:

In order to minimise spam on the blog site
The *site administrator*
Wants *a commentator* to answer a capcha when they submit a comment

So now we have identified two stakeholders - the one who benefits and the
one who does the work. This can be useful in understanding someone's
motivation in a scenario.


> >
> The role and a feature is secondary to the business value (and the
> role using the feature is more important than the feature itself).
> That's why we prefer promoting it to the beginning. Without a clear
> vision of what the business value we might be developing crap.
> Think of the template as three elements in order:
> The exact wording you use is not important. The order in which these
> elements appear is. There is nothing about this order that suggests
> that it can only be described with Yoda language.

I agree. But Yoda language it is not. Oh crap.

I do agree that the concrete template we're currently using is a
> little awkward though. How can we improve it?

In order to [goal]
Wants [behaviour]

(The Yoda variant would be [behaviour] wants :)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081117/8b66bf71/attachment.html>

More information about the rspec-users mailing list