Organizations are collaborating online as never before to create and manage requirements for applications, especially because the right software tools needed are available and pervasive. The Internet has closed communication gaps, even between globally distributed stakeholders. The ability to instantly review, comment and refine requirements across organizational boundaries has enhanced their collaborative management.
Agile application lifecycle management (ALM) has only accelerated the adoption of such tools given the dynamic nature of requirements when folded into quick sprints and stories. Features like traceability are needed for keeping track of related requirements, those that did not make it into a planned sprint but needing to be slated for future ones.
Requirements management varies from one organization to the next just because requirements are captured in different ways. Customizability of requirement capture formats is essential for accommodating this.
For large software projects, workflow processes may be needed to manage the creation, review, refinement, approval and scheduling of requirements into releases or sprints. Seamless integration of the requirements management tool with email, and optionally, instant messaging or mobile apps may be needed to make these workflow processes progress smoothly.
Requirements may need to be converted into document formats like Microsoft Word or they may need to be imported from documents, spreadsheets and email messages. Requirements Import/Export features are needed of these collaborative requirements management tools.
An automatic test case generation capability also goes a long way in doing requirements management in an effective and efficient way. Some software tools for requirements management provide the capability of expressing requirements in formats that can automatically generate test cases.
Reporting features that present requirements generated, approved and scheduled with graphs, charts and dashboards are important in a collaborative requirements management tool. They provide an easy way to keep track of progress, especially when doing Agile sprints.
There are a number of commercial and open source requirements management software tools that have some or all of the above features.
Commercial software tools for collaborative requirements management
A representative sample of commercial software tools for collaborative requirements management is presented here (in no particular order).
- Jama: Jama Contour is a browser-based, hosted, on-premises (on your own servers, not a hosted offering) requirements management collaborative tool built especially for Agile development. Their features are grouped under four major categories – Capture (centralized storage of requirements), Connect (traceability and impact analysis), Control (version history, change requests and audit tracking), and Collaborate (changes communicated by email to all involved). Jama Contour seems to be a comprehensive tool.
- Polarion: Polarion Requirements Management is one of the tools in their application lifecycle management suite. It is licensed software that can be installed on your own servers but has a browser interface internally within your organization. You can import your Microsoft Word requirements documents into Polarion. It automatically breaks down chapters into numbered requirements. You can attach test case definitions to each requirement – what should be tested for that requirement, what qualifies as a defect, and pass or fail criteria.
- Workspace.com: Workspace.com is a hosted application lifecycle management suite where requirements management is one of the modules. It has customization of methodology used - Agile say, or you can customize the tool for your own methodology. It has traceability, test case generation, and audit history for tracking changes to requirements.
- Kovair: Kovair ALM Studio is a suite of integrated application lifecycle management modules of which requirements management is one. This is available as on-premises software running on your own servers or you can sign up for their own hosted cloud version. Importing requirements can be done from Microsoft Word, spreadsheets, email messages or other document formats using their integration bus. Kovair has a process flow engine where you can design a process for creating, reviewing, and approving requirements and then implement it. Requirements created then automatically follow this process flow and gets scheduled into releases and sprints.
- TraceCloud: TraceCloud is simpler, easier to use and somewhat minimalist compared to some of the other feature heavy tools and is a Software as a Service (SaaS) offering. For projects where the requirements are not huge or interrelated, TraceCloud provides almost all of the features that a reasonable requirements management solution should. It does not have a heavy footprint and so may be a good first tool to start with, rather than be overwhelmed with a more complex one.
Open source software tools for collaborative requirements management
Compared to commercial software tools, there are fewer open source tools. Here they are:
- Open Source Requirements Management Tool (OSRMT) - Open Source Requirements Management Tool (OSRMT) is a popular, open source option for those looking to manage their requirements collaboratively. OSRMT has been around for a few years and may lack many of the necessary features that commercial tools have but there is the trade-off in the open source price tag.
- GoogleDocs – GoogleDocs is currently being used by a large number of software development teams around the globe for central storage and management of requirements.What it lacks in specific requirements management abilities, it makes up for in its wide usage. Given the number of people that have Google accounts, using Google Docs becomes a viable open source option considering that it is also paired with Google Mail.
Requirements management is best done collaboratively, simply for the reason that most software projects have many stakeholders, possibly geographically distributed. The rise of the Internet and browser-based interfaces has made possible the collection, review, refinement, scheduling and test case generation from requirements easier. Traceability and compatibility with many kinds of sources for requirements – documents, email and spreadsheets – have added to the attractiveness of these software tools for proper requirements management in the application lifecycle.
Follow us on Twitter at @SoftwareTestTT and let us know what you thought of this article.