What is quality? Answering this question can be difficult because quality is in the eye of the beholder, or as Gerry Weinberg was wont to say, “Quality is value to some person.” The implication is that we need to work closely with our stakeholders to discover what quality means to them. Quality requirements—also known as nonfunctional requirements (NFRs), system-wide requirements, quality of service (QoS) requirements, or “ilities”—address issues such as security, availability, reliability, performance, usability, and other key concerns. Figure 1 shows potential categories of quality requirements.
Quality requirements drive many of the acceptance criteria for our functional requirements as well as architectural decisions and test strategy decisions. As you can see in the Figure 2, the process goal diagram for Explore Scope, there are several ways to explore and capture quality requirements. You generally want to explore quality requirements as early in the life cycle as possible, and be prepared for them to evolve throughout your initiative as your situation evolves.
- Develop Test Strategy process goal
- Explore Scope process goal
- Identify Architecture Strategy process goal