Tech Standards / Requirements Documentation

Requirements Documentation

Requirements documentation, also known simply as requirements is a description of what a particular software does and must be able to do. It defines elements of the software in a way for it to have a value or usability for the consumer, stakeholders or organisation. It is produced and used by everyone involved in the development and utilisation of software including software architects, developers, usability engineers, project managers, marketing experts and end users. As a result, requirements documentation must allow communication between everyone involved in software development which can be challenging considering the many people who are reading and using it.

Types of Requirements Documentation

Several categorisations of requirements exist. From the technical point of view, we know the following requirements:

There are many other types of requirements but which ones are included in the documentation depends greatly on software complexity, sophistication and purpose.

Why Requirements Documentation Is Important

For example, when software is developed by a larger number of people, requirements documentation helps everyone understand what they want to achieve. In case of programmes that are developed for uses vital for human safety such as medical equipment, requirements documentation can decide between life and death. But if software application doesn’t have any dramatic implications and isn’t expected to be used for a longer period of time, little or no requirements documentation is required.

Challenges With Documenting Requirements

Since many requirements overlap design and architecture documentation and since requirements documentation is used by many different people, requirements documentation is often very difficult to create. This is also one of the main reasons why it often lacks vital information which in turn contributes to errors, extends the development/elimination of errors process and makes change control more difficult. Many programmes are altered several times before they become available to the end user.