Agile Requirements

Agile requirements assume that a full set of requirements for a system cannot be determined upfront. Instead requirements are gathered and modified throughout development leading to a very flexible development process. To do this, there must be frequent contact with the customer to determine what the customer really wants. To help determine if the current requirements satisfy the customer and what new requirements are, frequent releases of the system should be made. These releases generally occur every two weeks, and only show the customer what has been accomplished on the system to that point. Finally, requirements are describes as features that the customer wishes the system to have.

Features are a small expression of functionality the customer wishes the system to accomplish. A feature can be expressed as an <action> that has a <result> on an <object>. Customers determine features that they wish the system to accomplish. These are called user stories.

User stories are usually written on index cards and describe a feature of the system. The developers then determine if the story can be tested and if a reasonable time estimate can be made on how long it will take to develop the story. Customers also give the story a priority so that the most important functionality can be determined and developed first.

Author: Laurie Williams and Sarah Heckman
Maintained By: Sarah Heckman
Last Updated: 2008-08-14