The Customer lays out what needs to be done. She's the only
one who should be defining product direction and priorities.
This is the what of software development. Programming
is a professional service.
Programmers take the what and run with it. They define how they
are going about that task. The Customer shouldn't tell programmers
what tools to use. This doesn't make sense, because the programmer
is the one using the tool.
Stories are simple requirement statements. One or two sentences.
A picture may be useful. The programmers will be back to ask the
customer about the details when they are implementing. Simple
stories are easier to estimate.
[phone lookup] I was on a project where there was a need for a
phone lookup. The customer wanted to be able to enter a partial
phone number and retrieve a list of matching customers. One of
the engineers on the project refused to implement it, because
he thought it would be "too slow". He didn't know this. He should
have estimated the performance, i.e. defined the consequences, and
not decided for the customer.