Lost in translation: Requirements management tools can bridge communications gaps

Poor communication about user requirements can doom a software development project. But there are tools to make the discussion more organized and successful.

Kim Wetten, lead process specialist at PHH Mortgage Corp., knows how difficult managing application requirements can be. Before 2002 — when the Mt. Laurel, N.J.-based company invested in a major overhaul of its application development processes — the requirements management process was manual.

“We used Word documents; there was no automation, no traceability, no tying back to defects,” says Wetten. For a large project, where new requirements might touch as many as 20 systems, business analysts would struggle with versioning as they tried to share and update documents comprising hundreds of pages.

“If you remembered to write things you changed at the beginning of the document, then you had a good track record. But you’re making mass updates — you don’t remember to write everything down. Developers would constantly have the wrong version, so they’d be developing outdated software,” Wetten says.

PHH’s experience mirrors that of companies in many industries: Managing the requirements that govern the development of applications — particularly those that touch numerous enterprise systems and stakeholders — has long been a trouble spot in the application life cycle.

“Defects in requirements are the source of the majority of defects that are identified during testing, and problems with requirements are among the top causes of project failure,” according to a recent report by Forrester Research Inc.

Even conservative estimates make it clear that requirements errors are responsible for a big chunk of rework expenses. The inability of business users to articulate their needs, IT’s lack of business savvy, and an overreliance on Word documents and spreadsheets are major contributors to these errors.

Because of the cost of rework, more organizations are buying software that streamlines and automates the requirements definition and management proc¿ess. Not only do these tools allow for real-time collaboration, but they’re also becoming increasingly instrumental in producing better-quality applications, thanks to integration with software configuration management, change management, quality assurance and testing tools.

The Problems

•  Incomplete, misunderstood or misarticulated requirements•  Missed or un¿known requirements•  Poorly managed requirements changes•  Ignorance of the downstream impact of a requirements change

Source: Forrester Research Inc.

Requirements management offerings are available from the large application development tools vendors, including Borland Software Corp.,Compuware Corp., IBM Rational, Serena Software Inc. and Telelogic AB, as well as numerous smaller vendors. These tools typically handle requirements definition and change functions, from eliciting the needs of end users to the analysis, validation and ongoing management of requirements.

In 2002, following a close examination of its requirements management processes, PHH bought Borland’s application development tools suite, including its Caliber RM tool. Wetten says that after a “fairly large ramp-up” in getting analysts and developers up to speed on the new tools and revamped processes, PHH has significantly improved visibility into its requirements.

“We wanted to get away from the whole document-based approach,” says Wetten. “We chose Caliber because it has an object-based approach, allowing us to mix and match requirements for individual entities. By treating individual requirements as individual entities, you only need to get sign-off on the change, not a whole document, when a requirement changes.”

The IT department is in the process of building a Web interface so business analysts can use Caliber’s traceability capabilities to determine whether a requirements change is worth the cost involved, says Ed Briggs, team lead. “If we’re very late in the development cycle, we’ll be able to accurately assess the impact of pulling something out or delaying into a future release,” he says.

Bally Technologies Inc. makes video and slot machines for the gaming industry and is expanding into software for casino management. The Las Vegas-based company’s need for tight integration between its requirements, programming and testing processes was a key driver in its recent investment in application life-cycle management tools, according to Ron Beck, director of software development. As part of the ramp-up of a new software development division, Beck purchased Serena’s RM, TeamTrack and Composer tools, which he says are closely integrated with other tools he purchased, including Microsoft Corp.’s Visual Studio 2005 and Mercury Interactive Corp.’s test tools.

“It was important that we had an integrated suite of tools that can handle everything in our development proc¿ess, from visual modeling upfront, to change management, to requirements management, to source-code control, to test plans,” says Beck. “If I need a snapshot at any given point, I can go to one place to see configurations, requirements and test plans.”

Two Distinct Steps

1. Requirements definition: Getting an accurate and complete description of what the business wants the system to do.

Tips for Success:

•  Balance business and IT involvement. Avoid either too little or too much business involvement (e.g., dictating a solution).

•  Recognize that text isn't always the best medium.•  Get proper training for business analysts, the linchpins of the requirements definition process.

2. Requirements management: Managing the user requirements - and any changes - throughout the life cycle of the development project.

How to pick the right tools:

•  Avoid tools that are too complex for the size or type of your project, or you'll have shelfware.

•  Ensure that end users are comfortable with the tool.•  Adopt tools with an eye toward integration with other parts of the sofware life cycle, especially with testing tools.

Beck’s team is building an enterprise accounting system for casino customers and has thus far modeled the application, generated usage cases, technical assessments and test plans, and entered those into its Serena RM system. Because TeamTrack interfaces with Visual Studio, says Beck, “we can manage the code, manage the revisions [and] do automatic building.”

At Madison Capital Management LLC in New York, requirements management has been eased by storing all requirements in a single repository, says Russell Schroeder, vice president of software development. Madison uses requirements management and development tools from Boulder, Colo.-based Rally Software Development Corp. The tools adhere to agile development methodology, so Madison can, for example, make more frequent updates to its MarketPlace application, which handles fund, contact and contract management, says Schroeder.

The process of defining and gathering requirements has been improved as well, he says. “The tools allow you to do use cases, creating stories between actors and systems to see how processes will play out,” says Schroeder. “That way, there’s no question about how processes should work: If a user does this, this is how the system will react.”

Define, Then Design

Like Madison Capital, more companies are taking a hard look at the requirements definition phase of their development cycle, where, if they can improve processes, they stand to reduce rework.

“Requirements management tools ensure you don’t miss changes to requirements, but they’re only as good as the requirements [that were defined] in the first place,” says Forrester analyst Carey Schwaber.

This need for better-defined requirements has not only resulted in the integration of definition tools within application life-cycle management suites, but it has also given rise to a new crop of simulation, prototyping and other visualization tools that enable business analysts and developers to map processes, user interfaces, system integrations and other application components.

Defining an accurate set of user requirements is important whether you’re building applications or buying them, says Jay Slaughter, manager of business analysis and application projects at Atlanta-based SavaSeniorCare LLC, which operates about 180 senior-care facilities throughout the U.S.

Slaughter, who is in charge of ensuring communication between administrative executives in Atlanta and an IT group in Houston, is using Detroit-based Compuware’s Optimal Trace for the requirements definition process. The tool is helping define requirements for a new CRM project as the company begins to focus more resources on sales and marketing. Slaughter says he’s working with stakeholders to define requirements for the project prior to meeting with CRM application vendors.

“I use Optimal Trace even when we’re not developing in-house,” he says, “because the process — the initiation, the requirements definition, the business process modeling — should be consistent.”

Gilhooly is a freelance writer in Falmouth, Maine. You can reach her at kymg@maine.rr.com.

Copyright © 2006 IDG Communications, Inc.

It’s time to break the ChatGPT habit
Shop Tech Products at Amazon