How the push to reduce story size pulls us farther from user goals and forces more up-front-design into Agile processes
It’s not so much the decrease in size that’s concerning, but the lack of practices and techniques to support this approach. And the misunderstanding from Agile practitioners dead-set against big-design-up-front that getting those little stories forces lots of up-front design.
In Agile development the user story as originally described in extreme programming is “one thing the customer wants the system to do.” Ideally it would be written on an index card. It’s definitely not a requirement – contrary to the wikipedia definition and many practitioner’s misconceptions. I see it as an item in a to-do list – a discussion to have about a need or desire a user or stakeholder of the system has. What we really intend to build isn’t written on the card. It comes from the conversation we have as a team about the story. Ideally, we’d write acceptance tests to serve as specifications and to validate that we got what we wanted.