Discussion:
Difficulties writing stories
kent beck
2004-11-22 18:53:52 UTC
Permalink
One of the questions I get asked often is what to do when you don't know how to write stories the customer cares about. I would like to hear from people who have written user-visible stories even when it was difficult.

Kent Beck
Three Rivers Institute


------------------------ Yahoo! Groups Sponsor --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
John Goodsen
2004-11-23 19:39:54 UTC
Permalink
Post by kent beck
One of the questions I get asked often is what to do when you don't
know how to write stories the customer cares about. I would like to
hear from people who have written user-visible stories even when it
was difficult.
We experience this often with new teams are transitioning to XP. I've
found that including a focus
on writing Story Tests (we call them this to keep them separate from
predefined notions of what
"User Acceptance Testing" already means in their organization).

The discussion of the story begins to center around tests that make the
feature visible
to the user. I like to keep a simple rule of thumb - you can't
estimate a story unless you
have a "confident" set of tests written on the back of the care. Once
you can estimate the
story, you need not discuss it further (during a planning session).

hope that helps,

----
John Goodsen RADSoft / Better Software Faster
jgoodsen-***@public.gmane.org Extreme Programmer and Coach
http://www.radsoft.com Enterprise Java and .NET Solutions



------------------------ Yahoo! Groups Sponsor --------------------~-->
$9.95 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
kent beck
2004-11-24 06:39:28 UTC
Permalink
David,

Typically the questioner is a technical person who wants to continue treating "migrate the database" and similar geek-oriented items as progress.

Kent Beck
Three Rivers Institute

