Requirements management: 6 best practices

Updated on June 10th, 2021

Even if you launch your project with a complete set of requirements, expect changes to crop up once the project is up and running. Depending on which project management model you choose, requirements management after you start can be quite costly and time-consuming. That’s why you need a continuous requirements management process, which helps you control costs and avoid scope creep, ensuring end-to-end traceability.

Jira Software is a good tool to use as a Test Case Management. Depending on your testing needs, you can easily configure its components for your project. Furthermore, it integrates with several applications like RTM for Jira. A smart requirements management system also ensures that when changes occur, you are ready to manage them flexibly, without losing your focus on delivering the desired capabilities efficiently. Here are 6 best practices to help you with that.

Elicit requirements specification from multiple sources

Your first step is requirements collection. Remember to include all relevant sources such as new and seasoned users, managers, business analysts, and other stakeholders. Focus on operational users; they provide key functional requirements for system performance and user interface. Prioritizing this group ensures your product or service addresses real customer issues effectively.

How to get requirements from users?

  • Look at users’ informal narratives – requirements may appear in them explicitly or indirectly.
  • Capture user responses to targeted questions.
  • Hold brainstorming sessions with managers who communicate with users.
  • Take a closer look at the user environment.
  • Learn more about users, such as their regular product tasks, workflows, task sequences, internal rules, potential issues, and interactions with others.

Organize and prioritize requirements

Categorizing a long list of requirements can be a daunting task. As your project matures, you must document requirement attributes and maintain up-to-date information to ensure traceability during testing and verification.By organizing and prioritizing your requirements, you will enable your team to identify what’s missing, contradictory, or duplicated. A well-structured set of requirements simplifies action identification during test management. This includes the assignment of related test cases. These processes are interconnected, and successful execution ensures project goal attainment.

To prioritize requirements, ask stakeholders to assign a priority to each requirement you collected from them. Naturally, stakeholders may differ in opinion about which one is critical, desirable, mandatory, or optional. Defining priorities collaboratively with stakeholders can be challenging. It’s best to start this process early in the project. One of the best ways to easily see the assigned priorities and dependencies between requirements is organizing them hierarchically into a tree-view structure.

Requirements, Tree of folders on the left hand side. On the right hand side New Requirement Details, type of request UI Requirement.

By organizing and prioritizing your requirements, you will enable your team to identify missing, contradictory, or duplicate ones

Make sure all stakeholders are in agreement

Once you collect your requirements, it’s a good idea to hold a special meeting where you review them with stakeholders. Make sure to include project team members if you can. Sometimes last-minute changes may arise during this meeting, and that’s when it’s critical to reach consensus among all stakeholders. 

You need to be flexible throughout the application lifecycle to ensure that development and implementation of the system don’t just blindly aim to meet a broad set of requirements, whereas you could reduce costs or provide an earlier delivery. That’s why you need to prioritize requirements correctly.

All that remains is gathering requirements for final approval – this document will guide the project’s future. If you have experienced individuals in requirements management who can distinguish good requirements from bad ones, ask them to review your specifications.

In general, aim for requirements that are uniquely identified, consistent throughout the project, complete, easy to test, fully traceable, attainable by your team, and verifiable by the stakeholders. If you spot a requirement that doesn’t meet these standards, modify or delete it.

Explore Requirements and Test Management for Jira

Enhance Jira with RTM for Jira: Streamline test management, centralize data, and monitor actions efficiently.

Prepare requirements for validation

It’s common to ask stakeholders to review documentation that includes requirements they supplied once in a while. You should provide them with all the help for interpreting requirements. Be prepared also to offer a description of outcomes when these requirements are implemented.

Depending on your workflow, you can give stakeholders explanations in different forms, including activity diagrams, workflow models, or flowcharts. It’s also smart to prepare a tree-structured view with folders and subfolders with your requirements for validation. That way you will build a limited functioning context where users can try different alternatives before assessing the requirements. Additionally, that kind of organization will show stakeholders clearly how specific requirements represent their objectives and whether they are consistent with the overall goals of the project. For the same reason, it’s equally important to show all the relations between objects and issues in a transparent way.

