This article presents ReqSuite® RM by OSSENO Software GmbH. ReqSuite RM is definitely one of the more interesting modern requirements tools on the market. It includes several features that can be regarded innovative, addressing critical needs of the requirements workflow.
Like only few other tools, ReqSuite RM has been designed originally and specifically to support core requirements management activities like defining, structuring, and approving requirements and specifications. Other requirements tools often have originally been issue trackers that were extended by requirements functionality.
ReqSuite RM’s original requirements management focus manifests in several attractive features rarely found in other tools, at least not in this combination. The most important such features are:
- Language templates that blend explicit requirements attributes with easy-to-read textual display of requirements
- Input forms based on typesetting and table templates
- A rich set of options to guide and guard-rail requirements structuring:
- Requirements types, grouping into folders, relationship types
- Cardinality information associated with relationship types
- Automation functions like calculated fields and generation of new items
- Support for different types of requirements reuse
- Quality checks based on a rich and further growing library of quality criteria
- Process guidance and assistance based on quality checks, custom-defined workflows, and interactive user guides
Let’s look into these features below. First, what are the most important technical characteristics of the tool?
Availability and Technical Characteristics
ReqSuite RM comes as a modern, up-to-date web app offered both as cloud app (i.e., vendor-hosted) and for on-premise installation (i.e., customer-hosted). It offers a REST API and ReqIF export. And it also provides important integration options with other tools like Atlassian Jira, Microsoft DevOps Server, GitLab, and Sparx Systems Enterprise Architect.
Now to the selected interesting features of ReqSuite RM, starting with language templates.
ReqSuite RM provides several configuration options for controlling the textual display of requirements information while maintaining strong underlying information structures. The most prominent such feature is Language Templates.
A language template defines a blueprint of individual requirements statements based on the requirement’s attributes. For instance, you can define that every requirements statement shall have the form „The system (must|shall|can) <specific functionality> ….“. Then you would define an attribute called Relevance, defined as an enumeration of the three values must, shall, and can. And you would have another attribute called Functional Description of type Text.
Then ReqSuite RM lets you freely define a text template, for instance: „The system <Relevance> <Functional Description>.“ Then requirements authors can set each requirement’s Relevance and define its functional description. Whenever users display the requirement, the text contains the correct statements. This combines a high level of information structuring and control with intuitive readability of requirements contents.
ReqSuite RM provides several additional features that support textual display of requirements information. For instance, you can define the plural forms for the names of requirements categories, and their gender-specific articles needed in languages like French or German.
Requirements tools store each requirements statement as an individual data record, consisting of several attribute/value pairs. Examples of attributes are Name, ID, Description, Status, Priority, and Estimated Effort. Each project or organization can define its specific requirements types, like Customer Requirement, Product Requirement, and Module Requirement, which all have their specific sets of attribute types.
The tools allow structuring this information in folder-like collections, and establishing link relationships between them. For instance, Customer Requirements can be related to Product Requirements, and these further to other information types like Test Case.
ReqSuite RM offers these features, as it can be expected from any modern requirements tool. Requirements types are called Categories in ReqSuite RM. Each has its specific set of attributes, input form, workflow (i.e., states and state transitions), and relationship types.
Particularly interesting structural features of ReqSuite RM are: Calculated fields, value conditions, dynamic enumerations, and relationships with cardinality constraints.
Calculated fields allow for numeric calculations of attribute values based on other attributes. While several requirements tools offer such features, the solution in ReqSuite RM is particularly well thought-through and usable, concerning the collection of numeric functions and the way formulas can be expressed. It can be used, for instance, for calculating risk ratings from basic probability and severity evaluations.
Value conditions control which elements of an enumerations a user can select in a specific situation. This way, requirements data can be kept at a high level of consistency and integrity.
Dynamic enumerations are attribute values that are determined at usage time. Usually, enumeration values are configured by central administration when a requirements tool is installed, or when a new project starts. With dynamic enumerations, the elements of a selection list are determined at runtime. For instance, all current code modules or all currently defined use cases can be offered as selection lists.
Relationships with cardinality constraints
Another notable structural feature of ReqSuite RM are relationships with cardinality constraints, denoted relationship quantities in the tool. Relationships are not only directed. They also can have indications of how many instances may be connected with each other. For instance, a cardinality of „1->1..*“ between Requirement and Acceptance Criterion defines that every requirement must have at least one or multiple acceptance criteria, while each acceptance criterion belongs to exactly one requirement.
Cardinality constraints on relationship types help providing a high level of structural information among requirements. This is an important prerequisite for establishing strong control of requirements quality, and for guiding users during requirements definition.
ReqSuite RM comes with a rich and continuously growing collection of automated quality checks. The many features for defining structural properties among requirements provide the baseline of these quality checks. For instance, completeness of trace relationships can be checked, and the tool even identifies indicators of over-specification.
Other quality checks analyze requirements language. These include, among others, ambiguous meaning (e.g., through nominalization or generalization), duplicate statements, contradictions, and the use of yet undefined terms and abbreviations.
Another use of the strong structural properties of ReqSuite RM are its process guides: Users can receive detailed guidance during the requirements process, such as what steps for requirements elicitation, definition, review, and refinement shall be performed. For this purpose, ReqSuite RM presents tasks to its users that describe the next activity to be performed.
Once more, ReqSuite RM ‘s capability to configure rich structures like requirements types and links forms the basis of such advanced features like context-sensitive process guides. For instance, when a user writes a use case specification, then ReqSuite RM can point to lacking information like actors or preconditions. Later, the tool can remind its user that each use case shall have at least one associated detailed requirement.
ReqSuite RM can present pre-defined advice to users, offer guidelines for requirements authoring, and checklists for evaluating and documenting requirements quality. It also manages monitoring of task lists and documents their completion.
ReqSuite® RM Tool Profile
When this article was published, the tool possessed the following characteristics.
|Release||3.7 (Feb 2022)|
|Vendor||Osseno Software GmbH|