How UserStories Are Extracted From Users: by KentBeck (since Refactored by someone else)
Users speak in terms of a hypothetical person who needs to be paid. Do all the developers sit with all the users? One on one basis? How are the users shown that a story is working correctly for them.
[Someone removed the three paragraphs below. Was that intentional? -- AndersBengtsson]
Developers do sit with users. There are about ten developers and four users. Any time a question arises about the domain, one or two developers will ask one of the users. This is in large part what enables you to feel comfortable with such a sketchy overall schedule.
How are users shown that a story is working correctly? Before you start on a task, you typically have a carding session with one or two users. This establishes a base of shared understanding. During the iteration developers are asking lots of questions. At the end of an iteration, the users review the functional tests.
The above is the theory, anyway. The idea, in any case, is to give the users confidence in the system by communicating throughout development, not by some miracle review at the end.
"There are about ten developers and four users."--Hah!
That's a wildly un-realistic ratio, in my experience. A more typical ratio would be _one_ user to ten or even twenty developers. (For product development, read 'product manager' for 'user', BTW.) And you're really lucky if that user is available full time. More typically, you only get them half-time during a brief analysis phase and then sporadically after that (until, maybe, an acceptance test phase).
And that one of main reasons that I am so unimpressed by XP. I still see a strong need for a business analyst/interaction designer/system architect type to go out and do the critical (but often under-appreciated or unrecognized) work of:
- extracting goals and tasks from the user(s)
- converting them into a coherent overall product/system design
(yes, I don't believe in 'design-by-committee)Was it good for you too? --Jim
Hmm, I was hoping for more interaction-type strategy on this page. What happens when a user is intent on a particular strategy and doesn't want to reveal a story, or is too prone to abstraction to want to indicate a particular, enlightening case? I guess I'm seeing an apparent parallel between the techniques in, for example, GettingToYes, where you have interests and strategies, and people tend to thwart themselves by making the strategies uncompromisable when they should be nailed to their interests and willing to talk on strategies.
One strategy in GettingToYes for moving from strategy to interest is to ask, "What's your theory behind that?"
I suppose to get a user story, you can usually start with, "So Jane sits down at her workstation, then... ?"
Hrmm, this is an area to FearAbstraction?.
There is always the old-fashioned way:
Or the DilBert way: