Guideline: Capturing Process Support Requirements
If it is necessary to capture process support requirements that can not be directly attributed to a system goal, it is often useful to use a complementary requirements document.
Relationships
Main Description

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.