# Concepts

## Task

* A task is the basic unit of work.
* A task is estimated in hours and quarter hours.
* A task larger than 8 hours should be broken down into smaller tasks.
* A task with smaller estimate is favored over larger estimates.
* A task can not be less than a quarter hour.

## Story

* A story is the basic unit of project specification.
* A story can have an optional estimate in story points.
* A story has 1 or more tasks.
* A story with a combined task estimate of more than 24 hours should be broken down into smaller stories.
* A story has an acceptance criteria for the story.
* A story has 1 or more test scenarios to validate that acceptance criteria has been met.
* A story has a current state (e.g. new, active, resolved, closed).
* A story has a current stage.

## Feature

* A feature is the basic unit of project scope.
* A feature aggregates story task estimates to feature hour estimate.
* A feature aggregates story estimates to feature story point estimate.
* A feature defines risk that is used in calculations to pad estimates.
* A feature can have 1 or more stories (scenarios).

## Project

* A project is the basic unit of billing.
* A project aggregates feature hour estimates to project hour estimate.
* A project aggregates feature story point estimate to project story point estimate.
* A project can have 1 or more stories.

## Release

* A release is the basic unit of delivery.
* A release can contain 1 or more completed stories.

## Stage

* A stage can be a work center that represents a value added stage where various actions are taken to deliver a story.
* A stage can be a queue that represents a non-value added stage where work is held until its down stream stage is ready to pull work.
* A stage can pull work from multiple upstream stages.
* A stage can enforce entry requirements for entering the stage.
* A stage can be split into a doing and done state.
* A stage doing state represents a value added state where work is being actively done on a story.
* A stage done state represents a non-value added state were work is queuing before it is pulled to the next stage.
* A stage can enforce exit requirements for exiting the stage or entering the stage's done state.
* A stage can enforce a limit on work in progress within the stage.
* A stage can be split into doing and done states with done being a non-value added state that work flows into after the stage exit requirements are met.
* A stage can enforce requirements for entering the post-stage.
