Agile processes such as Scrum allow the inclusion of process support requirements in the requirements documents.
Process support requirements cover any requirements that are not directly related to the system under
construction but have to do with the support infrastructure required by the development team. Examples include the
setup of a test environment, a source code management system or other supporting software, as well as the
installation of deployment servers.
Capturing these requirements explicitly allows them to be scheduled just as regular requirements and included in
feature releases and milestones. However, the goal-oriented approach is not well-suited for such requirements. Extreme
Programming (and, in extension Scrum) suggest writing user stories in such cases. An example for a user story to setup
a continuous integration server is "As a developer, I want to use an automatic build and integration system to be
notified of build, test, and integration failures immediately". This story can be prioritised, an effort can be
assigned to it, and acceptance criteria can be defined. Most importantly, however, the project manager can schedule it
and include it in a milestone.
The document in which such additional requirements are captured and maintained will most likely be separate
from the System Goals Document. If the process prescribes an appropriate artefact (such as
the Product Backlog in Scrum) it should be reused for this purpose. Otherwise, a simple text document or spreadsheet
can be used.
|