User Stories are a tool to facilitate iterative, incremental development

It is generally accepted that the most effective way of developing software products is both incremental, delivering the software product piece by piece, and iterative, revisiting and improving the software over time. (See http://dl.acm.org/citation.cfm?id=972226)

One of the main goals for User Stories is to facilitate this type of development.

Understanding what is important for User Stories is a matter of understanding what is important for iterative, incremental development.

We use User Stories to facilitate iterative, incremental development by:

  • Breaking work down into smaller batches;
  • Emphasising deferring detail until needed;
  • Discouraging the expectation that we need to build everything.