WorkQueue

Produce a prioritized list of implied requirements

Definition

Produce a prioritized list of ImpliedRequirements.  Detail the requirements, analyze, design and implement in (approximate) order of sequence on the prioritized list.

Source

Work Queue

Discussion

The original purpose of the work queue was to produce some sort of schedule where detailed requirements were not known, but there were implied requirements (such as a list of desirable features) available.  Modern practices have turned this on its head, and deliberately defer detailing requirements until their priority puts them near the head of the list.  Work queue sits well with IterativeDevelopment.  Typically, the highest priority requirements will be planned in detail in the schedule for current or next iteration, but all other requirements will remain on the prioritized list.  Changing the priority of these remaining requirements is thus relatively simple, it only requires re-sequencing of the list rather than re-writing of a detailed schedule.  Specific modern variants on work queue are PlanningGame and BackLog. 

 

Sequencing by priority allows us to estimate end-dates for given scopes, or estimate scope for given end-dates, where available development effort per time period is assumed to be constant.  Further knowledge based on better understanding of requirements and more experience of ComparableWork means these estimates improve with time.

 

Having a prioritised list of requirements means that the developers can be insulated from FeatureCreep; all requests for new features get added to the list, and priorities get assigned prior to defining a new batch of requirements that are about to be implemented.