Tuesday, February 24, 2009

Features, Requirmements, Defects, and Enhancements

Features represent what a product can do.
A feature is composed of a series of requirements.
A defect can be associated with a feature.
An enhancement can be proposed for a feature, but it is not a requirment.
An enhancement can become a requirement (or a requirement can be created from an enhancement request.)

A feature is implemented by a series of tasks.

A defect is not an impediment, but an impediment to feature approval can be tied to a defect.
Approval is a task that indicates a feature is complete (or at least acceptable in this iteration.)

Tasks & Impediments

Tasks represent work to be done.
A task can belong to a category (such as development, qa, system administration, etc.)
A task can have a work estimate (such as five hours)
A task can have subtasks (groupings and dependencies?)
A task can have comments (which can be about planning, implementation, resolution, etc.)
A task can have a status (such as not started, in progress, complete, blocked)
A task can be blocked by an impediment.

An impediment is something that prevents a task from being done.
If one task depends on another task, the predecessor is not an impediment -- it's being incomplete is the impediment.