Volere Requirements Specification Template

Documentation / Get Started

This section describes our adaptation of Volere Requirements Specification Template (edition 18/2016) to be used as a basis for discovering and communicating requirements of today’s software systems and demonstrates its application on an example Library Loans Project.

Volere is the result of many years of practice, consulting, and research in requirements engineering and business analysis of Atlantic Systems Guild Ltd. For more information and links to useful resources see References.

Requirements Types

For ease of use, we have found it convenient to think of requirements as belonging to a type. There are two reasons for the type: as an aid to discovering the requirements and to be able to group the requirements that are relevant to a specific expert specialty. Sometimes you might find it necessary to assign more than one type to a requirement.

Functional Requirements are the fundamental or essential subject matter of the product. They describe what the product has to do, the rules that it has to carry out or what processing actions it must take.

Non-functional Requirements are the properties that the functions must have, such as performance and usability. Do not be deterred by the unfortunate name for this kind of requirements, they are as important as the functional requirements for the product’s success.

Constraints impose restrictions on the chosen solution. These restrictions might apply to the whole project, for example: budget, time, skills. Other constraints relate to the technology to be used like: the product might have to be implemented in the hand-held device being given to major customers, or it might have to use the existing servers and desktop computers, or any other hardware, software, or business practice that must be conformed with and cannot be changed.

Project Drivers are the business-related forces. For example, the purpose of the project is a project driver, as are all of the stakeholders—each for different reasons.

Project Issues define the conditions under which the project will be done. Our reason for including them as part of the requirements is to present a coherent picture of all factors that contribute to the success or failure of the project and to illustrate how managers can use requirements knowledge as input to help to manage a project.

Testing Requirements

The Volere philosophy is to start testing requirements as soon as you start writing them. You make a requirement testable by adding its fit criterion. This fit criterion measures the requirement, making it possible to determine whether a given solution fits the requirement. If a fit criterion cannot be found for a requirement, then the requirement is either ambiguous or poorly understood. All requirements can be measured, and all should carry a fit criterion.

Documents

Our adaptation of the Volere template consists of four documents — Project Needs (NEEDS), Project Requirements (REQS), Project Issues (ISSUES) and Naming Conventions and Definitions (DEFS), organized into the following sections:

Project Needs

  1. The Purpose of the Project: This section deals with the fundamental reason your client asked you to build a new product. That is, it describes the business problem the client faces and explains how the product is intended to solve the problem.
  2. Stakeholders: This section describes the stakeholders—the people who have an interest in the product. It is worth your while to spend enough time to accurately determine and describe these people as the penalty for not knowing who they are can be very high.
  3. Relevant Facts and Assumptions: This section describes external factors that have an effect on the product but are not covered by other sections in the requirements template. They are not necessarily translated into requirements but might be. Relevant facts alert the developers to conditions and factors that have a bearing on the requirements.
  4. The Scope of the Work: This section determines the boundaries of the business area to be studied and outlines how it fits into its environment.
  5. Business Data Model: This section provides specification of the essential subject matter, business objects, entities, and classes that are germane to the the work that you are investigating. It might take the form of a first-cut class model, an entity-relationship model, or any other kind of data model.
  6. The Scope of the Product: This section describes the scope of the product by means of detailed Product Use Cases.

Project Requirements

  1. Constraints: This section describes constraints on the eventual design of the product.
  2. Functional Requirements: This is a specification for each atomic functional requirement.
  3. Non-functional Requirements: This section describes the non-functional requirements.

Project Issues

  1. Open Issues: Issues that have been raised and do not yet have a conclusion.
  2. Off-the-Shelf Solutions: This section looks at available solutions and summarizes their applicability to the requirements.
  3. New Problems
  4. Tasks: This section highlights the effort required to build the product, the steps needed to buy a solution, the amount of effort to modify and install a ready-made solution, and so on.
  5. Migration to the New Product: This section of the specification is where you identify the tasks necessary for the period of transition to the new product. This section is input to the project planning process.
  6. Risks: This section of the specification contains a list of the most likely and the most serious risks for your project.
  7. Costs: The other cost of requirements is the amount of money or effort that you have to spend building them into a product. Once the requirements specification is complete, you can use one of the estimating methods to assess the cost, expressing the result as a monetary amount or time to build.
  8. User Documentation and Training: This section specifies the user documentation that will be produced as part of the product-building effort. This is not the documentation itself, but a description of what must be produced.
  9. Waiting Room: The waiting room holds requirements that will not, for one reason or another, be part of the initial release of the product.
  10. Ideas for Solutions: Ideas for solutions are obviously not requirements, but it is impossible when gathering requirements not to get ideas for how they might be implemented. You can record each one faithfully in this area, and then hand them over, along with the requirements, to your designer.

