Volere Template
Volere Template
Volere Template
You can download the template, try it and decide whether or not it's right for your
project. If you like it, you pay a nominal shareware fee (Euro ¤40, US$50, GBP£30
AUD$70 or the equivalent) to entitle your project to continue using the template.
Academic institutions and students are exempt from the shareware fee.
You can pay you shareware fee by sending a cheque (or check if you prefer) to:
The Atlantic Systems Guild Limited
11 St Mary's Terrace
London W2 1SU
United Kingdom
Table of Contents
PROJECT DRIVERS
1. The Purpose of the Project
2. Client, Customer and other Stakeholders
3. Users of the Product
PROJECT CONSTRAINTS
4. Mandated Constraints
5. Naming Conventions and Definitions
6. Relevant Facts and Assumptions
FUNCTIONAL REQUIREMENTS
7. The Scope of the Work
8. The Scope of the Product
9. Functional and Data Requirements
NON-FUNCTIONAL REQUIREMENTS
10. Look and Feel Requirements
11. Usability and Humanity Requirements
12. Performance Requirements
13. Operational Requirements
14. Maintainability and Support Requirements
15. Security Requirements
16. Cultural and Political Requirements
17. Legal Requirements
PROJECT ISSUES
18. Open Issues
19. Off-the-Shelf Solutions
20. New Problems
21. Tasks
22. Cutover
23. Risks
24. Costs
25. User Documentation and Training
26. Waiting Room
27. Ideas for Solutions
Volere
Volere is the result of many years of practice, consulting and
research in requirements engineering. We have packaged our
experience in the form of a generic requirements process,
requirements training, requirements consultancy, requirements
audits, a variety of downloadable guides and this requirements
template. We also provide requirements specification writing
services.
The Volere requirements process is described in the book:
Mastering the Requirements Process by Suzanne Robertson and
James Robertson, Addison-Wesley, London, 1999.
ISBN is 0-201-36046-2
Volere for managers, team leaders and advanced analysts is covered
in the book:
Requirements-Led Project Management: Discovering David’s
Slingshot by Suzanne Robertson and James Robertson, Addison-
Wesley, London, 2005.
ISBN is 0-321-18062-3
Public seminars on Volere are run on a regular basis in Europe,
United States and Australia. For a schedule of courses, refer to
http://www.systemsguild.com
In house seminars and consulting on Volere can be arranged on
demand.
For further information contact: The Atlantic Systems Guild, 11
St Mary’s Terrace, London, W2 1SU, United Kingdom.
email: [email protected] [email protected]
web: http://www.systemsguild.com
web: http://www.volere.co.uk
Testing requirements
You start testing requirements as soon as you start writing them.
Your first test is to determine if you can quantify the requirement
by specifying its fit criterion. This fit criterion is an objective
measure of the requirement’s meaning; it is the criterion for
evaluating whether or not a given solution fits the requirement. If a
fit criterion cannot be adequately specified, then the requirement is
ambiguous, or ill understood. If there is no fit criterion, then there
is no way of knowing whether a solution meets the requirement.
Requirement Numbering
Give each requirement a unique identifier to make it traceable
throughout the development process. The numbering scheme
suggested in the requirement shell is:
Requirement # is the next unique requirement number
Requirement Type is the section number from the template that
corresponds to this type of requirement
The inclusion of the section number is not absolutely necessary
because each requirement has a unique requirement id. However it
serves as a reminder of what this requirement relates to and helps to
remind why the requirement is considered important. Also the
Event/use case #
Event # is the identifier of a Business Event/s whose response (or
business use case) has this requirement.
Use Case # is the number of the Product Use Case/s that contain
this requirement. There might be several Event/use case #’s for one
requirement because the same requirement might relate to a number
of events.
The terms business event and use case are already widely used in
the systems development world.
The term business event means a business related happening that
causes an event-response (or business use case) within the scope of
the work that we are studying.
The term event-driven use case (or product use case) means a user-
defined (or actor defined) piece of activity within the context of the
product. Each product use case is connected to a business event.
Business events and product use cases provide a way of grouping
business-related requirements and tracing them through into
implementation; they are used throughout the Volere development
process.
Description
The requirement description is a one sentence summary of the
requirement. The most common form of writing the description is:
The product shall do a specific thing for a specific person.
Rationale
The rationale explains why the requirement is considered to be
important. The act of writing the rationale often serves as a tool for
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 6
This template may be copied and adapted provided shareware and copyright conditions are met
helping people to discover the real intention and hence the real
requirement.
Fit Criterion
This fit criterion is an objective measure of the requirement’s
meaning; it is the criterion for evaluating whether or not a given
solution fits the requirement.
Customer Value
Customer Value is a measure of how much your client cares about
each requirement.
Ask your stakeholders to grade each requirement for Customer
Satisfaction on a scale from 1 to 5 where 1 means mild interest if
this requirement is satisfactorily implemented, and 5 means they
will be very happy if this requirement is satisfactorily implemented
The stakeholders also grade each requirement for Customer
Dissatisfaction on a scale from 1 to 5 where 1 means that it hardly
matters, and 5 means that they will be extremely displeased if this
requirement is not satisfactorily implemented
The point of having a satisfaction and a dissatisfaction rating is that
it guides your clients to think of the requirement from two different
perspectives, and helps you to uncover what they care about most
deeply. Another advantage is that you are managing expectations
by reminding your clients that it might be necessary for them to
prioritise requirements if you cannot implement all of them.
Dependencies
This keeps track of other requirements that have an impact on this
requirement.
If the dependency exists because requirements use the same
information, then use of standard naming conventions and
definitions (see Section 5) will keep track of this dependency.
Other dependencies exist because a solution to this requirement has
a positive or negative effect on solutions to other requirements.
Another dependency occurs when the implementation of one
requirement cannot be done without the implementation of other
requirements. Capture these types of dependencies by cross-
referencing the requirements.
Some requirements, especially project drivers and project
constraints, have an impact on all the other requirements.
Conflicts
This keeps track of other requirements that disagree with this one.
Conflicts that are caused by mistake are solved simply by bringing
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 7
This template may be copied and adapted provided shareware and copyright conditions are met
them to the surface and resolving them. Other conflicts are because
of true differences in opinion/intention. These are the conflicts that
might eventually need to be addressed using negotiation or
mediation techniques. There is nothing wrong with having
conflicting requirements providing you know that you have them.
Then you are in a position to address the conflict.
History
We follow the requirement from the date that it was created,
through all its changes. We minimize future confusion by recording
the rationale for making major changes. When a requirement is
deleted we record when, and the rationale behind the deletion. The
date that the requirement passes its quality checks, and who passed
it, is also recorded.
2b. The customer is the person/s who will buy the product.
Content
The name of the person who plays the role of the customer for the
product. In the case of in house development the roles of the client
and the customer are often played by the same person. In the case
of the development of a mass market product there may be several
people playing the role of customer. In the case of a product that is
being developed for an international market, there might be a
different customer (or customer profile) in each country.
Motivation
The customer role is ultimately responsible for deciding whether or
not to buy the product from the client. The product must be built to
satisfy the aims of the customer/s whilst conforming to the
constraints of the client. Even if the customer/s are people who
work for another part of the client’s organization, they might still
have the authority to decide whether or not to invest budget in the
new product.
Considerations
Make use of existing references and data dictionaries. Obviously it
is best to avoid renaming existing items unless they are so
ambiguous that they cause confusion.
From the start of the project emphasize the need to avoid
homonyms and synonyms and explain how they increase the cost of
the project.
Later on, as the analysis progresses, this description will be
expanded to define all the elementary terms that describe a truck.
Truck = Truck Registration Number, Truck Capacity, Truck
Service Status
As we progress through the requirements specification each of the
elementary terms will be defined in detail
Truck Capacity - the number of tonnes of deicing material that can
be carried by a truck. From 0.5 to 2 tonnes
The dictionary provides a link between the requirements analysts
and the implementers. The implementers will add implementation
details to the terms in the dictionary defining how the data will be
implemented. Also, implementers add additional terms that are
there because of the chosen technology and are independent of the
business requirements.
Weather
Stations Weather
Forecasting
Thermal
Bureau
Map
Suppliers Weather
Station District
Readings Weather
Thermal Forecasts
Maps Untreated
.0 Road
Reminder
Road Treated
De-icing Road
Changed Work Truck
Road Context Change
Changed Amended
Weather De icing
Station Schedule
New Road De
Weather icing
Station Failed Schedule
Weather Truck Truck
Station Breakdown Depots
Road Alert
Engineering
Considerations
The names used on the context diagram should be consistent with
the naming conventions discussed in section 5.
Considerations
Attempting to list the business events is a way of testing the work
context. This activity uncovers uncertainty and misunderstanding
about the project and helps with precise communications. When
you do an event analysis it will usually cause you to make some
changes to your work context diagram.
You derive the product use cases by deciding where the product
boundary should be for each one of the business events. These
decisions are based on your knowledge of the work and the
requirements constraints.
Use Case 8
User/actor name
Truck Depot Engineer
Description
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 28
This template may be copied and adapted provided shareware and copyright conditions are met
Produce road de-icing schedule
Fit Criterion
Sensor readings shall be used to prepare a schedule for the de-icing
trucks.
Use Case Scenarios
The description for this use case describes the normal way that it
operates. Scenario models 8.1, 8.2, 8.3 illustrate exception cases for
this use case.
Each of the individual requirements that relates to this use case will
contribute to meeting the fit criterion of the use case. Each individual
requirement will also have its own detailed fit criterion.
Fit Criterion
Each functional requirement must have a fit criterion. The fit
criterion depends on the required action. For example, if the
requirement is to record some data, then the fit criterion would say
that the data must be able to be retrieved and must match certain
standards. For calculations, the resulting data must conform to
predicted results.
Considerations
If you have produced an event/use case list (see 7b & 8a) you can
use them to help you trigger the functional requirements for each
event/use case. If you have not produced an event/use case list, give
each functional requirement a unique number and, to help with
traceability, they can be partitioned into event/use case-related
groups later in the development process.
Fit Criterion
You can use any type of data or object model to capture this
knowledge. The issue is to capture the meaning of the business
subject matter and the connections between the individual parts and
that you are consistent within your project. If you have an
established company standard notation, then use that as it will help
you to reuse knowledge between projects.
To support your data model you would also define:
Name of business object/entity (use naming convention from 5)
Statement of the purpose of the class/entity
Description of relationships between classes/entities
Considerations
Are there any data/object models for similar/overlapping systems
that might be a useful starting point? Is there a domain model for
the subject matter dealt with by this system?
12 Performance Requirements
12a. Speed and latency requirements
Content
Specifies the amount of time available to complete specified tasks.
These often refer to response times. They can also refer to the
product’s ability to fit into the intended environment.
Motivation
Some products, usually real-time products, must be able to perform
some of their functionality within a given time slot. Failure to do so
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 37
This template may be copied and adapted provided shareware and copyright conditions are met
may mean catastrophic failure (for example a ground-sensing radar
in an airplane fails to detect an upcoming mountain) or the product
will not cope with the required volume of use (an automated ticket
selling machine).
Examples
“Any interface between a user and the automated system shall have
a maximum response time of 2 seconds”
“The response shall be fast enough to avoid interrupting the user’s
flow of thought”
“The product shall poll the sensor every 10 seconds”
“The product shall download the new status parameters within 5
minutes of a change”
Fit Criterion
Unit of measurement
Required range of values
Considerations
There is a wide variation in the importance of different types of
speed requirements. If you are working on a missile guidance
system then speed is extremely important. On the other hand, an
inventory control report that is run once every 6 months has very
little need for split second speed.
Customize this section of the template to give examples of the
speed requirements that are important within your environment.
13 Operational Requirements
13a. Expected physical environment
Content
This section specifies the physical environment in which the
product will operate.
Motivation
To highlight conditions that might need special requirements,
preparations or training. These requirements ensure that the product
is fit to be used in its intended environment.
Examples
“The product shall be used by a worker, standing up, outside in
cold, rainy conditions.”
“The product shall be used in noisy conditions with a lot of dust.”
“The product shall be able to fit in a pocket or purse.”
“The product shall be usable in dim light.”
“The product shall be not add to the noise in the environment.”
Considerations
The work environment: Is the product to operate in some unusual
environment? Does this lead to special requirements? Also see
section 11 - Usability.
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 42
This template may be copied and adapted provided shareware and copyright conditions are met
13b. Expected technological environment
Content
Specification of the hardware and other devices that make up the
operating environment for the new system.
Motivation
To identify all the components of the new system so that the
acquisition, installation and testing can be effectively managed.
Considerations
Describe the hardware and other devices that make up the operating
environment for the new system. This may not be known at the
time of the requirements process, as these devices may be decided
at design time.
It may be that the operating environment is complex, and becomes
a subject of requirements study itself.
Special considerations should also be given if the product is to be
embedded in a device.
If the expected operating environment is the same or similar to the
current one, then this might be adequately covered in section 4b -
Implementation Environment of the Current System.
15 Security Requirements
15a. Access requirements
Content
Specification of who has authorized access to the product (both
functionality and data), and under what circumstances that access is
granted, and to what parts of the product access is allowed.
Motivation
To understand the expectations for confidentiality aspects of the
system.
Examples
“Only direct managers can see the personnel records of their staff.”
“Only holders of current security clearance can enter the building.”
Fit Criterion
System function name or system data name
User role/s and/or names of people who have clearance
Considerations
Is there any data that is sensitive to the management? Is there any
data that low-level users do not want management to have access
to? Are there any processes that might cause damage or might be
used for personal gain? Are there any people who should not have
access to the system?
Avoid solving how you will design a solution to the security
requirements. For instance, don’t design a password system. Your
aim here is to identify what the security requirement is. The design
will come from this description.
Consider asking for help. Computer security is a highly-specialized
field, and one where improperly-qualified people have no business
being. If your product has need of more than average security, we
advise that you make use of a security consultant. They are not
cheap, but the results of inadequate security can be even more
expensive.
17 Legal Requirements
17a. Compliance requirements
Content
A statement specifying the legal requirements for this system..
Motivation
To comply with the law so as to avoid later delays, law suits and
legal fees.
Examples
“Personal information shall be implemented so as to comply with
the data protection act.”
Fit Criterion
Lawyers’ opinion that the product does not break any laws.
Considerations
Consider consulting lawyers to help identify the legal requirements.
Are there any copyrights/intellectual property that must be
protected? Alternatively, do any competitors have copyrights that
you might be in danger of infringing?
Is it a requirement that developers have not seen competitors’ code
or even have worked for competitors?
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 51
This template may be copied and adapted provided shareware and copyright conditions are met
Is there any pending legislation that might affect the development
of this system?
Are there any aspects of criminal law you should consider?
Have you considered the tax laws that affect your product?
Are there any labour laws – eg: working hours – relevant to your
product?
18 Open Issues
Issues that have been raised and do not yet have a
conclusion.
Content
A statement of factors that are uncertain and might make significant
difference to the product.
19 Off-the-Shelf Solutions
19a. Is there a ready-made product that could be bought?
Content
List of existing products that should be investigated as potential
solutions. Reference any surveys that have been done on these
products.
Motivation
To give consideration to whether or not a solution can be bought.
Considerations
Is it possible to buy something that already exists or is about to
become available? It may not be possible at this stage to say with a
lot of confidence, but any likely products should be listed here.
Also consider whether there are products that must not be used.
20 New Problems
20a. What problems could the new product cause in the
current environment?
Content
A description of how the new product will affect the current
implementation environment. This section should also cover things
that the new product should not do.
Motivation
The intention is to discover early any potential conflicts that might
otherwise not be realized until implementation time.
Examples
Any change to the scheduling system will affect the work of the
engineers in the divisions and the truck drivers.
21 Tasks
21a. What steps have to be taken to deliver the system?
Content
Details of the life cycle and approach that will be used to deliver
the product. A high level process diagram showing the tasks and
interfaces between them is a good way to communicate this
information.
Motivation
To specify the approach that will be taken to deliver the product so
that everyone has the same expectations.
Considerations
Depending on the level of maturity of your process, the new
product will be developed using your standard approach. However,
there are some circumstances that are special to a particular product
and will necessitate changes to your lifecycle. While these are not a
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 56
This template may be copied and adapted provided shareware and copyright conditions are met
product requirement, they are needed if the product is to be
successfully developed.
If possible, attach an estimate of the time and resources need for
each task based on the requirements that you have specified. Tag
your estimates to the events/use cases/functions that you specified
in sections 8 and 9.
Do not forget data conversion, user training and cutover. We have
listed these because they are usually ignored when projects set
implementation dates.
22 Cutover
22a. What special requirements do we have to get the
existing data, and procedures to work for the new
system?
Content
A list of the Cutover activities. Timetable for implementation.
23 Risks
All projects involve risk. By this we mean the risk that something
will go wrong. Risk is not necessarily a bad thing, as no progress is
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 58
This template may be copied and adapted provided shareware and copyright conditions are met
made without taking some risk. However, there is a difference
between unmanaged risk – say shooting dice at a craps table – and
managed risk where the probabilities are well understood, and
contingencies made. Risk is only a bad thing if the risks are ignored
and they become problems. Risk management is assessing which
risks are most likely to apply to the project, deciding a course of
action if they become problems, and monitoring projects to give
early warnings of risks becoming problems.
This section of your specification should contain a list of the most
likely and the most serious risks for your project. Against each risk
include the probability of that risk becoming a problem. Capers
Jones’ book Assessment and Control of Software Risks. Prentice-
Hall, Englewood Cliffs, NJ. 1994 gives comprehensive lists of risks
and their probabilities, you can use these as a starting point. For
example, Jones cites the following risks as being the most serious:
• Inaccurate metrics
• Inadequate measurement
• Excessive schedule pressure
• Management malpractice
• Inaccurate cost estimating
• Silver bullet syndrome
• Creeping user requirements
• Low quality
• Low productivity
• Cancelled projects
Use your knowledge of the requirements as input to discovering
risks that are most relevant to your project.
It is also useful input to project management if you include the
impact on the schedule, or the cost, if the risk does become a
problem.
24 Costs
For details on how to estimate requirements effort and costs, refer
to our book: Requirements-led Project Management:
Discovering David’s Slingshot, Addison Wesley, 2005
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, and express this in a
monetary amount or time to build.
Volere Template v10.1 Copyright © 1995 – 2004 Atlantic Systems Guild
Limited 59
This template may be copied and adapted provided shareware and copyright conditions are met
There is no best method to use when estimating. However your
estimates should be based on some tangible, countable, artifact. If
you are using this template then, as a result of doing the work of
requirements specification, you are producing many measurable
deliverables. For example:
Number of input and output flows on the work context
Number of business events
Number of product use cases
Number of functional requirements
Number of non-functional requirements
Number of requirements constraints
Number of function points
The more detailed work you do on your requirements the more
accurate will be your deliverables. Your cost estimate is the amount
of resources you estimate each type of deliverable will take to
produce within your environment. You can do some very early cost
estimates based on the work context. At that stage, your knowledge
of the work will be general and you should reflect this by making
the cost estimate a range rather than one figure.
As you get more knowledge about the requirements we suggest you
try using function point counting – not because it is an inherently
superior method - but because it is so commonly accepted. So much
is known about it, that it is possible to make easy comparisons with
other products, and other installations’ productivity.
It is important that your client knows at this stage what the product
is likely to cost. You usually express this as a total cost to complete
the product, but you may also find it advantageous to be able to
point out the cost of individual requirements.
Whatever you do, do not leave the costs in the lap of hysterical
optimism. Make sure that this section includes meaningful numbers
based on tangible deliverables.
26 Waiting Room
Requirements that will not be part of the agreed product. These
requirements might be included in future versions of the product.
Content
Any type of requirement.
Motivation
To allow requirements to be gathered, even though they cannot be
part of the current development. To ensure that good ideas are not
lost.
Considerations
The requirements gathering process often throws up requirements
that are beyond the sophistication of, or time allowed for, the
current release of the product. This section is a hold-all for
requirements in waiting. The intention is to avoid stifling your users
and clients by having a repository of future requirements. You are
also managing expectations by making it clear that you take these
requirements seriously but they will not be part of the agreed
product.
Many people use the waiting room as a way of planning future
versions of the product. Each requirement in the waiting room is
tagged with its intended version number. As a requirement