Hi guys -- I've been following this group irregularly, but haven't participated much--I'll try to be better about that. I came away from Agile 09 with lots of ideas and insights I'd like to get a cross-check on.
So, fer instance--the value of a user story. Some ways to think about it:
1. A story should deliver working, useful code. This is the traditional XP approach. It's fine, but limiting. Refactoring delivers working code, but that code was already working--why does it count? User research or testing delivers a better understanding of users, which is valuable, and will change the code eventually, but not right away. Why shouldn't it count?
2. A story should deliver real customer value. This gives us a little more flexibility. Well-structured code is more valuable than poorly structured code. And, I'd claim, understanding users and their needs is also valuable, though again only because it changes what the design team will then do.
3. In his keynote, Alistair suggested another way to think about it: A story should reduce the risk of the project. This is nice because thinking about risk gives us more flexibility. Not having working code is clearly a risk--but poorly structured code is also a risk. And, I'd add, not understanding your user, or having untested designs are a risk.
In the end though, I still feel that a "user story" pretty much has to define some part of the user experience. If that experience is delivered through code, fine--if not, also fine. It's still a story. But then how do we account for all these other tasks?
Hugh R. Beyer