201
supporting models and documentation. It is also important
to ensure that some form of requirements traceability matrix
or product breakdown structure is used to maintain
consistency between individual configuration items.
Agreement as to the naming and numbering conventions to
be used for each configuration item, and as to who has the
authority to change version numbers either forwards, or,
perhaps more contentiously, backwards. This is particularly
significant in an Agile development environment, where
ideas may be tried out via prototypes but there will remain a
need for all changes to be reversible. This is impossible to
achieve if good configuration management procedures are
not in place and adhered to.
Decisions about the level at which version numbers and
change control apply. Should this be at the level of the
requirements specification itself, a subset of the requirements
catalogue or each individual requirement within this?
Decisions as to what level of history of changes needs to be
maintained, and to whom this is to be circulated each time a
change is made.
Configuration Once the configuration items and their groupings have been
control: agreed, the mechanisms for actual requirements configuration
and control must be defined. This control is applied to all
configuration items, to ensure that only the correct and current
versions are used during the remainder of the development.
This element of requirements management includes:
The implementation of a controlled area to set up a library of
configuration items, and the allocation of specific levels of
responsibility to particular roles and individuals, with items
only being accessible by the person responsible for their area,
and any changes only permitted within the constraints of
this defined procedure.
Control of defects or error reporting. Any problems identified
with configuration items will be reported to the librarian, so
that each problem can be investigated, and appropriate
action taken, in a controlled manner.
The definition and implementation of a formal change
control process. This includes impact analysis,
decision-making and the change implementation itself.
Ensuring that everyone is working on the correct version of
any item. At all stages of any piece of work this is vital. To
achieve it, any changes made must be controlled, so that it is
always possible to identify the latest version. In turn, this
means that any changes are only made to these latest
versions (thereby avoiding the problem of reintroducing
errors that have been corrected previously).
DEFINE REQUIREMENTS