Well-documented requirements form the basis for successful software development projects. This applies not only to requirements specifications and functional specifications as classic software specifications, but also and especially to agile backlogs filled with user stories.
In both approaches and everything in between, managing requirements is a challenge when the number of requirements grows over the course of a project – and a frequent source of errors: Unidentified duplicates and contradictions, incompleteness and ambiguities in the requirements, lack of prioritization and scope definition, or poor traceability lead in practice to both requirements engineering activities and all related activities such as software architecture design, user experience design, and development suffering from gradually deteriorating efficiency. Conflicts are identified late, causing unrest in teams and expensive rework – and, above all, delays in releases. We observe this both in internal in-house developments and in externally commissioned development services.