Complex software products, changes to those products, quick development schedules and the need to trace ideas to features are all factors in the growing need for automated, connected requirements-management tools.
Many requirements-management tools are integrated with bug-tracking tools, project management tools and testing tools. Additionally, some software tool providers are including visual prototyping—either as a standalone tool or integration to an outside tool—to these requirements-management tools.
Robert Holler, president, director and CEO of VersionOne, said the biggest change in gathering requirements is that it is no longer a separate process.
Each team has a unique development process and unique needs, according to the experts. Some teams may follow agile on a particular project, while another team will follow a waterfall method on the exact same project. Many of the software tools available today support all methodologies, as it is hard for teams to lock themselves into one or the other.
“Ten to 15 years ago, there was a [software] solution for each phase of the [development] process, and that was fine because the process was very separate. Now, everything happens together. Virtually every day you’re breaking things down and [because it moves so quickly], context is very important,” Holler said.
Tools for gathering and maintaining requirements vary from the very simple, like a Microsoft Word document, to the complex, like IBM’s Rational Suite. Many of the software solutions available today include some sort of document repository, or rich text interface, to capture text-based requirements. More and more requirements-management tools are also including a way for developers and software architects to visually model the systems and components.
“Some cars, for example, contain 100 million lines of code,” said Matt Klassen, solutions director for MKS Integrity (a product from life-cycle management software tools company PTC), as an example of why modeling requirements helps.
As systems continue to be more and more complex, he said teams will have to do more component-based models to break down the product systems and allow for an understanding of the product. MKS’ Integrity software provides system model management and integrates with several SysML-based architecture modeling programs.