-----Original Message-----
From: david hussman <david.hussman-XW8q3tYMaZQKciORVfTcnwC/***@public.gmane.org>
Sent: Nov 22, 2004 2:03 PM
To: xpbookdiscussiongroup-***@public.gmane.org
Subject: FW: [xpe2e] Difficulties writing stories

I deal with this often, and coaching the
customer community is near to my heart. Before I go further, can you clarify
who is the “you” in your question? It sounds like a customer proxy
question but I want to make sure before mouthing off


------------------------ Yahoo! Groups Sponsor --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
david hussman
2004-11-25 03:41:26 UTC
Permalink
Kent,

I see this in communities where the developer concerns are not heard (or
often ignored) or where the customers are all about features, features,
and more features, ignoring the non-feature stories (how many, how fast,
how often, .). I do a great deal of coaching communities (mostly the
developers) to use investment analogies and metaphors when selling their
wants / ideas to others in the community. This challenges the requestors
to create a shared view of the value to "migrate the database." It is
not always easy, but if I can get the community to start speaking in
investment terms, the noise level is often reduced. Similar to many on
this list, I try to post technical debt when ever possible; this is
often enough to quell the concerns of the super geek as well as get the
community to payback or relieve debt (possibly by realizing there was
never any real debt).

I think that this is not new to many on this list. Is this the type of
feedback you want? Much of my work here is also coaching the customer
community to hear and respect the developer requests; often this
requires the customers to help the developers speak in the value
language of the company.

David

-----Original Message-----
From: kent beck [mailto:kentb-***@public.gmane.org]
Sent: Wednesday, November 24, 2004 12:39 AM
To: xpbookdiscussiongroup-***@public.gmane.org
Subject: Re: FW: [xpe2e] Difficulties writing stories

David,

Typically the questioner is a technical person who wants to continue
treating "migrate the database" and similar geek-oriented items as
progress.

Kent Beck
Three Rivers Institute

-----Original Message-----
From: david hussman <david.hussman-XW8q3tYMaZQKciORVfTcnwC/***@public.gmane.org>
Sent: Nov 22, 2004 2:03 PM
To: xpbookdiscussiongroup-***@public.gmane.org
Subject: FW: [xpe2e] Difficulties writing stories

I deal with this often, and coaching the
customer community is near to my heart. Before I go further, can you
clarify
who is the "you" in your question? It sounds like a customer proxy
question but I want to make sure before mouthing off




Yahoo! Groups Sponsor


ADVERTISEMENT

<http://us.ard.yahoo.com/SIG=1293abbnn/M=298184.5639630.6699735.3001176/
D=groups/S=1705007207:HM/EXP=1101364771/A=2434971/R=0/SIG=11eeoolb0/*htt
p:/www.netflix.com/Default?mqso=60185400> click here


<http://us.adserver.yahoo.com/l?M=298184.5639630.6699735.3001176/D=group
s/S=:HM/A=2434971/rand=385161617>

_____

Yahoo! Groups Links
* To visit your group on the web, go to:
http://groups.yahoo.com/group/xpbookdiscussiongroup/

* To unsubscribe from this group, send an email to:
xpbookdiscussiongroup-unsubscribe-***@public.gmane.org
<mailto:xpbookdiscussiongroup-unsubscribe-***@public.gmane.org?subject=Unsubs
cribe>

* Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service <http://docs.yahoo.com/info/terms/> .
erik.bos-//
2004-11-25 16:14:38 UTC
Permalink
Hi Kent,

user story "migrate the database" is exactly what we are doing at the
moment! We're going from SQLite to MySQL. We decided to call the user
story: "Copy asset from home device to connected multimedia device". The
devices are actually using the new database and the fact that the asset is
copied shows the customer the user story really works. This customer also
writes acceptance tests in CPPUnit, which makes it easier to accept
intermediate results, not shown on the device. That's of course not
possible with non-coding customers.

On an other project (abiss.sourceforge.net) we develop an Linux device
driver. The driver tries to guarantee throughput when reading a file from
harddisk. Not really an XP project but we do use user stories (a.o.
practices). At the time these user stories we're really 'geekie' but with
hindsight we could have done better. The reason for this driver is to be
able to play video or audio files without hick-ups. So a better user story
would have been. Play "this_movie.mpg" without hick-ups. Checking for
hick-ups in the playout of a movie is hard to automate. Also in this case
the customer wrote a program, which read a file with a specific datarate
and checked whether the data was on time. He was happy with the text
output (confirmation) generated by the program.

Main idea is to generate some visual confirmation, which can also be
checked automatically so that even the most geekie stuff works.

Cheers,
Erik Bos
Philips Research











kent beck <***@earthlink.net>
24-11-2004 07:39
Please respond to xpbookdiscussiongroup

To: ***@yahoogroups.com
cc: (bcc: Erik Bos/EHV/RESEARCH/PHILIPS)
Subject: Re: FW: [xpe2e] Difficulties writing stories
Classification:




David,

Typically the questioner is a technical person who wants to continue
treating "migrate the database" and similar geek-oriented items as
progress.

Kent Beck
Three Rivers Institute

-----Original Message-----
From: david hussman <***@supergofaster.com>
Sent: Nov 22, 2004 2:03 PM
To: ***@yahoogroups.com
Subject: FW: [xpe2e] Difficulties writing stories

I deal with this often, and coaching the
customer community is near to my heart. Before I go further, can you
clarify
who is the “you” in your question? It sounds like a customer proxy
question but I want to make sure before mouthing off

Yahoo! Groups Sponsor

ADVERTISEMENT




Yahoo! Groups Links
To visit your group on the web, go to:
http://groups.yahoo.com/group/xpbookdiscussiongroup/

To unsubscribe from this group, send an email to:
xpbookdiscussiongroup-***@yahoogroups.com

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
William Pietri
2004-12-05 01:19:03 UTC
Permalink
Post by kent beck
One of the questions I get asked often is what to do when you don't
know how to write stories the customer cares about. I would like to
hear from people who have written user-visible stories even when it
was difficult.
That's a very interesting question. From your other comment in this
thread, I gather that the programmers want to do something but are
having trouble fitting in on a story card. Is that correct?

I think the first thing I always do when confronted with this is to
figure out what the benefits are to the end user. If the answer is
"none", then I don't put it on a story card. Often that means that I
don't do it. When I do it anyhow (e.g., with a big refactoring), from
the customer perspective it ends up as overhead, as lowered velocity.

For those where there's value but I'm just having trouble breaking the
work down in a way that's meaningful to the customer, it's often because
I'm pursuing something that is a development ideal that may not be part
of the customer vocabulary. E.g., scalability, robustness, security,
manageability.

One technique for fixing this is to make sure that the XP customer
really represents all the stakeholders. For a web app, for example, the
operations staff often get ignored in the planning process. Or for a
corporate desktop app, nobody may have asked what the purchaser's IT
staff want out of the product. On a recent project, I just gave the
operations guy a few points to play with, and he came up with some great
requests.

Another is to translate one of those abstract aspects of quality into
something the XP customer does care about. For example, in a recent
project the company hoped that there would eventually be a huge user
base. To us developers, that meant that scalability was very important.
But we could have easily spent all our time solving generic scalability
problems without pushing out any user features, which would have been
terrible.

So our solution was to push it back into the customer's lap. We
eventually got the CEO to describe the maximum load he wanted to be able
to handle at 6 months after launch. This became known as "Load Level A",
and we wrote cards like

* 1/10% of Load Level A
* 1% of Load Level A
* 10% of Load Level A
* 100% of Load Level A

we were also worried about reliability, and so we wrote cards like

* System remembers changes after restart
* Max 6-hour downtime after single-box failure
* Max 1-hour downtime after single-box failure
* Max 5-minute downtime after single-box failure
* User doesn't notice single-box failure

Then the customer shuffled these into the plan as he saw fit.
Interestingly, we did around three months of development with no
persistence at all; everything was just kept hot in RAM and lost when
the power went off. That worked out very well for us; it let people try
things out and do user testing happily. And by the time we actually
needed persistence, it wasn't a theoretical problem; we knew exactly
what we needed to store.

Is that the sort of answer you were looking for, Kent?


William
--
William Pietri <william-***@public.gmane.org>



------------------------ Yahoo! Groups Sponsor --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
J. B. Rainsberger
2004-12-05 17:34:58 UTC
Permalink
Post by William Pietri
So our solution was to push it back into the customer's lap. We
eventually got the CEO to describe the maximum load he wanted to be able
to handle at 6 months after launch. This became known as "Load Level A",
and we wrote cards like
* 1/10% of Load Level A
* 1% of Load Level A
* 10% of Load Level A
* 100% of Load Level A
we were also worried about reliability, and so we wrote cards like
* System remembers changes after restart
* Max 6-hour downtime after single-box failure
* Max 1-hour downtime after single-box failure
* Max 5-minute downtime after single-box failure
* User doesn't notice single-box failure
I really like this technique: writing reliability stories in terms of
mean time between failure over a period of time. Many projects pretend
that high reliability/availability is essentially free, so many
customers simply say "I want five 9s uptime!" Even if we don't achieve
the goals, it's a big step forward to ask the customer to think about
how much insurance she wants to pay for. Maybe only 90% uptime is good
enough for the first three years. Maybe we can get 90% uptime free, but
99% costs $5M. Ms Customer, are you really going to lose $5M in revenue
if you're only up 90% of the time? We'll build it if you want, but we'd
hate to see you waste $5M, even if we end up with a bunch of it. It's
important to consider the question and demand these things thoughtfully,
rather than as a matter of course.
--
J. B. (Joe) Rainsberger
Diaspar Software Services
http://www.diasparsoftware.com
Author, JUnit Recipes: Practical Methods for Programmer Testing


------------------------ Yahoo! Groups Sponsor --------------------~-->
$4.98 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/Q7_YsB/neXJAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~->
Loading...