Friday, November 9, 2007

XP Stories vs. Use Cases for Software Estimation





A topic which often surfaces in discussions about XP is, whether Stories in XP are the same as Use Cases under a different name. Apparently, they seem to be the same. However, if you analyze a little deeper it's possible to identify subtle differences between the 2 approaches.

In my view, the main difference is their purpose of existence. The main purpose of a user story in XP is to identify the scope of the project as early as possible and to track project progress. While a use case tries to capture requirements at the required level of detail. The XP approach is to have the story defined in simple words and to get more details from the customer before development starts.

User Stories in XP
  1. Purpose: Estimation, identification of scope early, and tracking progress.
  2. Characteristics: Simple; any customer visible functionality.
  3. Approach: Meet customer face-to-face and get details before implementing.
  4. Suitability: Projects that need early implementation.
Use Cases as used in the Unified Process
  1. Purpose: Describe all tasks that users will need to perform with the system.
  2. Characteristics: Can be scaled to have many details; functional and behavioral requirements.
  3. Approach: Gathered mainly initially (inception & elaboration phases).
  4. Suitability: complex large projects.

No comments: