Requirements management

Aligning final delivery with the initial strategic intent.

Importance of Requirements management

The experience we have gained over many years in the field of software development has confirmed a well-known fact of the importance of Requirements Management. There are two main reasons why Requirements Management is a crucial part of the software development process at Enlight:

  • The fact that the lack of Requirements management is one of the leading reasons for project failure.
  • Requirements Management is an integral part of QA that increases the chance that the delivered solution satisfies: business objectives, functional requirements, non-functional requirements and compliance with the standards that the solution needs to meet.

Key aspects of Requirements management

The Requirement Management includes, but is not limited to, the following aspects:

  • Stakeholder alignment - so they can cooperate efficiently.
  • Requirements traceability - through an entire software development lifecycle, providing a clear picture of the current project state and its progress.
  • Impact analysis - it shows how the project scope and schedule are affected by the requirement change.
  • Churn reduction - it reduces unnecessary requirements change on the project.
  • Proof of compliance - in cases where some software solution has to satisfy particular industry standards or regulations.

In order to minimize the risk that the solution delivered does not meet business objectives and stakeholders’ needs, all these aspects must be taken into account.


Our Requirements management process

Requirements Traceability Matrix is the best way to cover all the aspects mentioned above. Here is how we do it at Enlight:

  1. Business objectives and project scope are defined.
  2. Based on the previous point, we clarify the goals of the Requirements Traceability Matrix with a client. Typically, these are:
    • To prove that compliance requirements for the product have been met.
    • To make sure that all requirements have been implemented, tested and passed before the product shipment.
    • To regularly report the project status.
  3. Based on these goals, we further define the artifacts to be included in the Requirements Traceability Matrix and set the relationships among them (forward and backward linking). The typical matrix should include:
    • Business Requirements
    • User Stories
    • Tasks
    • Tests
    • Test Results
    • Static Code Analysis Results
    • Issues/Bugs
  4. We set up a continuous integration pipeline to automatically create and link artifacts such as Test Results and Static Code Analysis Results.

Tools and Integration

Typically we use well-known tools, such as:

  • Jira - Requirements and Task management
  • TestLink and RTM Jira plugin - Requirement and Test management
  • Jenkins - Continuous integration

We integrate them to automate requirements’ traceability.

Related

By continuing to use this site you agree to our Privacy & Cookies Policy.