Requirements exist in all organizations, and it is critical that every organization undertakes an iterative set of activities to ensure that requirements are properly managed. There are a number of tools available to aid with requirements management. In this paper, we will examine the category as a whole, including advantages and disadvantages, application to agile development, leading vendors and how this software supports the phases of the software development lifecycle.
Business processes can be decomposed into individual requirements, each of which are a capability needed by a stakeholder to deliver a product or service. According to the 2004 CHAOS Report, three of the top five reasons project fail are related to requirements – users are not involved enough in requirements definition, requirements are incomplete, and rapidly changing requirements are not managed effectively (Coventry, 2015). Thus we see a need for requirements management tools to decrease risk associated with projects while enabling effective scope management.
Requirements management tools can help with tasks such as storing requirement attributes, traceability and automated updated versioning. It’s important to be able to control access to requirements in order to prevent unauthorized changes (Coventry, 2015). Requirement management tools are also valuable in that they help us monitor the state of each requirement or groups of requirements, while providing multiple views of requirement groups based on their attribute values.
Some requirements management tools allow you to publish the requirements in a document or as browser-based content. This allows flexibility and integration in relation to how requirements are communicated to stakeholders. Overall, this key is to have a robust requirements management plan in place first before implementing it through the selected tool.
Requirements management tools can be used throughout the Systems Development Lifecycle. Of course, some tools are more complete than others when it comes to supporting the whole cycle. Therefore, as an example we will reference the capabilities of Confluence, by Atlassian, since it encapsulates each stage of the SDLC. Confluence is a requirements management tool used for capturing and sharing information. It provides many useful templates, such as those for decision making (Atlassian, 2020).
For Project Identification and Selection, a decision template can be used. This decision template can be used to record each direction the team has considered, including the pros and cons for future reference. The project identification and selection stage involves identifying potential projects, classifying and ranking them and selecting projects. A decision template can be used to facilitate this through assigning responsibility to an ultimate approver who ensures that the decision gets made.
For Project Initiation and Planning, a project plan template, included in the requirements management tool, can be utilized. This is useful for mapping out project logistics ahead of time. A project plan template is important in this stage of the SDLC for entering project stakeholders, project objective, scope, milestones and deadlines and reference materials. Such a template can be used to manage such project details while keeping stakeholders in the loop along the way.
The analysis stage of the SDLC is where requirements management tools really shine, because there we gather business requirements. Most solutions incorporate a requirements traceability matrix. In JIRA, another tool, you can choose among various types of requirements including functional, non-functional, UI, and business requirements and display the ones you want to focus on at any given time (Kornaga, 2019). In SpiraTeam, visual tools such as planning boards and GANTT charts can be used in the requirements development process. Moreover, most requirement management tools offer support for real-time collaboration and feedback during requirements validation (Inflectra, 2020).
For the design phase of the SDLC, the decision is normally to buy or build. After originally opting to use a third-party requirements management tool, most organizations will continue down the ‘buy’ path with additional software. Requirements management tools will usually list their recommendations for related project software that can be easily integrated with the particular tool.
In the implementation phase, the primary activities are coding/configuration, testing, installation, documentation, training and support. Using Confluence as an example, they provide a setup guide with product installation to install the tool with an external database. Confluence uses JIRA for Test Case Management, and free tutorials as a way to train teams at scale (Atlassian, 2020). Most requirements management tools also include maintenance as part of the package, and will provide updates for any new features.
Agile methodologies are typically designed with changing requirements in mind, and requirement management tools can be used to cater to such a flexible approach. According to Inflectra (2020), one of the myths surrounding agile methodologies is that you don’t need to perform requirements management since customer input will be continuously provided. Moreover, the scope and plan for the project is adjusted at the end of each iteration/sprint. Requirements management is quite often associated with the waterfall model. However, requirements management is still crucial with agile development because although the plan may be adjusted, the same types of requirements will need to be gathered, analyzed and documented even if the timing changes.
Agile methodologies have a slightly different approach to requirements management – rather than writing detailed requirements, we see the practice of writing user stories. Whereas a traditional requirement focuses on functionality – what the product should do, a user story focuses on the experience, what the person using the product wants to be able to do. A user story is usually a single sentence scenario that captures who the user is, what they want and why.
Certain software tools such as SpiraTeam (mentioned above) have been designed for agile/iterative methodologies. SpiraTeam features a Scrum/Kanban agile planning board for managing user stories, features, acceptance tests, tasks and incidents (Inflectra, 2020).
Kanban is a popular framework used to implement agile software development. It has in fact been described as the most flexible agile project management method (Kanbanize, 2020). A Kanban board is a tool used to visualise work and optimise the flow of work around a team. Kanban offers planning flexibility as Kanban team is only focused on work that’s actively in progress. Once the team completes a work item, they select the next work item off the top of the backlog (Radigan, 2020).
What is the difference between Scrum and Kanban planning boards? There are a few key differences. Scrum sprints have start and stop dates whereas Kanban is an ongoing process. While both Kanban and Scrum are popular agile frameworks, a scrum board has a set number of tasks and a strict deadline to complete them. In contrast, Kanban boards are more flexible regarding tasks and timing, since tasks can be reprioritized, reassigned or updated as needed. (Rehkopf, 2020).
SpiraTeam has customizable workflows where requirements can be categorized into different types. This functionality allows you to define different rules, permissions and operations for each type. With this tool you can also manage requirements traceability by mapping each requirement to one or more test cases that validates that the functionality works as expected. It is important that requirements are written and managed in a system that facilitates real time collaboration (Inflectra, 2020). SpiraTeam includes an integrated instant messenger that allows users to collaborate and communicate in real-time regardless of geographic location. It also has the capability of creating detailed requirements documentation and traceability matrices on demand.
We also previously mentioned Confluence as a requirements management tool, and it is one that is particularly suited to agile methodologies. Confluence provides a product requirements blueprint that provides best practices for what content to include. With Confluence, a table can be used to list out user stories, along with description, priority and notes to link more detailed research.
As a team understands the problem to solve, they often have questions. Confluence enables the creation of a table with “things we need to decide or research” to track these items (Caldwell, 2015). In this way, the team is able to stay focused while flagging out-of-scope items for later consideration. Confluence is typically used in conjunction with JIRA, an issue and project tracking software (Caldwell, 2015). Due to the seamless integration between Confluence and JIRA, you can track your requirements in JIRA and link it to your corresponding project documentation in Confluence.
According to Radigan (2020), agile requirements depend on a shared understanding of the customer that is shared between the product owner, designer and the development team. When a requirements document is created and the details are all in one place, it makes it a lot easier for development and design to provide immediate feedback and input. With this set up, you can iterate quickly and implement work right away.
Based on a compilation of industry analysis, it seems that the top three products/vendors for requirements management software are Visure Requirements, Jama Connect and JIRA. JIRA by Atlassian, is the number one tool software development tool used by agile teams. It can be implemented with Confluence to create a powerful requirements management tool.
Visure Solutions is a leading vendor that provides the application management tool, Visure Requirements. Visure Requirements has a large number of integrations so you can keep your requirements document in sync with other tools and collaborate with teams. Key features include traceability, role based access controls and reporting (Bartlett, 2019).
Jama Connect is a product development platform by Jama Software for requirements, test and risk management. It allows you to assign and run tests that are directly associated with requirements and features, which helps ensure good test coverage. This solution also includes other useful features such as feedback tracking and voting, and custom reports (Bartlett, 2019).
As of today, there is no official Gartner Magic Quadrant for the specific category of requirements management tools, however, Gartner’s 2015 Magic Quadrant for Application Development Life Cycle Management features a couple of the requirements management tools and vendors we’ve discussed thus far. Atlassian was identified by Gartner as a leader, as we also have highlighted with regards to their JIRA software.
Requirements management tools can enhance the clarity of requirements to enable more successful software projects. Ultimately, they can prevent project failure, detect errors early, and reduce miscommunication. Here are some particular advantages of requirements management tools:
Automatically generate documents – a requirements workbench facilities the automatic generation of documents from information in the requirements model. This saves time on the mechanical tasks of producing and maintaining a requirements document.
Traceability – Traceability is a critical part of the review process, because when reviewing requirements, it’s important to be able to relate them to the original business need. Requirements software exposes this traceability both during requirements authoring tasks and during the simulations used for analysis and review (Higgins, n.d.).
Easily Manage Changing Requirements – One of the most common reasons for project failure we identified earlier was the struggle in managing rapidly changing requirements. Most requirements management software employ versioning, auditing and difference views to help manage change. All changes to requirements are tracked so that you can review their revision history. Moreover historical data detailing who changed what, and when is recorded. Many times you can also see side by side versions of two requirement artifacts that have been changed (Higgins, n.d.).
Each requirements management tool will have differing features and therefore differing disadvantages.
On-Premise - Some tools, like Accompa, do not offer an on-premise version. An on-premise version would allow the software to be installed and run on the company’s own servers on their own IT network (Accompa, 2020). However, this is not a major issue because nowadays more and more companies are embracing cloud software.
Cost – Requirements management tools can be expensive, of course depending also on the number of user licenses you need. Most of the particularly costly options claim that they offer high quality service and excellent customer service that compensates for the expense. It’s also important to factor in the cost and time associated with training users on a requirements management system.
Browser Support – Some requirements management tools, like Blueprint, may involve difficulty within certain browsers. For example, there have been cases where while rearranging the hierarchy, the system would encounter an error, and work would be lost after refreshing a page (Coyle, 2019). This can be a small yet inconvenient aspect of such tools.
For certain types of projects and systems, a requirements management tool may be advisable. Technically, for a very basic requirements management process, you might simply use a spreadsheet or a word document template to fill in your requirements document. Sometimes excel or google sheets work just fine, especially for a small business. However, with more complicated and larger enterprise systems, it’s generally better to purchase software as a requirements management tool.
With MS Office, manual tracking of changes can be tedious, and when such a task is spread across teams there is a possibility that a different version may be tracked at different places. Moreover, large-scale enterprises would generally do better with a flexible solution that offers a high degree of granularity and configurability.
In conclusion, it is evident that requirement management tools play a vital role in the project management process. Effective requirements management requires that team members collaborate across the product lifecycle to define and modify requirements, track requirements status and quality, and work concurrently as a team on the same requirements.
When selecting a requirements management tool, each organization should conduct extensive research so as to pick a solution that fits the organization’s size and needs. Consideration should be given to how the requirements management tool may be integrated with other application development lifecycle management tools in use, such as test case management and agile planning. Also, the tool chosen should support regulatory and reporting needs for compliance with both internal and external governance processes. By utilizing an appropriate requirements management tool, organizations can improve communication, deliver greater benefit to stakeholders and heighten overall business benefit.
Accompa. (2020). Our weaknesses. https://web.accompa.com/weaknesses/
Atlassian. (2020). Software Development/ IT Templates https://www.atlassian.com/software/confluence/templates/categories/software-development
Bartlett, J. (2019). Top requirements management tools list. TestLodge. https://blog.testlodge.com/requirements-management-tools-list/
Caldwell, T. (2015). How to document product requirements in Confluence. Atlassian. https://confluence.atlassian.com/doc/blog/2015/08/how-to-document-product-requirements-in-confluence
Coventry, T. (2015). Requirements management – planning for success. Project Management Institute. https://www.pmi.org/learning/library/requirements-management-planning-for-success-9669
Coyle, A. (2019). Requirements Management Tool Review – Blueprint. Seilevel. https://seilevel.com/requirements/requirements-management-tool-review-blueprint
Higgins. (n.d.). 5 Benefits of Requirements Management Software. Business Analyst Learnings. https://businessanalystlearnings.com/technology-matters/2013/8/12/5-benefits-of-requirements-management-software
Inflectra. (2020). What is requirements management. https://www.inflectra.com/spirateam/highlights/understanding-requirements-management-tools.aspx
Kanbanize. (2020). Kanban planning – killing the Gantt Chart. https://kanbanize.com/kanban-resources/kanban-software/what-is-kanban-planning/
Kornaga, K. (2019). Requirments traceability matrix is not only for requirements. https://deviniti.com/atlassian/requirements-traceability-matrix-jira/
Radigan, D. (2020). Kanban. Atlassian. https://www.atlassian.com/agile/kanban
Radigan, D. (2020). Product requirements documents, downsized. Atlassian. https://www.atlassian.com/agile/product-management/requirements
Rehkopf, M. (2020). Learn how to create agile
boards in Jira software. Atlassian. https://www.atlassian.com/agile/tutorials/creating-your-agile-board
Aug 03, 20 03:40 PM
Here are the best editing courses to help you create high-quality videos and advance from newbie to professional filmaker.
Jul 26, 20 11:55 PM
Let's explore ways to challenge yourself for personal development. The challenges below will expand your mental and physical limits...
Jul 22, 20 06:00 PM
Here is a list of the best audiobooks for kids to help you discover great stories to entertain and inspire your little ones.
If you can see this, please share this post with the buttons below :)