Home > Ask the Software Quality Experts > Software Requirements Questions & Answers > How to choose the right requirements tool
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

How to choose the right requirements tool

Betty Luedke EXPERT RESPONSE FROM: Betty Luedke

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 03 September 2008
We are considering using a defect tracking tool as a requirements tool. Is this advisable? The assumption is that a defect is a deviation from a requirement and, therefore, can be treated the same.

>
EXPERT RESPONSE
A set of requirements defines the product and a set of defects identifies where the implemented product did not met the stated need.

In general, you should use a tool for its intended purpose. Like my Daddy used to say, "Betty, don't use the butt end of that screwdriver to hammer in the tacks -- here is the tack hammer." Sometimes, though, we are pushed to use a tool other than the one intended for the job. Maybe you have the right tool, but you can't find it or, for some reason, you don't have access to it. Or perhaps you do not have the right tool, and because you can't afford it you are forced to make do with a substitute.

First, let us look at the type of information you need to keep about a defect and then what information you need to keep about a requirement. This will provide some clues as to whether or not using a defect tracking tool for requirements is a good idea. For a defect you need to be able to:

  • Identify the defect
  • Document its description, severity, priority and so forth
  • Identify who is responsible for fixing it
  • Document what was done to fix it
  • Document the root cause
  • Track the resolution progress
  • Report defect information
For a set of requirements you need to be able to:
  • Name and describe the requirement
  • Categorize requirements by type (business objective, user requirement, functional requirement, nonfunctional requirement, business rule)
  • Retain additional information about each requirement:
    • Some the information needed will be the same for all requirements regardless of requirement type ("status," "priority," etc.)
    • Some of the information need will be different depending on requirement type (User requirements probably need "pre-conditions," "post-conditions," and the like, whereas business objectives do not.)
  • Associate a requirement with other requirements, such as:
    • Each business objective is traced to one or more user requirements
    • Each user requirement is traced to one or more functional requirements
  • Associate a requirement with other system development artifacts, such as:
    • Each functional requirement is traced to the test case(s) that prove the requirement was met
    • Each functional requirement is traced to the design that covers the functionality
  • Identify a subset of requirements (baseline) for:
    • Review
    • Approval
    • Release
  • Track requirement development progress
  • Assess impact of a requested change
  • Manage product releases
  • Report requirement information

While there are some similarities, you can see that the nature of the information you need to keep about a defect is different from the information that you need to keep about a requirement or a set of requirements. It should not be too difficult to determine why this is true. A requirement is not a defect. A set of requirements defines the product and a set of defects identifies where the implemented product did not met the stated need (or requirements). It is also important to note that the root cause of a defect may be an ambiguous requirement, a flaw in the design, typo in the code or a test that identified the wrong result.

Next, let us explore another concept that, I believe, is significant and is something I see a lot. There are three system development artifacts below. They are all related, but they are definitely not the same.

Artifact Description Comment

Request for Change

A Request for Change is just that: a request to do something differently. This Request could be to:
  • Provide an enhancement
  • Fix a defect
This Request may or may not be honored.

Many organizations make the mistake of thinking that :

Request = Requirement

In actuality, a Request can add, modify, even delete a number of Requirements.

Instructions for Change

Instructions for Change describe in detail what changes need to be made to implement and approved Request. If functionality is to be added, then you will probably have the new requirements stated. However, if all you need to do is add a couple of data elements to already existing functionality, then there will probably be an instruction to just add these two data elements.

Instructions for Change is not an industry standard term, but it describes a set of directions provided to development that articulates what to do to implement a Request that has already been approved.

Requirements

Requirements define a product or application.

Without a set of Requirements (at some level) that define your product/application, it is virtually impossible to assess the potential impact of a requested change. Just think about it. If you have a stack of approved Requests for Change or a pile of Instructions for Change, neither defines your product/application, so you can conduct an impact analysis. The stack of Requests identifies what has been changed about the product/application, not what it is. Similarly, the pile of Instructions identifies what has been changed about the product/application, not what it is.

While the purpose of each of the artifacts above is very different, organizations often do not make a clear distinction. This muddling of concepts can lead to practices that:

  • Capture Requests for Change and call them Requirements.
  • Capture Instructions for Change and call them Requirements.
  • Capture only Requests for Change with the assumption that impact analysis will be possible
  • .
