Home > Ask the Software Quality Experts > Software Requirements Questions & Answers > Clarifying software requirements
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Clarifying software requirements

Karl E. Wiegers EXPERT RESPONSE FROM: Karl E. Wiegers

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: 09 April 2007
I'm often faced with incomplete or confusing requirements. The client does not specify a clear requirement, but simply says "I need a product that can do such and such work." Hence, creating test requirements becomes a difficult task. Please give me some insight on how to handle projects when the requirements are not clear.


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


RELATED CONTENT
Software Requirements
Differentiating between Functional and Nonfunctional Requirements
Writing a software requirements specification (SRS) for a portal app
Should QA check changes from outside the requirements document?
Software testing metrics for a medium-sized project
Template for requirements use cases
What should a business analyst's requirements document include?
Is a requirements freeze in a software project a bad idea?
Requirements elicitation: Workshops vs. apprentice-style analysis
How to determine a software modeling technique
Elicit software requirements using a variety of techniques

Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Quality assurance (QA) and testing's role in requirements
Agile software development tutorial: Agile requirements gathering
Reporter's Notebook: Jack Vaughan on agile methodology
Pros and cons of requirements-based software testing
How to avoid requirements creep
Making requirements walkthroughs more effective (and fun)
Software development lifecycle (SDLC) trends 2009: Requirements, agile
Using proactive test design methods to catch requirements issues early
Is a requirements freeze in a software project a bad idea?
Requirements elicitation: Workshops vs. apprentice-style analysis

Use cases and misuse cases
Requirements use cases tutorial: Advanced formats, test case comparisons
Use cases for software requirements tutorial: Strengths, flaws, formats
Writing a software requirements specification (SRS) for a portal app
Agile software development tutorial: Agile requirements gathering
Pros and cons of requirements-based software testing
How to avoid requirements creep
Template for requirements use cases
Top 10 software requirements tips
Use cases and SRS for requirements gathering
Use cases: Who writes them, what data do you include?

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
requirements analysis  (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


Unfortunately, we can't expect customers always to provide nicely structured, clearly written, unambiguous, and complete requirements. And no matter how good the written requirements are, they are never going to replace human dialogue. This is particularly a problem when software development is being outsourced and there are limited opportunities for interactions between customers, developers and testers to clarify and flesh out requirements.

It's important to recognize that requirements development is an iterative and exploratory process. The requirements analyst typically begins with some initial ideas and thoughts from the customer (or client, or end user). Sometimes the customer provides a description of needs, sometimes he proposes a specific solution he has in mind, and sometimes the customer just provides bits and pieces of information in an apparently random sequence. Through discussion, skillful questioning, use of prototypes and other techniques the analyst and the customer attempt to reach an understanding of exactly what the customer's needs really are and exactly what kind of software solution might meet those needs.

In this situation it sounds as though the role of a requirements analyst might be lacking, which results in the delivered requirements being inadequate for your needs to develop tests. The best solution is to have a skilled analyst work with the client to develop requirements focused on user goals, such as use cases. The analyst can then determine what functionality must be implemented in the software to satisfy those use cases. Use cases also provide an excellent starting point for developing tests.

Alternatively, you might ask the client to develop some acceptance criteria. That is, how would they determine whether the product was doing what they needed it to do in a manner they found acceptable? Those acceptance criteria can serve as a starting point for developing more formal tests, as well as clarifying the requirements and the customer expectations.

More information:




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 technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




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