Home > Ask the Software Quality Experts > Software Requirements Gathering, Analysis, Quality and Testing Questions & Answers > How to elicit performance requirements
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

How to elicit performance requirements

Mary Gorman EXPERT RESPONSE FROM: Mary Gorman

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: 14 April 2008
I need advice on how to elicit performance requirements from business end users. And, we need to know what is "fair" to ask for, such as Web pages, data file loading, search/retrieve from data base, and reports (from request submission to return).


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



RELATED CONTENT
Software Requirements Gathering, Analysis, Quality and Testing
How to write a Software Requirements Specification (SRS) document
Problems caused by skipping analysis stage of SDLC
Software development life cycle phases, iterations, explained step by step
Waterfall versus iterative development misconceptions
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?

Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Requirements practices evolving, but organizations still struggle
Why business analysts are application development key players today
Defining report requirements with use cases
When it comes to requirements, what is 'just enough'?
How requirements use cases facilitate the SDLC
GatherSpace beefs up cloud-based requirements management
Software development life cycle phases, iterations, explained step by step
How to deliver, implement testable software requirements
Excelling in the art and science of requirements elicitation
Software requirements: Moving beyond use cases

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


Let's start by positioning performance requirements as a type of quality attribute, a category of nonfunctional requirements. (Refer to the answer to "What is the difference between functional and nonfunctional requirements?" for a description of the two types of requirements.)

Performance requirements define how well the system performs certain functions under specific conditions. Examples are speed of response, throughput, execution time and storage capacity. The service levels comprising performance requirements are often based on supporting end-user tasks. Like most quality attributes, performance requirements are key elements when designing and testing the product.

Performance requirements need to be considered along with other types of quality attributes (e.g., reliability, robustness, security and usability as well as availability, interoperability, safety, efficiency and flexibility). Some quality attributes can conflict with one another and require the business to make tradeoffs. One example is among different types of performance requirements: High throughput performance (ability to process a large volume of transitions within a timeframe) can degrade response time. Or, battery life on a hardware device (another performance requirement) can impact strength of the lighting on a visual display, potentially degrading usability.

Two ways to help you elicit performance requirements are: 1) clearly define the scope for your project so you don't spend time on requirements that are not necessary and 2) ask questions based on your analysis models.

Analysis models should be developed collaboratively with business subject matter experts. These analysis models help you explore and validate user requirements while also providing you with a foundation for eliciting both functional and nonfunctional requirements. (For more on analysis models, see "Software requirements: Using models to understand users' needs.")

Let's look at some examples of how you can use analysis models to elicit performance needs:

  • For behavior requirements detailed in process maps or use cases: How frequently does this activity occur? What are the minimum, maximum and average executions per hour/day/week/month/year, as well as any peak periods? When must this activity be available for use? What is the minimum, plan and wish level of throughput time?


  • For structural requirements defined in data or object models, ask, for each subject area: What is the expected number of instances per day/week/month/year, as well as at peak periods? What is the projected growth rate?


  • For interfaces requirements initially identified on a context diagram and subsequently elaborated in report details or user interface prototypes/storyboards: What is the triggering event for this interface? How frequently does the event occur? For a UI (user interface), what are the usability needs such as the minimum, plan and wish level of completing a certain type of task? How quickly would you expect novice users to learn the product? Would there need to be minimum number of keystrokes or clicks for certain tasks? Would a specific probability of task completion be important? These specific questions help you understand type of performance requirements such as ease of learning, ease of use and probably of completion.


  • Requirements engineering resources:
    Don't overlook nonfunctional software requirements

    Defining good performance requirements a joint effort

    Software requirements elicitation and documentation
  • Across all models, business rules: How should the system react to error conditions? How frequently may the error occur? How much time should it take for a user to recover from an error?
  • These questions are a "fair" way to elicit performance requirements from the business community. They are accurately linked to the functional scope. They do not presuppose a design or require detailed technical knowledge. They are expressed in terms that can be validated by the business subject matter experts. But elicitation is not the end of our work! For ideas on specifying nonfunctional requirements see the reference in the answer "Using Six Sigma for software project management."




    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