First thought: no feature description is "wrong" if it helps make the
reason for the feature clear to you and other stakeholders.
Second thought: wow, that's a convoluted sentence. >8->
Third thought: who realizes value from this feature? I don't think
"the system" is a correct answer. "The system" doesn't care; it's a
vague and passive abstraction, like "the weather." Are there any human
beings who care about this feature? If so, why? (And if not, why build
it?)
Fourth thought: are you sure that's just one feature? It looks like
several to me:
* Connect to a credit card gateway
* Step through a queue of payment plans
* Respond to time-based events
* Process credit card payments for a payment plan
Yes, they're interrelated. But if they're separate non-trivial chunks
of work, it's probably more manageable to look at each chunk one at a
time. Your last feature can build on the successful implementation of
the prior ones and take their working as a given.
Enjoy.
--
Have Fun,
Steve Eley (sfe...@gmail.com)
ESCAPE POD - The Science Fiction Podcast Magazine
http://www.escapepod.org
Even when you break it down I hear a lot more implementation than
business value. To get at the real value, you need to ask "why?" until
you get to a value proposition (Probably has something to do with
being able to collect revenue from credit card receipts.) Then you
need to write stories that focus on what the value is and not /how/
you do it.
For example:
Feature:
In order to pay for my plan as a customer I want to be able to
schedule payments by credit card.
Feature:
In order to see revenue from credit sales as a finance manager I want
credit payments to be processed by a third party gateway in a timely
manner.
Or something like that.
To get good at seeing features this way you need to work
collaboratively with business people on an agile team. Over time it
becomes second nature.
The stuff like "queues of payments", "time-based events", "connect to
a gateway", etc. Are irrelevant from a value perspective. They are
about how you get it done, and thus they belong in your unit tests (or
specs... whatever you call them).
Firstly, this discussion has very little to do with Gherkin. The
'narrative' section you're discussing here is simply a free-text area.
You can put whatever you like in here: ASCII art, a poem, or nothing
at all. Most people however (probably prompted by the TextMate bundle)
put something like this:
http://www.infoq.com/news/2008/06/new-user-story-format
There are lots of good reasons for using that standard user-story
structure, which although there are many people on this list who
understand them, are well documented elsewhere. Hopefully that link
above should show you where to look to find out more.
cheers,
Matt
All of the responses to this thread have been really good.
But I do feel a bit guilty that the original post was a bit off topic
for this forum.