| Roxanne Miller | |
Requires Free Membership to View
When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.
Hannah Smalltree, Editorial DirectorLet's start by placing performance requirements in the context of software requirements. While functional software requirements define what functions the software will enable the user to do, nonfunctional software requirements describe the user needs for the following:
Operational needs deal with the use of the software to perform the tasks it was intended to perform. That is, the system needs to be available (accessible), reliable (operational) and usable (easy to learn and use). It must provide information that is accurate, dependable and secure.
Performance user concerns
Now let's focus specifically on performance requirements. As indicated above, the performance user need category of nonfunctional requirements describes the users' need for a system that functions well. This group of nonfunctional requirements addresses the following user concerns:
How well does the system utilize resources?
Explaining these user concerns further, efficiency requirements describe the performance and speed of operation of a system. Efficiency requirements identify the need to perform tasks in a given amount of time or a certain level of accuracy. These requirements express the expectations with regard to response time, throughput, degradation, capacity, demand spikes and growth potential. Efficiency requirements could be specified by using the following scales of measure:
a measure of the ability to process units of work in specified units of time.
Interoperability requirements describe the ease with which the system collaborates with partner applications and external operations. Interoperability requirements also identify the ability to add or remove interfaces without disrupting the core system.
Robustness requirements identify the ability of the system to respond reasonably to unexpected events. Robustness requirements may also be called survivability requirements, as they reflect the ability to continue to deliver essential business-critical services to legitimate users while the system is under attack or after part of the system has been damaged as a consequence of an attack or a system failure. Robustness requirements are also referred to as fault-tolerance, which measures the degree to which techniques are applied to ensure that faults in a system do not result in system errors or that system errors do not result in system failures. There are four aspects to fault-tolerance:
involves checking that the system state is consistent.
Testability requirements, also called verifiability, identify the process of verifying through inspections, tests, demonstrations and analysis that the designed and constructed product can meet the requirements. Verification work is accomplished through comparison. That is, the characteristics of an element under inspection are compared to a pre-determined standard. In making this comparison, there are four commonly accepted test methods that might be applied:
A test element is subjected to a controlled series of stimuli, and the article response is monitored and compared with a standard, expected and predicted result.
Performance requirement metrics
Quantifying performance requirements is the essence behind the user-need approach described above for defining requirements. The table below provides a number of common metrics for performance requirements that will help you both elicit and write performance requirements.
Summary
Quality performance cannot be achieved unless you specify it. Software performance requirements address important user concerns for efficiency, interoperability, robustness, and testability. There are a number of quantitative measures that can be used to specify performance requirements. The performance requirements must be precise and measurable to establish realistic expectations and monitor attainment.
----------------------------------------
About the author: Roxanne Miller, Certified Business Analysis Professional (CBAP), is the founder of Requirements Quest and president of the International Institute of Business Analysis (IIBA) Greater Madison chapter USA.
This was first published in February 2008