Tree-structured view show stakeholders clearly how specific requirements represent their objectives and whether they are consistent with the overall project goals. Requirements, Tree of folders on the left hand side. On the right hand side RTM-25 User localization, relations, Direct relations and links, button "create link"

Tree-structured view show stakeholders clearly how specific requirements represent their objectives and whether they are consistent with the overall project goals

Invest in change impact analysis

The impact analysis is very important for the project. It helps you make business decisions and makes them the best for the moment. The impact analysis consists of an awareness that reducing the performance of a given product may be perceived negatively by its users. It is also crucial to know how much time and capacity it will take to implement the change. And in case of it, you must present documents or files that may need to be modified.

Naturally, as you add new requirements and alter or discard the existing ones, the requirements of the system will change as well. Teams need a solid requirements versioning practice to control these changes and implement a well-organized further action plan, including test management, and by that minimize the risk of misunderstandings between stakeholders.

Use smart requirements management tools

Confluence for requirements management

Collecting and documenting requirements is most efficient with the help of the right tool. If your development team uses Jira, there’s no reason why you shouldn’t try out its potential as a requirements management software. Even though it was designed as a tool for the issue and project tracking, Jira combined with another Atlassian product, Confluence, can become the right tool for the job, as proved by worldwide experts like Tarun Sapra.

 You can use Confluence for general requirements gathering and project discussion on particular pages. Thanks to Confluence and Jira integration, you can create development issues directly from these requirements pages. That way, your team will be able to view requirements together with corresponding Jira tasks. Developers can use the wiki platform to view or edit the requirements, ensuring that all stakeholders stay up to speed. Confluence also ships with a Blueprint template to help teams in writing down requirements.

A product requirements page in Confluence

A product requirements page in Confluence. Source: Atlassian Documentation

Requirements management in Jira

Tree-structured view

You can also customize your Jira instance with dedicated apps for modern requirements management, such as Requirements and Test Management for Jira (RTM)This smart tool supports documenting, linking, and tracking requirements as well as executing your whole testing process right inside Jira. RTM emphasizes gathering requirements equally with defining test cases. It offers a transparent tree-like view for collecting requirements with seamless Jira integration for linking to Epics, user stories, and easy searching.The well-known interface makes it possible to start working with Requirements and Test Management without any additional training.

Detailed descriptions make it easier for all team members to understand the context of specific requirements.

Detailed descriptions make it easier for all team members to understand the context of  specific requirements

Reports

Requirements management relies also on verifying their implementation in the development and testing process, and nothing can help you with this as much as reporting your actions and presenting conclusions. RTM has two features that basically create ready-to-export reports for you:

  • Traceability Matrix allows to track relations between any two baselined types of requirements, using many-to-many relationship comparison. Using JQL, we can define which issue types we’d like to see on the X and Y axes of our matrix.
Traceability Matrix allows to track relations between two types of requirements screen view

Traceability Matrix allows to track relations between two types of requirements

  • Requirement Coverage shows if Requirements are well covered by Test Cases, Test Plans, Test Executions, Test Case Executions, and Defects. We can filter displayed elements by Project, Issue type, Fix version, Component, RTM Environment, and Assignee, or choose only covered or uncovered ones. It’s also possible to select the fields to be included in the report on the Configuration Issue Card after clicking the Preferences icon. 
Requirements Coverage report allows to make sure if all requirements are covered by other test objects

Requirements Coverage report allows making sure if all requirements are covered by other test objects

All in all, defining requirements is an important stage for every project. However, the convenience of your working process depends on the source that you choose to elicit requirements.

Dzmitry Hryb

Dzmitry is a Marketing Manager at Deviniti. For the last couple of years, he's been on the mission to help people make the best use of Jira Software and Jira Service Management at work by creating guides and tutorials for Atlassian users all around the globe. He received the Atlassian Community Content Awards three times in 2018. He spends the rest of his time winning pool tournaments, producing music, biking around, and playing with his two cats.

More from this author