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.