6 Relevant Facts and Assumptions

6a.External factors that have an effect on the product, but are not mandated requirements constraints.

Content

Statements describing business rules, systems, activities in the world that have an effect on this system.

Motivation

Relevant facts might contribute to requirements. They will have an effect on the eventual design of the product.

Examples

One ton of de-icing material will treat 3 miles of single lane roadway.

The existing application is 10,000 lines of C code.

6b. Assumptions that the team are making about the project

Content

A list of the assumptions that the developers are making. These might be about the intended operational environment, but can be about anything that has an effect on the product.

Motivation

To make people declare the assumptions that they are making. Also to make everyone on the project aware of assumptions that have been made.

Examples

Assumptions about new laws or political decisions.

Assumptions about what your developers expect to be ready in time for them to use. For example, other parts of your products, the completion of other projects, software tools, software components, etc.

Assumptions about the technological environment in which the product will operate. These assumptions should highlight areas of expected compatibility.

The software components that will be available to the developers.

Other products being developed at the same time as this one.

Availability and capability of bought-in components.

Dependencies on computer systems or people external to this project

Considerations

We often make unconscious assumptions. It is necessary to talk to the members of the project team to discover any unconscious assumptions that they have made. Ask stakeholders (both technical and business-related) questions like "What software tools are you expecting to be available, will there be any new software products, are you expecting to use a current product in a new way, are there any business changes you are assuming we will be able to deal with....?" It is important to state these assumptions up front. You might also consider the probability of whether or not the assumption is correct, and where relevant, a list of alternatives if something that is assumed does not happen.