Requirements Engineering is a process that aims to define, document and maintain software requirements along the entire application development lifecycle. When working with the Waterfall method, it is usually done at the beginning of the development, whereas with Agile method requirements’ definition and subsequent changes are continuously occurring throughout the incremental development process. Requirements re-use is essential feature, designed for those with mature requirements management, ideal for businesses with a wide range of similar products.
It is Important to highlight that we can define certain maturity levels of requirements management, depending on the number of products, projects, requirements, and the complexity of change and variants management.
- At the basic level requirements are defined, stored and shared via MS Word-Excel documents. They can be circulated via emails, or shared via file folders.
- Level second is when a document management system is in place, which helps sharing and versioning documents that contains requirements.
- Level three already requires a specific requirements management systems with import and export functions to and from MS Office solutions, also workflow definition and online editing features.
- Once we talk about really large number of projects and requirements, these have to be used across multiple projects, consequently the demand for the reuse of requirements is increasing. The ability to reuse shows a high maturity level of requirements management.
Requirements reuse depends in the maturity level of organizations’ requirements management
Requirements reuse is a must at those organization that have to handle over 100+ projects and where there are thousands of requirements. Reuse is also important for those who have similar projects, or significant part of the requirements are the same across projects due to standard regulations. Requirements reuse also supports the variants, which is important in some industries (eg. automotive) where product models, or markets requires specific features of delivered products.
And what is the benefit by achieving that level and making requirements reusable?
However, if an organization is progressing on the maturity curve with respect to requirements management, managing multiple projects and thousands of requirements in parallel, and seeking to reduce complexity, lower cost of development, and shorten innovation cycles, then requirements reuse is a concept that should be investigated.