When looking at the goodness of a User Story, see if you should INVEST in it
Independent – each story should stand on its own
Negotiable – stories are in invitation to a conversation; there must be flexibility and room for change. The bigger the story the more details need to be negotiated
Valuable – the story must provide business value; that is its only reason for existing
Estimable – to be useful a story we must be able to estimate it; estimation and tracking are core aspects of an agile process
Small – at most a couple of staff-weeks of work. Too big -> too hard to stay to know what the story is really about.
Testable – if a story is not testable we will not be able to determine if it done; a story is complete once it has passed all its tests.