With all this said, ask yourself a few questions to help determine if using a defect tracking tool for requirements is a smart thing to do.

Question Answer Comment
  • Do you own a defect tracking tool now?
  • Yes
  • <next question>
  • No
  • Definitely do not buy a defect tracking tool to manage requirements when there are a number of requirements management tools intended for the purpose of managing requirements. Evaluate several tools before purchasing one.
  • Can your company afford a requirements tool?
  • Yes
  • There are a number of requirements management tools to select from. Evaluate several tools before purchasing one.
  • No
  • If you already have a defect tracking tool and cannot afford a requirements tool, then determine:
    • How you will organize defects and requirements in the same tool.
    • What mechanism you will use to categorize requirements by type (business objective, user requirement, functional requirement, nonfunctional requirement, business rule).
    • What information you will need to capture about each requirement ("name," "description," "status," "priority," and so forth).
    • What information you will need to capture about requirements of a particular requirement type ("pre-conditions," "post-conditions," etc.).
    • How you will associate a requirement with other requirements. If there is no linking or trace mechanism, you may need a user-defined attribute that indicates the trace to/from another requirement.
    • How you will associate a requirement with other system development artifacts. If there is no linking or trace mechanism, you may need a user-defined attribute that indicates the trace to other system development artifacts (test cases, design, and so forth).
    • How you will identify a subset of requirements (baseline) for:
      • Review
      • Approval
      • Release
    • How you will track requirement development progress.
    • How you will assess impact of a requested change.
    • How you will manage product releases.
    • How you will report requirement information.
  • As you can see, this is not the ideal way to go because you will be trying to use a defect tracking tool for a purpose that is not its intended use and for which it may not have appropriate supporting mechanisms.

    Software requirements gathering:
    Requirements and COTS software packages

    Requirements tools that empower business analysts

    Tools of the Agile trade
    Summary
    Choose a tool designed to do the job. You need a tool to manage requirements and one to manage defects. It would be good if you can associate a defect with a requirement if indeed the requirement is the root cause of the defect. Look beyond your current need where you are managing defects for an existing system and now recognize that you need to capture requirements as well. Among the places you can go for help in building a business case for requirement definition and management is this webcast, Building a Business Case for Requirements Definition and Management.


    Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


    RELATED CONTENT
    Software Requirements
    How to determine a software modeling technique
    Elicit software requirements using a variety of techniques
    Use cases and SRS for requirements gathering
    Why you should test requirements definitions
    How to estimate change requests in requirements
    Use cases: Who writes them, what data do you include?
    How use cases facilitate the SDLC
    Requirements engineering in an uncooperative environment
    Scrum and requirements gathering
    Requirements reporting beyond use cases

    Software requirements tools
    Simulation software a cure for hospital's requirements validation ills
    Requirements tools that empower business analysts
    Requirements gathering resources, practices lacking at Fortune 500 companies
    Workbench helps get your software requirements house in order
    Tools of the Agile trade
    Requirements Management Using IBM Rational RequisitePro: Chapter 1, Requirements Management
    Software requirements lifecycle the focus of new forum
    Requirements and COTS software packages
    How to choose a requirements gathering tool
    Optimal Trace 5.0 facilitates business requirements management

    Software requirements management
    Top 10 software requirements tips
    Seven Steps to Mastering Business Analysis, Ch. 1
    Integrating application lifecycle management (ALM) processes provides additional benefits
    How to estimate change requests in requirements
    The Software Project Manager's Bridge to Agility: Chapter 5, Scope Management
    Software Security Engineering: A Guide for Project Managers -- Chapter 3, Requirements Engineering for Secure Software
    Requirements Management Using IBM Rational RequisitePro: Chapter 1, Requirements Management
    Quality software performance doesn't happen accidentally
    Software requirements elicitation and documentation
    Outside-in Software Development: A Practical Approach to Building Successful Stakeholder-based Products -- Chapter 1, Introducing Outside-in Development

    RELATED GLOSSARY TERMS
    Terms from Whatis.com − the technology online dictionary
    worst-case execution time (WCET)  (SearchSoftwareQuality.com)

    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary



    Search and Browse the Expert Answer Center
    Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    Browse our Expert Advice



    Software Quality - Software Maintenance, Software Requirements, Software Standards
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




    All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts