SSD.SP 1.3 Analyze and Validate Requirements
Summary
Analyze and validate requirements, and define required service system functionality and quality attributes.
Description
Requirements analyses are performed to determine the impact the intended service delivery environment will have on the ability to satisfy the stakeholders’ needs, expectations, constraints, and interfaces. Depending on the service delivery context, factors such as feasibility, mission needs, cost constraints, end-user heterogeneity, potential market size, and procurement strategy should be taken into account. A definition of required functionality and quality attributes is also established. The objectives of the analyses are to determine candidate requirements for service system concepts that will satisfy stakeholder needs, expectations, and constraints and then to translate these concepts into comprehensive service system requirements. In parallel with this activity, the parameters used to evaluate the effectiveness of service delivery are determined based on customer and end-user input and the preliminary service delivery concept.
Requirements are validated by working with relevant stakeholders to increase the probability that the resulting service system will deliver services as intended in the expected delivery environment.
Example Work Products
- Operational concepts and scenarios, use cases; and activity diagrams, user stories
- Service system and service system component installation; training, operational, maintenance, support, and disposal concepts
- Definition of required functionality and quality attributes
- Architecturally significant quality attribute requirements
- New requirements
- Requirements defects reports and proposed changes to resolve
- Assessment of risks related to requirements
- Record of analysis methods and results
Subpractices
1. Develop operational concepts and scenarios that include operations, installation, development, maintenance, support, and disposal as appropriate.
Identify and develop scenarios that are consistent with the level of detail in the stakeholder needs, expectations, and constraints in which the proposed service system is expected to operate.
2. Develop a detailed operational concept that defines the interaction of the service system, end users, and the environment, and that satisfies operational, maintenance, support, and disposal needs.
Operational concept and scenarios are iteratively refined to include more detail as solution decisions are made and as lower level requirements are developed (e.g., to further describe interactions among the service system, end users, and the environment). Reviews of operational concepts and scenarios are held periodically to ensure that they address the functionality and quality attribute needs of relevant stakeholders, different lifecycle phases, and modes of service system usage. Reviews can be in the form of a walkthrough.
3. Establish and maintain a definition of required functionality and quality attributes.
This definition of required functionality and quality attributes describes what the product is to do. (See the definition of “definition of required functionality and quality attributes” in the glossary.) This definition can include descriptions, decompositions, and partitioning of the functions of the product.
In addition, the definition specifies design considerations or constraints on how the required functionality will be realized in the service system. Quality attributes address such things as service system availability; maintainability; modifiability; timeliness, throughput, and responsiveness; reliability; security; and scalability. Some quality attributes will emerge as architecturally significant and thus drive subsequent service system high-level design activities. A clear understanding of the quality attributes and their importance based on mission or business needs is an essential input to the design process.
4. Analyze requirements to ensure that they are necessary, sufficient, and balance stakeholder needs and constraints.
As requirements are defined, their relationship to higher level requirements and the higher level defined functionality should be understood. Key requirements that will be used to track progress are determined. A cost benefit analysis can be performed to assess the impact of architecturally significant quality attribute requirements on service and service system cost, schedule, performance, and risk. Higher level requirements that are found to result in unacceptable costs or risks may need to be renegotiated.
5. Validate requirements to ensure the resulting service system will perform as intended in the end user’s environment.