AI-supported requirements analysis

Fire protection in a new building that does not meet legal requirements; delivered software that fails to fulfill the needs of the client – deficiencies of this kind can be due to ambiguous requirements. The »Requirements and Architecture Analysis Toolkit (RA²T)« helps project team members to identify ambiguous requirements, reformulate them, and thus minimize risks and costs for stakeholder companies. This is done by analyzing and consolidating requirements and subjecting them to linguistic quality assurance.

Requirements and Architecture Analysis Toolkit (RA²T)

© Fraunhofer FKIE
Through requirements analysis, linguistic quality assurance, and consolidation, the »Requirements and Architecture Analysis Toolkit« (RA²T) helps to identify and reformulate ambiguous requirements, thus minimizing risks and costs for companies.
© 123RF/baton72
It can be daunting or even impossible to get an overview of a project's complete list of requirements. Sometimes the volume of data is simply too large and the lack of technical aids to assist with this task has forced employees to complete much of this work manually up to now. RA²T changes all that as the tool provides valuable help to save time and contain costs.

Identification, analysis and subsequent processing of requirements for a needed system or product are central building blocks of any procurement process. Requirements must comprehensively reflect the needs of future users and be formulated as clearly and unambiguously as possible, so that contracting authorities can use them to create performance specifications. Requirements must not leave any room for interpretation by contractors and must precisely and unambiguously define an agreed scope of performance. This is the only way to ensure that the delivered system actually meets the needs of its users. If the requirements are not clear, subsequent rescheduling and refinements in the project will drive up risks and costs. Requirements are therefore an important link between users, commissioning entities and the contracted industry.

The »Requirements and Architecture Analysis Toolkit« (RA²T) was developed to minimize the risk associated with ambiguous requirements and employs various building blocks to eliminate ambiguities. Thus, in addition to ensuring the linguistic quality of each individual requirement, the focus is also on analyzing and consolidating the overall body of requirements for consistent technical language and identification of redundancies. In addition, requirements are mapped to existing elements or components in the company portfolio to help identify gaps. For this purpose, it is also necessary to classify, search, and organize the list of requirements according to various content-related and formal criteria. This is the only way to gain an overview of the complete list of requirements.

Because there has never been tool-based support to perform all of these tasks up to now, project team members have had to do most of this work manually. This is not only very time-consuming and cost-intensive, but also almost impossible, especially when staff are faced with extensive requirements lists. RA²T changes all this. The tool helps project team members to obtain requirements that are as clear and unambiguous as possible and then to map them to existing portfolio elements.

The target group for RA²T comprises, in particular, organizations that commission systems from the industry or suppliers and thus have to describe desired services without any ambiguity. These could be public sector procurement offices or procurement and logistics departments of large companies or system integrators for example.

RA²T offers a semi-automated approach to processing requirements. First, users are alerted to problematic passages in requirements which they can then manually reformulate. Afterwards, RA²T makes suggestions for decisions that need to be made during subsequent processing. These suggestions can be either confirmed or rejected interactively by the user.

For this purpose, a number of microservices were implemented and are employed within a closed tool. These microservices analyse the requirements, perform linguistic quality assurance and consolidate the requirements.

In the course of the analysis, the requirement is first broken down into its content and its linguistic components system word, process word, priority/modal verb, condition, type of system activity, object and adjuncts.

On that basis, RA²T can now perform a semantic search of the full list of requirements and the classification of each requirement according to its content, i.e. functional and non-functional. Moreover, requirements can be classified according to a range of criteria, such as whether they are »IT-relevant« or »non- IT-relevant«. It is also possible to create other classifications, for instance according to individually defined categories.

RA²T also offers extensive sorting and filtering options at the word and requirement level which allow exploration and processing of the requirements list according to user-specified criteria. This makes it possible to group a large list of requirements by content, for instance. Supported languages are German and English.

In the process of requirements consolidation, RA²T identifies duplicates or very similar requirements . Also, different spellings or abbreviations of the same word, as well as different terms with the same meanings (e.g. »provide« and »make available«) are identified in the body of requirements and can be standardized by the user. A project glossary can be created to help with this process.

Requirements quality assurance is at the heart of RA²T. It involves testing the requirements for linguistic rules that help users formulate unambiguous requirements. These rules include, for example, identifying passive constructions, incomplete conditions, or weak words in a requirement text, for instance »small« without further specifiers. RA²T identifies these potential rule violations, but it remains the responsibility of the project team members to evaluate and, if necessary, to correct these violations. RA²T does not make any corrections on its own.

RA²T is based on the latest Natural Language Processing (NLP) and Machine Learning techniques. 

RA²T not only makes it easier for project team members to analyze, explore and consolidate the content of a requirements list, but it also helps to avoid errors triggered by »bad« requirements early on in the procurement process. This is accomplished in part by improving the linguistic quality and thus the clarity of the requirements.

The semi-automated approach of RA²T is based on automated hints or suggestions that are either accepted or rejected by users based on their expertise, thereby enabling the continuous improvement of AI algorithms at the same time. RA²T helps project team members from any industry to identify errors, inconsistencies, and ambiguously worded requirements early on in the procurement process and to correct linguistic defects. The tool also greatly simplifies searching through a list of requirements, creating an optimal basis for their further processing.

RA²T also enables an efficient comparison of project requirements with an existing company portfolio. This promotes the reuse of existing elements, components, and functions while at the same time identifying existing gaps and the need for further portfolio development. The RA²T toolkit exists as a demonstrator and is currently in the user testing phase. RA²T will be refined continuously and adapted to further customer groups in the future. Individual adaptation to the specific needs of users is of course possible, as far as it is technically feasible.