Naming Conventions and Definitions

  1. Glossary: A glossary containing the meanings of all names, acronyms, and abbreviations used by the stakeholders. Select names carefully to avoid giving a different, unintended meaning.
  2. Data Dictionary: As you start to defining detailed atomic requirements you define the data inputs and outputs in this formal dictionary.

Template Instructions

If you create a new project from the Volere Template (see Create Projects) then the application displays detailed guidance about Content, Motivation, Considerations, Examples and Form of each selected section in the Instructions pane:

Instructions for the Volere Requirements Specification Template in ReqView

Requirements Attributes

The requirements shell is a guide to writing each atomic requirement. The components of the shell (also called a “snow card”) are identified below. An atomic requirement is made up of the following collection of attributes:

Volere Requirements Shell

Predefined Attributes:

NameIdentifierTypeDescription
IdidstringUnique identifier within the document
HeadingheadingstringShort name of the document section or the requirement
TexttextxhtmlIntent of the requirement
TypetypeenumType of the document object (Section, Information, Functional Requirement, Constraint, &dots;)
RationalerationalexhtmlExplanation why the requirement is important and how it contributes to the product's purpose
OriginatororiginatorstringName of the person who raised the requirement in the first instance, or the person to whom it can be attributed
Fit CriterionfitCriterionxhtmlQuantified goal the solution has to meet (acceptance criterion)
Customer SatisfactionsatisfactionintDegree of stakeholder happiness if this requirement is successfully implemented scaling from 1 (uninterested) to 5 (extremely pleased)
Customer DissatisfactiondissatisfactionintMeasure of stakeholder unhappiness if this requirement is not part of the final product scaling from 1 (hardly matters) to 5 (extremely displeased)
PrioritypriorityenumDecision on the importance of the requirement's implementation relative to the whole project
Supporting MaterialsmaterialsxhtmlReferences to other material that is important to the requirement

You might decide to add some additional attributes to provide traceability necessary for your environment. For example: products that implement this requirement, version of the software that implements this requirement, departments who are interested in this requirement, etc. There are others but do not capriciously add attributes unless they really help you: every attribute you add needs to be maintained.

Traceability Configuration

We propose to set up traceability according to the following diagram:

Requirements traceability in the Volere Requirements Specification Template in ReqView
  • Satisfaction Links lead from downstream constraints or requirements to upstream business events, business or product use cases.
  • Reference Links lead from issues to related business events, business or product use cases, constraints or requirements.
  • Conflict Links lead from constraints or requirements to conflicting constraints or requirements.
  • Dependency Links lead from dependent constraints or requirements to related constraints or requirements.

Example

Check Volere Library Loans Requirements Specification Example illustrating how you could use Volere to specify the requirements for a product that controls library loans.

References

Mastering the Requirements Process book by Suzanne and James Robertson
  • Volere Web Site — articles about the Volere techniques, experiences of Volere users and case studies, schedule of public seminars, and other information useful to requirements practitioners,
  • Mastering the Requirements Process — book by Suzanne and James Robertson describing the Volere requirements process,
  • Requirements: the Masterclass — video course on the Volere requirements process.

License

The Volere template may not be sold, or used for commercial gain or purposes other than as a basis for a requirements specification without prior written permission. The template may be modified or copied and used for your requirements work, provided you include the copyright notice in any document that uses any part of this template.

We acknowledge that this page uses material from the Volere Requirements Specification Template.

Copyright © 1995 – 2019 the Atlantic Systems Guild Limited.

 Try ReqView
Updated for version 2.19.0