Guide For Writing Requirements
Guide For Writing Requirements
Guide For Writing Requirements
INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03
In an ideal world, every individual user, business, and functional requirement would exhibit the
following qualities: complete, correct, feasible, necessary, prioritized, unambiguous, verifiable,
consistent, modifiable, and traceable. We’ll dive deeper into these qualities later in this eBook.
In order to improve requirements management as a whole, your teams must establish a clear hierarchy and taxonomy.
It’s important that teams understand the difference between requirements and design as it’s often something people get
confused about.
Design:
The design specification, on the other hand, is the response to the
requirements and should indicate what the product, system, or software
does. Specifications are not useful to identify the right product to build,
but they are useful to communicate what the product is and how it works.
It’s important to come up with a taxonomy of your traceability and your hierarchy.
Here are a few examples:
Requirements
Product Concept
Design Specifications
This is a very basic example where you have your problem or your stakeholder need. That decomposes
down to requirements, and the blue boxes relate more to the design. Once you’ve defined the problem
or stakeholder need, you might start coming up with a conceptual product or a concept of operations
(CONOPS). Whereas from the requirements perspective, you would then be able to start creating actual
design specifications from those requirements.
Agile
Feature
User Story
Product Architecture
Code
You can also look at this in Agile terms. You might author a list of features or epics that you want to
decompose down into user stories. The same principles apply but the semantics may be different. The
process of how and when you do this documentation may also differ.
Scaled Agile
Strategic Themes
Epics
Business Case
Feature Feature
Again, if your team is using the Agile methodology instead of defining everything up front, you may experiment
and build up your documentation of requirements through several iterations and feedback loops. Often, when
making products or systems that are extremely complex, they don’t easily fit into a two-level construct. In that
case, you would build more layers into the traceability. In this example, we demonstrate strategic themes going
down to epics, which decompose into features and user stories. You may notice that there are two branches on
either side. That might represent two different modules or subsystems that are living independently but may be
interconnected up to that higher-level solution that you’re implementing.
System Requirements
System Architecture
HW Requirements SW Requirements
HW Architecture SW Architecture
We can also look at this with a system engineering perspective for a complex regulated system. Teams who are
building life-critical applications or products, for example, are given a very specific method to follow by regulatory
bodies. In this case, if teams miss a requirement, or don’t properly design and test it, it could lead to the loss of
life. Traceability is critical to building safety-critical products like airplanes or cars. You must then determine what
taxonomy best fits with the product you’re building—keeping in mind that the industry that you’re building in is
also very important.
Embracing Change
If you’re using Agile methodology and iterating often, it’s important to be able to change
course very quickly and very often. You’ll need to be able to see the ripple effects of changing a
higher-level epic, and what user stories or tests will be impacted. Traceability makes you quicker
and faster down the line when you’re ready to develop these products.
To learn more about the importance of tracing requirements without the headaches and risks of a traceability matrix in Excel, but
also how to do so in a way that sets your organization up for future success. Download this free eBook, “The Jama Software Guide
to Requirements Traceability”
Characteristics of
Effective Requirements
Necessary Unambiguous
Each requirement should be necessary Each requirement should be simple,
or required. concise, and clearly defined.
Feasible Verifiable
Each requirement must be possible to Each requirement should be measurable or testable.
implement.
• See whether you can devise a few tests or use other verification
• It must be possible to implement each approaches, such as inspection or demonstration, to determine
requirement within the known capabilities whether the product properly implements each requirement.
and limitations of the system and its operating
environment. • If a requirement isn’t verifiable, determining whether it was
correctly implemented becomes a matter of opinion, not objective
• To avoid specifying unattainable analysis. Requirements that are incomplete, inconsistent,
requirements, have a designer or developer infeasible, or ambiguous are also unverifiable.
work with marketing or the business analysts
throughout the elicitation process. • The key here is that you need to add a qualifying objective, or
you need to change this requirement statement to make it more
• The technical resource can provide a reality measurable or testable. It’s always a good idea to avoid adverbs,
check on what can and cannot be done also known as any word that ends with “ly.” Adverbs typically are
technically and what can be done only at not testable.
excessive cost.
Correct
Each requirement must accurately describe the functionality to be built
• The reference for correctness is the source of the requirement, such as an actual user or a high-level
system requirement. A software requirement that conflicts with its parent system requirement is not correct.
• Only product users can determine the correctness of requirements, which is why users, or their close
surrogates should review the requirements.
Requirement Templates
When a collision and the passenger the system SHALL detonate the passenger
is detected airbag switch is on airbags
Reason /
User Need Purpose Objective
When everyone is collaborating and has full context and visibility into the discussions, decisions, and changes involved
in product development, they maintain high quality and almost always ensure success.
To learn more about how Jama Software can help your team improve the quality of your requirements writing and
requirements management, get in touch with us today.