Welcome Guest. | Log In| Register | Membership Benefits

InformationWeek.com January 8, 2001
Printer ready
Printer ready

Get It Right The First Time

Improved requirements management is vital to the success of software development projects

By Tom Farre

Illustration by Campbell Laird
More on project management:

  • sidebar:Two Approaches To Managing Requirements

  • Online Project Management Planned (10/16/00)

  • InternetWeek: Project Collaboration (11/13/00)

  • EETimes: Tool manages complex DSP design (10/23/00)


  • Send Us Your Feedback
    M ore than half the IT development projects undertaken in the United States come in late and over budget, says a recent research study. Those projects also come in with fewer features and functions than originally specified, and nearly a third are canceled during development, according to the Standish Group's Chaos report, an ongoing research study of software development projects in the United States. The report cites lack of user input, incomplete or changing requirements and specifications, and unclear business objectives as the major factors challenging software developers.

    Quality software must conform to user requirements, yet faulty or incomplete requirements management is a major cause of software project failure.

    Karl Wiegers, principal consultant at Process Impact, a software-process consulting firm, points to inadequate customer involvement, vague and ambiguous requirements, and building functionality that no one uses as pitfalls that plague software projects. Scope creep, a project's expansion beyond the initial requirements, also is a concern. This usually occurs when requirements are missed the first time or classes of users are overlooked. Other trouble areas include an inadequate process for changing requirements and insufficient analysis of the impact of changes. A common problem is version control of the software requirements specification, usually a voluminous document referenced by everyone on the project.

    "Typically, you gather requirements by holding a series of meetings, perform a requirements review, and pass those requirements in Word or Excel to the developers. Over time, because of the burden of managing requirements, often the requirements get out of date, and this results in miscommunication," says Richard Washington, CIO of Smart Online Inc. in Research Triangle Park, N.C., a firm that develops Web-delivered applications for small and midsize businesses. "You first realize the problem during quality assurance, which incurs the greatest cost in resolving requirements issues because the code is done and you're under pressure to ship."

    It's clear that software project success hinges on successful requirements management, but only 5% to 15% of IT shops that could benefit are using an automated requirements-management tool, experts say. A kind of groupware for software development, the product category includes Rational Software's RequisitePro, the market-share leader, Telelogic's Doors/ERS, Caliber-RM from Technology Builders, and Integrated Chipware's RTM Workshop. Though differing in some respects, these products all provide a collaborative platform and toolset for helping marketing staff, project leaders, and analysts elicit user input on software requirements; create a documentlike software requirements specification with database underpinnings; manage requirements implementation, changes, and testing throughout the software life cycle; and communicate working requirements and project status to the entire development team.

    Richard WashingtonPhoto by Jim Bounds The limited popularity of such software may be rooted in the history of requirements management, when in decades past "requirements engineers" could spend years trying to discover every possible system requirement before beginning development, then complete each phase of the project before beginning the next. This waterfall approach has proved wanting, because developers inevitably discovered that things didn't work as they were supposed to, requirements would change, and previous work would have to be redone, leading to delays and cost overruns. Most software development today is more iterative--developers repeat the entire process several times before the software is released, reducing risk because the high-risk features are implemented first. Some developers are finding that an automated, collaborative tool is essential to managing the constantly evolving requirements in iterative development.

    One example comes from Complete Business Solutions Inc., a systems integrator in Farmington Hills, Mich., that offers an application development service, including 1,500 developers in India who handle low-level software design, coding, and unit testing. On a current scientific application, the customer receives progressive iterations every two weeks for one year.

    Ken SpiegelPhoto by Tom Salyer "When we say we're done, there are no surprises, since the customer has been reviewing the software so frequently," says Ken Spiegel, director of quality assurance. "This pace of iterative development wouldn't be possible without a requirements-management tool." The tool's Web-based groupware functionality also facilitates the high level of collaboration needed in global and outsourced development projects, where coders, marketing staff, project managers, and users may be dispersed around the world.

    Another reason for the tools' low acceptance may stem from the perception that they're unnecessary overhead. "Requirements management appears to be spending a lot of time writing documentation before anything is built," says Telelogic's Paul Raymond, a product manager for Doors/ERS. Some software engineers also have represented themselves as artists not to be interfered with, resentful of anyone trying to impose structure on the process. But with today's E-businesses needing to get critical projects out the door at Internet speed, software needs to be developed faster and it must be able to be changed very quickly.

    The structure imposed by a requirements-management tool may add time to the initial development cycle, but once the investment in time is made, each subsequent iteration can be developed faster by leveraging the underlying documentation of requirements. "In E-business, the first company past the post may appear to be the winner, but once you're past the post, you need to continue to compete and continue to change," Raymond says. "Longevity means being able to cope with rapid change throughout the development process, and requirements-management software lets you do that."

    This certainly has been the case at Cygent Inc., a San Francisco E-business services provider for the communications industry that has delivered 18 of 19 releases of its customer-service portal on time; the 19th release was two days late. "Requirements-management software can be valuable for any company that needs to build their product in a rapid fashion," says Shelly Nakaishi, director of product management. "By having a complete product process that includes a strong requirements-management tool, we make sure our product meets all the requirements and gets completed on time."

    Documenting requirements at the end of each release cycle helps Landmark Graphics Corp. in Houston save time and money in rework costs when developing future releases. The developer of a 54-module suite for the oil and gas industry has to look years ahead when designing releases. Requirements-management software helps by making it easy to shift requirements from one release to the next.

    Dan ReedPhoto by Barry Smith "After we know what features are going into a particular release, the test organization can use that information to begin writing their test plans, the documentation organization can start writing the drafts of their manuals," says Dan Reed, a senior program director. "This gives them the chance to ask a lot of questions about the features so we can analyze them before we actually begin coding."

    Another way that E-business is driving the need for better requirements management stems from the increasing complexity of Web applications--they're far more complex than typical client-server applications, says Dave Locke, marketing director for requirements management at Rational Software. E-business applications have to address a broader range of internal and external users, many of whom have no software-engineering experience. Add to this the complexity of Web-content management, as well as the ambiguity of different browsers, Web platforms, legacy databases, partner systems, and evolving middleware, and it becomes clear that more customers, stakeholders, and technical staff need to be involved in the development process. Thus in the Web environment, a user-friendly way of managing requirements becomes even more critical than in previous architectures.


    Illustration by Campbell Laird
    Photo of Washington by Jim Bounds
    Photo of Spiegel by Tom Salyer
    Photo of Reed by Barry Smith

    continue on to page 2

    Back to This Week's Issue
    Send Us Your Feedback
    Top of the Page