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.
Seeing the complexity
Kurt Sand, program director of systems strategy at IBM Rational, said traceability is an important part of the requirements-management process, and he added that modeling helps link up the requirements throughout the tools used in the development process.
Visual prototyping is also a feature in Serena’s requirements-management tool as part of the Serena Prototype Composer.
“Many teams have trouble visualizing how things will work,” David Hurwitz, vice president at Serena Software said, adding that the visual prototyping helps keep everyone on the same page.
Sky Basu, CEO of Kovair, said that is the biggest challenge development organizations face today: keeping everyone on the same page. He said Kovair’s requirements-management tool features network diagrams that trace the relationships between features and requirements. Additionally, the tool offers metrics that show a traceability hierarchy so that teams can understand why the decision was made to release certain features at a given time.
Diagrams and imagery of requirements help support an agile development methodology because they allow team members to have a strong understanding of the product they are building, and a strong understanding allows for an accelerated process, according to Eric Winquist, CEO of Jama Software.
Jama Contour, the company’s requirements-management tool, also has built-in diagrams, with rich text-based collaboration to help development teams create a full and complete picture.
Jama recently announced integration with Rally Software’s Agile Lifecycle Management Platform. The Jama Connector for Rally is available to provide integration between Contour and Rally’s suite. Contour allows teams to collaborate and visually showcase requirements in a way that clears up any possible issues with how a stakeholder wants a particular feature to be represented before the developers write a single line of code. Rally’s tool allows for integrations with other visual prototyping tools, including Balsamic and PowerPoint, but does not allow you to generate these images in the product itself.
Rally’s requirements-management tool does have other features that could benefit teams doing what is known as “Water-Scrum-Fall.” Rally, according to Todd Olson, the company’s vice president of products, allows teams to customize every aspect of the process.
“Some people don’t call requirements ‘requirements,’ some call them user stories or business deliverables. Rally lets you choose what name you’d like to use,” he said. “Rally also collects business requirements to help developers understand why features are rolled out and how they fit the needs of the business. Matching the business requirements to the development requirements helps developers understand how much effort to put into a particular requirement.”
Olson added that if a feature calls for an internal user interface, developers would understand that it needs less attention than a front-facing user interface.
Mike Jones, vice president of global marketing and agile evangelist at OutSystems, agreed that matching these two sets of requirements can help drive the business and, as Olson said, create better software.
“Model-driven development is killing code,” Jones said. “It has been around for a long time and automatically creates lines of code for a developer. Business process modeling [on the other hand] allows developers to model the application development process.” He added that by using business process modeling, requirements are turned into logical decisions made by the business, based on the needs and demands of the market.
OutSystems’ agile platform includes a drag-and-drop visual prototyping tool—similar to Jama’s visual prototyping—that allows developers to create different modules that can then be modified to leverage specific features or code enhancements.
Jones said the agile platform also allows teams to add new features to the requirements after delivering the critical features first, something that is a different process in every organization.
Handling the methods
Some organizations define all their requirements up front and then define another large set of requirements when changes need to be made. These teams can still follow an agile development methodology, although their requirements-gathering phase may seem a bit more waterfall, Jones explained. Other organizations constantly add requirements and features, a process that would also benefit from OutSystems’ agile platform’s abilities, he said.
Atlassian also believes in the quick addition of features and promotes this in its tools. Ken Olofsen, product manager for change management tool JIRA, said there is a strong market for requirements management, as well as an infusion of consumer market trends into the enterprise. These new feedback channels (from Facebook, Twitter and website comment forms) all help developers figure out what stakeholders, and in most cases end users, want from their product.
Atlassian’s requirements management is done in two tools: JIRA and Confluence. JIRA is the project-planning and tracking tool that allows development managers to track what team members are doing. Confluence has integrations for SharePoint and also allows teams to collaborate on a wiki system.
“Confluence is a free-form, rich wiki editor,” said Olofsen. “It allows for documents, images and design mock-ups. JIRA works tightly with software change management tools. The development team pulls tasks down [from requirements in Confluence] and links to code commits.”
Olofsen said smaller teams can use whiteboards and other lightweight tools, but most find that the traceability isn’t there with these products. Even if a team doesn’t have to record a development process for an official purpose, he said many teams want to be able to look back at processes to see where they can improve—and how they have improved—in the future.
Traceability is also important for teams looking to be more open about their development process as well as the features they are releasing in a given life cycle. Bill Shaw, manager of requirements management at IBM Rational, said that in the early days of requirements management, these feature-traceability reports were used to negotiate contracts and prove that the work paid for was the work delivered.
Now, he said, tools like IBM Rational Requirements Composer and IBM Rational DOORS help teams make formal and informal decisions about what requirements meet the business needs.
IBM Rational’s Sand added that these integrations between the Requirements Composer and IBM’s Rational project management suite, as well as integrations to third-party products, help teams communicate with one another through the tools they employ.
IBM’s Rational suite of products, according to Sand and Shaw, rely on the principle of the extended enterprise, which Shaw defined as the “customers, partners” and any other stakeholders who have an interest in what features are included in the release.
“We bring the ecosystem together so everyone can contribute,” Sand said, adding that anyone given access to the tool dashboard can vote on a given feature; voting can be closed within an enterprise or can be extended to the entire Web.
VersionOne’s tool, according to Holler, also operates on the premise that feedback from multiple channels is important to the requirements process.
In VersionOne, business requirements can be mapped all the way from the ideation phase to the voting done by customers and other stakeholders, he said. He added that agile development principles embrace the notion of allowing others who use and interact with the product to vote on how it looks and operates. Getting feedback quickly, he said, is also very important to a successful development process.
Darren Levy, CEO of GatherSpace, agreed with Holler, saying that the GatherSpace tool allows for customer feedback as well. GatherSpace is a cloud-based solution that allows for visual and document-based requirements. Requirements are also displayed in a tree that shows the hierarchy between each, much like the other tools mentioned in this report.
Road-mapping—from the executive level all the way to the development and testing level—is another trend experts in the space are noticing.
Holler said that allowing developers to view the C-level road map (or business initiatives, as they are often called) helps teams decipher what is important, much like Olson pointed out about Rally’s tool.
Keeping track of requirements, and making sure that the developers understand why each requirement is assigned to a given iteration, is the most important part of the agile requirements-management process because, as the experts said, it allows all on the development team to understand the business needs and, ultimately, build better software.