Requirements Management

Maturity Level 2

Purpose

The purpose of Requirements Management is to manage the requirements of the project's products and product components and to identify inconsistencies between those requirements and the project's plans and work products.  [PA146]

Introductory Notes

Requirements management processes manage all requirements received or generated by the project, including both technical and nontechnical requirements as well as those requirements levied on the project by the organization. In particular, if the Requirements Development process area is implemented, its processes will generate product and product-component requirements that will also be managed by the requirements management processes. When the Requirements Management, Requirements Development, and Technical Solution process areas are all implemented, their associated processes may be closely tied and be performed concurrently.  [PA146.N101]

The project takes appropriate steps to ensure that the agreed-upon set of requirements is managed to support the planning and execution needs of the project. When a project receives requirements from an approved requirements provider, the requirements are reviewed with the requirements provider to resolve issues and prevent misunderstanding before the requirements are incorporated into the project’s plans. Once the requirements provider and the requirements receiver reach an agreement, commitment to the requirements is obtained from the project participants. The project manages changes to the requirements as they evolve and identifies any inconsistencies that occur among the plans, work products, and requirements.  [PA146.N102]

Part of the management of requirements is to document requirements changes and rationale and maintain bidirectional traceability between source requirements and all product and product-component requirements.  [PA146.N103]

Refer to the Requirements Development process area for more information regarding transforming stakeholder needs into product requirements and deciding how to allocate or distribute requirements among the product components.  [PA146.R101]

Refer to the Technical Solution process area for more information about transforming requirements into technical solutions.  [PA146.R102]

Refer to the Project Planning process area for more information about how project plans reflect requirements and need to be revised as requirements change.  [PA146.R103]

Refer to the Configuration Management process area for more information about baselines and controlling changes to configuration documentation for requirements.  [PA146.R104]

Refer to the Project Monitoring and Control process area for more information about tracking and controlling the activities and work products that are based on the requirements and taking appropriate corrective action.  [PA146.R105]

Refer to the Risk Management process area for more information about identifying and handling risks associated with requirements.  [PA146.R106]

Specific and Generic Goals

SG 1           Manage Requirements  [PA146.IG101]

                   Requirements are managed and inconsistencies with project plans and work products are identified.

GG 2           Institutionalize a Managed Process  [CL103.GL101]

                   The process is institutionalized as a managed process.

(The following goal is not required for maturity level 2, but required for maturity level 3 and above.)

GG 3           Institutionalize a Defined Process  [CL104.GL101]

                   The process is institutionalized as a defined process.

Practice-to-Goal Relationship Table

SG 1 Manage Requirements  [PA146.IG101]

SP 1.1         Obtain an Understanding of Requirements

SP 1.2         Obtain Commitment to Requirements

SP 1.3         Manage Requirements Changes

SP 1.4         Maintain Bidirectional Traceability of Requirements

SP 1.5         Identify Inconsistencies between Project Work and Requirements

GG 2 Institutionalize a Managed Process  [CL103.GL101]

GP 2.1        (CO 1)           Establish an Organizational Policy

GP 2.2        (AB 1)            Plan the Process

GP 2.3        (AB 2)            Provide Resources

GP 2.4        (AB 3)            Assign Responsibility

GP 2.5        (AB 4)            Train People

GP 2.6        (DI 1)             Manage Configurations

GP 2.7        (DI 2)             Identify and Involve Relevant Stakeholders

GP 2.8        (DI 3)             Monitor and Control the Process

GP 2.9        (VE 1)            Objectively Evaluate Adherence

GP 2.10      (VE 2)            Review Status with Higher Level Management

(The following goal is not required and its practices are not expected for a maturity level 2 rating, but are required and expected for a maturity level 3 rating and above.)

GG 3 Institutionalize a Defined Process  [CL104.GL101]

GP 3.1        Establish a Defined Process

GP 3.2        Collect Improvement Information

Specific Practices by Goal

SG 1           Manage Requirements

                   Requirements are managed and inconsistencies with project plans and work products are identified.  [PA146.IG101]

The project maintains a current and approved set of requirements over the life of the project by doing the following:  [PA146.IG101.N101]

·           Managing all changes to the requirements

·           Maintaining the relationships between the requirements, the project plans, and the work products

·           Identifying inconsistencies between the requirements, the project plans, and the work products

·           Taking corrective action

Refer to the Technical Solution process area for more information about determining the feasibility of the requirements.  [PA146.IG101.N101.R101]

Refer to the Requirements Development process area for more information about ensuring that the requirements reflect the needs and expectations of the customer.  [PA146.IG101.N101.R102]

Refer to the Project Monitoring and Control process area for more information about taking corrective action.  [PA146.IG101.N101.R103]

For Software Engineering

The requirements may be a subset of the overall product requirements, or they may constitute the entire product requirements.  [PA146.IG101.AMP101]

For Systems Engineering

Each level of product-component design (e.g., segment, subsystem) receives the requirements from the higher level.  [PA146.IG101.AMP102]

SP 1.1         Obtain an Understanding of Requirements

Develop an understanding with the requirements providers on the meaning of the requirements.  [PA146.IG101.SP101]

As the project matures and requirements are derived, all activities or disciplines will receive requirements. To avoid requirements creep, criteria are established to designate appropriate channels, or official sources, from which to receive requirements. The receiving activities conduct analyses of the requirements with the requirements provider to ensure that a compatible, shared understanding is reached on the meaning of the requirements. The result of this analysis and dialog is an agreed-to set of requirements.  [PA146.IG101.SP101.N101]

Typical Work Products

1.    Lists of criteria for distinguishing appropriate requirements providers  [PA146.IG101.SP101.W101]

2.    Criteria for evaluation and acceptance of requirements  [PA146.IG101.SP101.W102]

3.    Results of analyses against criteria  [PA146.IG101.SP101.W103]

4.    An agreed-to set of requirements  [PA146.IG101.SP101.W104]

Subpractices

1.    Establish criteria for distinguishing appropriate requirements providers.  [PA146.IG101.SP101.SubP101]

2.    Establish objective criteria for the acceptance of requirements.  [PA146.IG101.SP101.SubP102]

Lack of acceptance criteria often results in inadequate verification, costly rework, or customer rejection.  [PA146.IG101.SP101.SubP102.N102]

Examples of acceptance criteria include the following:  [PA146.IG101.SP101.SubP102.N101]

·       Clearly and properly stated

·       Complete

·       Consistent with each other

·       Uniquely identified

·       Appropriate to implement

·       Verifiable (testable)

·       Traceable

 

3.    Analyze requirements to ensure that the established criteria are met.  [PA146.IG101.SP101.SubP103]

4.    Reach an understanding of the requirements with the requirements provider so the project participants can commit to them.  [PA146.IG101.SP101.SubP104]

SP 1.2         Obtain Commitment to Requirements

Obtain commitment to the requirements from the project participants.  [PA146.IG101.SP102]

Refer to the Project Monitoring and Control process area for more information about monitoring the commitments made.  [PA146.IG101.SP102.R101]

For Integrated Product and Process Development

When integrated teams are formed, the project participants are the integrated teams and their members. Commitment to the requirement for interacting with other integrated teams is as important for each integrated team as its commitments to product and other project requirements.  [PA146.IG101.SP102.AMP101]

Whereas the previous specific practice dealt with reaching an understanding with the requirements providers, this specific practice deals with agreements and commitments among those who have to carry out the activities necessary to implement the requirements. Requirements evolve throughout the project, especially as described by the specific practices of the Requirements Development process area and the Technical Solution process area. As the requirements evolve, this specific practice ensures that project participants commit to the current, approved requirements and the resulting changes in project plans, activities, and work products.  [PA146.IG101.SP102.N101]

Typical Work Products

1.    Requirements impact assessments  [PA146.IG101.SP102.W101]

2.    Documented commitments to requirements and requirements changes  [PA146.IG101.SP102.W102]

Subpractices

1.    Assess the impact of requirements on existing commitments.  [PA146.IG101.SP102.SubP101]

The impact on the project participants should be evaluated when the requirements change or at the start of a new requirement.  [PA146.IG101.SP102.SubP101.N101]

2.    Negotiate and record commitments.  [PA146.IG101.SP102.SubP102]

Changes to existing commitments should be negotiated before project participants commit to the requirement or requirement change.  [PA146.IG101.SP102.SubP102.N101]

SP 1.3         Manage Requirements Changes

Manage changes to the requirements as they evolve during the project.  [PA146.IG101.SP103]

Refer to the Configuration Management process area for more information about maintaining and controlling the requirements baseline and on making the requirements and change data available to the project.  [PA146.IG101.SP103.R101]

During the project, requirements change for a variety of reasons. As needs change and as work proceeds, additional requirements are derived and changes may have to be made to the existing requirements. It is essential to manage these additions and changes efficiently and effectively. To effectively analyze the impact of the changes, it is necessary that the source of each requirement is known and the rationale for any change is documented. The project manager may, however, want to track appropriate measures of requirements volatility to judge whether new or revised controls are necessary.  [PA146.IG101.SP103.N101]

Typical Work Products

1.    Requirements status  [PA146.IG101.SP103.W101]

2.    Requirements database  [PA146.IG101.SP103.W102]

3.    Requirements decision database  [PA146.IG101.SP103.W103]

Subpractices

1.    Capture all requirements and requirements changes that are given to or generated by the project.  [PA146.IG101.SP103.SubP101]

2.    Maintain the requirements change history with the rationale for the changes.  [PA146.IG101.SP103.SubP102]

Maintaining the change history helps track requirements volatility.  [PA146.IG101.SP103.SubP102.N101]

3.    Evaluate the impact of requirement changes from the standpoint of relevant stakeholders.  [PA146.IG101.SP103.SubP103]

4.    Make the requirements and change data available to the project.  [PA146.IG101.SP103.SubP104]

SP 1.4         Maintain Bidirectional Traceability of Requirements

Maintain bidirectional traceability among the requirements and the project plans and work products.  [PA146.IG101.SP104]

The intent of this specific practice is to maintain the bidirectional traceability of requirements for each level of product decomposition. When the requirements are managed well, traceability can be established from the source requirement to its lower level requirements and from the lower level requirements back to their source. Such bidirectional traceability helps determine that all source requirements have been completely addressed and that all lower level requirements can be traced to a valid source. Requirements traceability can also cover the relationships to other entities such as intermediate and final work products, changes in design documentation, test plans, and work tasks. The traceability should cover both the horizontal and vertical relationships, such as across interfaces. Traceability is particularly needed in conducting the impact assessment of requirements changes on the project plans, activities, and work products.  [PA146.IG101.SP104.N101]

Typical Work Products

1.    Requirements traceability matrix  [PA146.IG101.SP104.W101]

2.    Requirements tracking system  [PA146.IG101.SP104.W102]

Subpractices

1.    Maintain requirements traceability to ensure that the source of lower level (derived) requirements is documented.  [PA146.IG101.SP104.SubP101]

2.    Maintain requirements traceability from a requirement to its derived requirements as well as to its allocation of functions, objects, people, processes, and work products.  [PA146.IG101.SP104.SubP102]

3.    Maintain horizontal traceability from function to function and across interfaces.  [PA146.IG101.SP104.SubP103]

4.    Generate the requirements traceability matrix.  [PA146.IG101.SP104.SubP104]

SP 1.5         Identify Inconsistencies between Project Work and Requirements

Identify inconsistencies between the project plans and work products and the requirements.  [PA146.IG101.SP105]

Refer to the Project Monitoring and Control process area for more information about monitoring and controlling the project plans and work products for consistency with requirements and taking corrective actions when necessary.  [PA146.IG101.SP105.R101]

This specific practice finds the inconsistencies between the requirements and the project plans and work products and initiates the corrective action to fix them.  [PA146.IG101.SP105.N101]

Typical Work Products

1.    Documentation of inconsistencies including sources, conditions, and rationale  [PA146.IG101.SP105.W101]

2.    Corrective actions  [PA146.IG101.SP105.W102]

Subpractices

1.    Review the project's plans, activities, and work products for consistency with the requirements and the changes made to them.  [PA146.IG101.SP105.SubP101]

2.    Identify the source of the inconsistency and the rationale.  [PA146.IG101.SP105.SubP102]

3.    Identify changes that need to be made to the plans and work products resulting from changes to the requirements baseline.  [PA146.IG101.SP105.SubP103]

4.    Initiate corrective actions.  [PA146.IG101.SP105.SubP104]

GG 2           Institutionalize a Managed Process  [CL103.GL101]

                   The process is institutionalized as a managed process.

Commitment to Perform

GP 2.1        (CO 1)           Establish an Organizational Policy

Establish and maintain an organizational policy for planning and performing the requirements management process.  [GP103]

Elaboration:

This policy establishes organizational expectations for managing requirements and identifying inconsistencies between the requirements and the project plans and work products.  [PA146.EL101]

Ability to Perform

GP 2.2        (AB 1)           Plan the Process

Establish and maintain the plan for performing the requirements management process.  [GP104]

Elaboration:

Typically, this plan for performing the requirements management process is a part of the project plan as described in the Project Planning process area.  [PA146.EL102]

GP 2.3        (AB 2)           Provide Resources

Provide adequate resources for performing the requirements management process, developing the work products, and providing the services of the process.  [GP105]

Elaboration:

Examples of resources provided include the following tools:  [PA146.EL113]

·           Requirements tracking tools

·           Traceability tools

 

GP 2.4        (AB 3)           Assign Responsibility

Assign responsibility and authority for performing the process, developing the work products, and providing the services of the requirements management process.  [GP106]

GP 2.5        (AB 4)           Train People

Train the people performing or supporting the requirements management process as needed.  [GP107]

Elaboration:

Examples of training topics include the following:  [PA146.EL105]

·           Application domain

·           Requirements definition, analysis, review, and management

·           Requirements management tools

·           Configuration management

·           Negotiation and conflict resolution

 

Directing Implementation

GP 2.6        (DI 1)             Manage Configurations

Place designated work products of the requirements management process under appropriate levels of configuration management.  [GP109]

Elaboration:

Examples of work products placed under configuration management include the following:  [PA146.EL108]

·           Requirements

·           Requirements traceability matrix

 

GP 2.7        (DI 2)             Identify and Involve Relevant Stakeholders

Identify and involve the relevant stakeholders of the requirements management process as planned.  [GP124]

Elaboration:

Select relevant stakeholders from customers, end users, developers, producers, testers, suppliers, marketers, maintainers, disposal personnel, and others who may be affected by, or may affect, the product as well as the process.  [PA146.EL115]

Examples of activities for stakeholder involvement include:  [PA146.EL116]

·           Resolving issues on the understanding of the requirements

·           Assessing the impact of requirements changes

·           Communicating the bidirectional traceability

·           Identifying inconsistencies among project plans, work products, and requirements

 

GP 2.8        (DI 3)             Monitor and Control the Process

Monitor and control the requirements management process against the plan for performing the process and take appropriate corrective action.  [GP110]

Elaboration:

Examples of measures used in monitoring and controlling include the following:  [PA146.EL111]

·           Requirements volatility (percentage of requirements changed)

 

Verifying Implementation

GP 2.9        (VE 1)            Objectively Evaluate Adherence

Objectively evaluate adherence of the requirements management process against its process description, standards, and procedures, and address noncompliance.  [GP113]

Elaboration:

Examples of activities reviewed include the following:  [PA146.EL112]

·           Managing requirements

·           Identifying inconsistencies among project plans, work products, and requirements

 

Examples of work products reviewed include the following:  [PA146.EL114]

·           Requirements

·           Requirements traceability matrix

 

GP 2.10      (VE 2)            Review Status with Higher Level Management

Review the activities, status, and results of the requirements management process with higher level management and resolve issues.  [GP112]

Elaboration:

Proposed changes to commitments to be made external to the organization are reviewed with higher level management to ensure that all commitments can be accomplished.  [PA146.EL117]

(The following goal is not required and its practices are not expected for a maturity level 2 rating, but are required for a maturity level 3 rating and above.)

GG 3           Institutionalize a Defined Process  [CL104.GL101]

                   The process is institutionalized as a defined process.

GP 3.1        Establish a Defined Process

Establish and maintain the description of a defined requirements management process.  [GP114]

GP 3.2        Collect Improvement Information

Collect work products, measures, measurement results, and improvement information derived from planning and performing the requirements management process to support the future use and improvement of the organization’s processes and process assets.  [GP117]


Project Planning


Requirements Development

Maturity Level 3

Purpose

The purpose of Requirements Development is to produce and analyze customer, product, and product-component requirements.  [PA157]

Introductory Notes

This process area describes three types of requirements: customer requirements, product requirements, and product-component requirements. Taken together, these requirements address the needs of relevant stakeholders, including those pertinent to various product life-cycle phases (e.g., acceptance testing criteria) and product attributes (e.g., safety, reliability, maintainability). Requirements also address constraints caused by the selection of design solutions (e.g., integration of commercial off-the-shelf products).  [PA157.N101]

Requirements are the basis for design. The development of requirements includes the following activities:  [PA157.N102]

·           Elicitation, analysis, validation, and communication of customer needs, expectations, and constraints to obtain customer requirements that constitute an understanding of what will satisfy stakeholders

·           Collection and coordination of stakeholder needs

·           Development of the life-cycle requirements of the product

·           Establishment of the customer requirements

·           Establishment of initial product and product-component requirements consistent with customer requirements

This process area addresses all customer requirements rather than only product-level requirements because the customer may also provide specific design requirements.  [PA157.N103]

Customer requirements are further refined into product and product-component requirements. In addition to customer requirements, product and product-component requirements are derived from the selected design solutions.  [PA157.N104]

Requirements are identified and refined throughout the phases of the product life cycle. Design decisions, subsequent corrective actions, and feedback during each phase of the product’s life cycle are analyzed for impact on derived and allocated requirements.  [PA157.N105]

The Requirements Development process area includes three specific goals. The Develop Customer Requirements specific goal addresses defining a set of customer requirements to use in the development of product requirements. The Develop Product Requirements specific goal addresses defining a set of product or product-component requirements to use in the design of products and product components. The Analyze and Validate Requirements specific goal addresses the necessary analysis of customer, product, and product-component requirements to define, derive, and understand the requirements. The specific practices of the third specific goal are intended to assist the specific practices in the first two specific goals. The processes associated with the Requirements Development process area and those associated with the Technical Solution process area may interact recursively with one another.  [PA157.N111]

Analyses are used to understand, define, and select the requirements at all levels from competing alternatives. These analyses include the following:  [PA157.N106]

·           Analysis of needs and requirements for each product life-cycle phase, including needs of relevant stakeholders, the operational environment, and factors that reflect overall customer and end-user expectations and satisfaction, such as safety, security, and affordability

·           Development of an operational concept

·           Definition of the required functionality

The definition of functionality, also referred to as “functional analysis,” is not the same as structured analysis in software development and does not presume a functionally oriented software design. In object-oriented software design, it relates to defining the services. The definition of functions, their logical groupings, and their association with requirements is referred to as a “functional architecture.”  [PA157.N107]

Analyses occur recursively at successively more detailed layers of a product’s architecture until sufficient detail is available to enable detailed design, acquisition, and testing of the product to proceed. As a result of the analysis of requirements and the operational concept (including functionality, support, maintenance, and disposal), the manufacturing or production concept produces more derived requirements, including consideration of the following:  [PA157.N108]

·           Constraints of various types

·           Technological limitations

·           Cost and cost drivers

·           Time constraints and schedule drivers

·           Risks

·           Consideration of issues implied but not explicitly stated by the customer or end user

·           Factors introduced by the developer’s unique business considerations, regulations, and laws

A hierarchy of logical entities (functions and subfunctions, object classes and subclasses) is established through iteration with the evolving operational concept. Requirements are refined, derived, and allocated to these logical entities. Requirements and logical entities are allocated to products, product components, people, associated processes, or services.  [PA157.N109]

Involvement of relevant stakeholders in both requirements development and analysis gives them visibility into the evolution of requirements. This activity continually assures them that the requirements are being properly defined.  [PA157.N110]

Refer to the Requirements Management process area for more information about managing customer and product requirements, obtaining agreement with the requirements provider, obtaining commitments with those implementing the requirements, and maintaining traceability.  [PA157.R101]

Refer to the Technical Solution process area for more information about how the outputs of the requirements development processes are used, and the development of alternative solutions and designs used in refining and deriving requirements.  [PA157.R102]

Refer to the Product Integration process area for more information about interface requirements and interface management.  [PA157.R103]

Refer to the Verification process area for more information about verifying that the resulting product meets the requirements.  [PA157.R104]

Refer to the Validation process area for more information about how the product built will be validated against the customer needs.  [PA157.R105]

Refer to the Risk Management process area for more information about identifying and managing risks that are related to requirements.  [PA157.R106]

Refer to the Configuration Management process area for information about ensuring that key work products are controlled and managed.  [PA157.R107]

Specific and Generic Goals

SG 1           Develop Customer Requirements  [PA157.IG101]

                   Stakeholder needs, expectations, constraints, and interfaces are collected and translated into customer requirements.

SG 2           Develop Product Requirements  [PA157.IG103]

                   Customer requirements are refined and elaborated to develop product and product-component requirements.

SG 3           Analyze and Validate Requirements  [PA157.IG102]

                   The requirements are analyzed and validated, and a definition of required functionality is developed.

GG 3           Institutionalize a Defined Process  [CL104.GL101]

                   The process is institutionalized as a defined process.

Practice-to-Goal Relationship Table

SG 1 Develop Customer Requirements  [PA157.IG101]

SP 1.1         Elicit Needs

SP 1.2         Develop the Customer Requirements

SG 2 Develop Product Requirements  [PA157.IG103]

SP 2.1         Establish Product and Product-Component Requirements

SP 2.2         Allocate Product-Component Requirements

SP 2.3         Identify Interface Requirements

SG 3 Analyze and Validate Requirements  [PA157.IG102]

SP 3.1         Establish Operational Concepts and Scenarios

SP 3.2         Establish a Definition of Required Functionality

SP 3.3         Analyze Requirements

SP 3.4         Analyze Requirements to Achieve Balance

SP 3.5         Validate Requirements with Comprehensive Methods

GG 3 Institutionalize a Defined Process  [CL104.GL101]

GP 2.1        (CO 1)           Establish an Organizational Policy

GP 3.1        (AB 1)            Establish a Defined Process

GP 2.2        (AB 2)            Plan the Process

GP 2.3        (AB 3)            Provide Resources

GP 2.4        (AB 4)            Assign Responsibility

GP 2.5        (AB 5)            Train People

GP 2.6        (DI 1)             Manage Configurations

GP 2.7        (DI 2)             Identify and Involve Relevant Stakeholders

GP 2.8        (DI 3)             Monitor and Control the Process

GP 3.2        (DI 4)             Collect Improvement Information

GP 2.9        (VE 1)            Objectively Evaluate Adherence

GP 2.10      (VE 2)            Review Status with Higher Level Management

Specific Practices by Goal

SG 1           Develop Customer Requirements

                   Stakeholder needs, expectations, constraints, and interfaces are collected and translated into customer requirements.  [PA157.IG101]

The needs of stakeholders (e.g., customers, end users, suppliers, builders, and testers) are the basis for determining customer requirements. The stakeholder needs, expectations, constraints, interfaces, operational concepts, and product concepts are analyzed, harmonized, refined, and elaborated for translation into a set of customer requirements.  [PA157.IG101.N101]

Frequently, stakeholder needs, expectations, constraints, and interfaces are poorly identified or conflicting. Since stakeholder needs, expectations, constraints, and limitations should be clearly identified and understood, an iterative process is used throughout the life of the project to accomplish this objective. To facilitate the required interaction, a surrogate for the end user or customer is frequently involved to represent their needs and help resolve conflicts. The customer relations or marketing part of the organization as well as members of the development team from disciplines such as human engineering or support can be used as surrogates. Environmental, legal, and other constraints should be considered when creating and resolving the set of customer requirements.  [PA157.IG101.N102]

SP 1.1         Elicit Needs

Elicit stakeholder needs, expectations, constraints, and interfaces for all phases of the product life cycle.  [PA157.IG101.SP102]

Eliciting goes beyond collecting requirements by proactively identifying additional requirements not explicitly provided by customers. Additional requirements should address the various product life-cycle activities and their impact on the product.  [PA157.IG101.SP102.N102]

Examples of techniques to elicit needs include the following:  [PA157.IG101.SP102.N103]

·           Technology demonstrations

·           Interface control working groups

·           Technical control working groups

·           Interim project reviews

·           Questionnaires, interviews, and operational scenarios obtained from end users

·           Operational walkthroughs and end-user task analysis

·           Prototypes and models

·           Brainstorming

·           Quality Function Deployment

·           Market surveys

·           Beta testing

·           Extraction from sources such as documents, standards, or specifications

·           Observation of existing products, environments, and workflow patterns

·           Use cases

·           Business case analysis

·           Reverse engineering (for legacy products)

 

Subpractices

1.    Engage relevant stakeholders using methods for eliciting needs, expectations, constraints, and external interfaces.  [PA157.IG101.SP102.SubP101]

The following specific practice appears in the continuous representation as
SP 1.1-1, but is subsumed in the staged representation by SP 1.1, Elicit Needs.  The specific practice is presented here in gray only as informative material.

SP 1.1-1      Collect Stakeholder Needs

Identify and collect stakeholder needs, expectations, constraints, and interfaces for all phases of the product life cycle.  [PA157.IG101.SP101]

The basic activity addresses the receipt of requirements that a customer provides to define what is needed or desired. These requirements may or may not be stated in technical terms. They should address the various product life-cycle activities and their impact on the product.  [PA157.IG101.SP101.N101]

SP 1.2         Develop the Customer Requirements

Transform stakeholder needs, expectations, constraints, and interfaces into customer requirements.  [PA157.IG101.SP103]

For Integrated Product and Process Development

Relevant stakeholders representing all phases of the product’s life cycle should include business as well as technical functions. In this way, concepts for all product-related life-cycle processes are considered concurrently with the concepts for the products. Customer requirements result from informed decisions on the business as well as technical effects of their requirements.  [PA157.IG101.SP103.AMP101]

The various inputs from the customer must be consolidated, missing information must be obtained, and conflicts must be resolved in documenting the recognized set of customer requirements. The customer requirements may include needs, expectations, and constraints with regard to verification and validation.  [PA157.IG101.SP103.N101]

Typical Work Products

1.    Customer requirements  [PA157.IG101.SP103.W101]

2.    Customer constraints on the conduct of verification  [PA157.IG101.SP103.W102]

3.    Customer constraints on the conduct of validation  [PA157.IG101.SP103.W103]

Subpractices

1.    Translate the stakeholder needs, expectations, constraints, and interfaces into documented customer requirements.  [PA157.IG101.SP103.SubP101]

2.    Define constraints for verification and validation.  [PA157.IG101.SP103.SubP102]

SG 2           Develop Product Requirements

                   Customer requirements are refined and elaborated to develop product and product-component requirements.  [PA157.IG103]

Customer requirements are analyzed in conjunction with the development of the operational concept to derive more detailed and precise sets of requirements called “product and product-component requirements.” Product and product-component requirements address the needs associated with each product life-cycle phase. Derived requirements arise from constraints, consideration of issues implied but not explicitly stated in the customer requirements baseline, and factors introduced by the selected architecture, the design, and the developer’s unique business considerations. The requirements are reexamined with each successive, lower level set of requirements and functional architecture, and the preferred product concept is refined.  [PA157.IG103.N101]

The requirements are allocated to product functions and product components including objects, people, and processes. The traceability of requirements to functions, objects, tests, issues, or other entities is documented. The allocated requirements and functions are the basis for the synthesis of the technical solution. As internal components are developed, additional interfaces are defined and interface requirements established.  [PA157.IG103.N102]

Refer to the Maintain Bidirectional Traceability of Requirements specific practice of the Requirements Management process area for more information about maintaining bidirectional traceability.  [PA157.IG103.N102.R101]

SP 2.1         Establish Product and Product-Component Requirements

Establish and maintain product and product-component requirements, which are based on the customer requirements.  [PA157.IG103.SP101]

The customer requirements may be expressed in the customer’s terms and may be nontechnical descriptions. The product requirements are the expression of these requirements in technical terms that can be used for design decisions. An example of this translation is found in the first House of Quality Functional Deployment, which maps customer desires into technical parameters. For instance, “solid sounding door” might be mapped to size, weight, fit, dampening, and resonant frequencies.  [PA157.IG103.SP101.N101]

Product and product-component requirements address the satisfaction of customer, business, and project objectives and associated attributes, such as effectiveness and affordability.  [PA157.IG103.SP101.N104]

Design constraints include specifications on product components that are derived from design decisions, rather than higher level requirements.  [PA157.IG103.SP101.N102]

For Software Engineering

For example, application components that must interface with an off-the-shelf database component must comply with interface requirements imposed by the selected database. Such product-component requirements are generally not traceable to higher level requirements.  [PA157.IG103.SP101.N102.AMP101]

 

Derived requirements also address the cost and performance of other life-cycle phases (e.g., production, operations, and disposal) to the extent compatible with business objectives.  [PA157.IG103.SP101.N103]

The modification of requirements due to approved requirement changes is covered by the “maintain” function of this specific practice; whereas, the administration of requirement changes is covered by the Requirements Management process area.  [PA157.IG103.SP101.N105]

Refer to the Requirements Management process area for more information about managing changes to requirements.  [PA157.IG103.SP101.N105.R101]

Typical Work Products

1.    Derived requirements  [PA157.IG103.SP101.W101]

2.    Product requirements  [PA157.IG103.SP101.W102]

3.    Product-component requirements  [PA157.IG103.SP101.W103]

Subpractices

1.    Develop requirements in technical terms necessary for product and product-component design.  [PA157.IG103.SP101.SubP101]

Develop architecture requirements addressing critical product qualities and performance necessary for product architecture design.  [PA157.IG103.SP101.SubP101.N101]

2.    Derive requirements that result from design decisions.  [PA157.IG103.SP101.SubP102]

Refer to the Technical Solution process area for more information about developing the solutions that generate additional derived requirements.  [PA157.IG103.SP101.SubP102.R101]

Selection of a technology brings with it additional requirements. For instance, use of electronics requires additional technology-specific requirements such as electromagnetic interference limits.  [PA157.IG103.SP101.SubP102.N101]

3.    Establish and maintain relationships between requirements for consideration during change management and requirements allocation.  [PA157.IG103.SP101.SubP103]

Refer to the Requirements Management process area for more information about maintaining requirements traceability.  [PA157.IG103.SP101.SubP103.R101]

Relationships between requirements can aid in evaluating the impact of changes.  [PA157.IG103.SP101.SubP103.N101]

SP 2.2         Allocate Product-Component Requirements

Allocate the requirements for each product component.  [PA157.IG103.SP102]

Refer to the Technical Solution process area for more information about allocation of requirements to products and product components. This specific practice provides information for defining the allocation of requirements but must interact with the specific practices in the Technical Solution process area to establish solutions to which the requirements are allocated.  [PA157.IG103.SP102.R101]

The requirements for product components of the defined solution include allocation of product performance; design constraints; and fit, form, and function to meet requirements and facilitate production. In cases where a higher level requirement specifies performance that will be the responsibility of two or more product components, the performance must be partitioned for unique allocation to each product component as a derived requirement.  [PA157.IG103.SP102.N101]

Typical Work Products

1.    Requirement allocation sheets  [PA157.IG103.SP102.W101]

2.    Provisional requirement allocations  [PA157.IG103.SP102.W102]

3.    Design constraints  [PA157.IG103.SP102.W103]

4.    Derived requirements  [PA157.IG103.SP102.W104]

5.    Relationships among derived requirements  [PA157.IG103.SP102.W105]

Subpractices

1.    Allocate requirements to functions.  [PA157.IG103.SP102.SubP101]

2.    Allocate requirements to product components.  [PA157.IG103.SP102.SubP102]

3.    Allocate design constraints to product components.  [PA157.IG103.SP102.SubP103]

4.    Document relationships among allocated requirements.  [PA157.IG103.SP102.SubP104]

Relationships include dependencies in which a change in one requirement may affect other requirements.  [PA157.IG103.SP102.SubP104.N101]

SP 2.3         Identify Interface Requirements

Identify interface requirements.  [PA157.IG103.SP103]

Interfaces between functions (or between objects) are identified. Functional interfaces may drive the development of alternative solutions described in the Technical Solution process area.  [PA157.IG103.SP103.N101]

Refer to the Product Integration process area for more information about the management of interfaces and the integration of products and product components.  [PA157.IG103.SP103.N101.R101]

Interface requirements between products or product components identified in the product architecture are defined. They are controlled as part of product and product-component integration and are an integral part of the architecture definition.  [PA157.IG103.SP103.N102]

Typical Work Products

1.    Interface requirements  [PA157.IG103.SP103.W101]

Subpractices

1.    Identify interfaces both external to the product and internal to the product (i.e., between functional partitions or objects).  [PA157.IG103.SP103.SubP101]

As the design progresses, the product architecture will be altered by technical solution processes, creating new interfaces between product components and components external to the product.  [PA157.IG103.SP103.SubP101.N101]

Interfaces with product-related life-cycle processes should also be identified.  [PA157.IG103.SP103.SubP101.N102]

Examples of these interfaces include interfaces with test equipment, transportation systems, support systems, and manufacturing facilities.  [PA157.IG103.SP103.SubP101.N103]

 

2.    Develop the requirements for the identified interfaces.  [PA157.IG103.SP103.SubP102]

Refer to the Technical Solution process area for more information about generating new interfaces during the design process.  [PA157.IG103.SP103.SubP102.R101]

Requirements for interfaces are defined in terms of origination, destination, stimulus, data characteristics for software, and electrical and mechanical characteristics for hardware.  [PA157.IG103.SP103.SubP102.N102]

SG 3           Analyze and Validate Requirements

                   The requirements are analyzed and validated, and a definition of required functionality is developed.  [PA157.IG102]

The specific practices of the Analyze and Validate Requirements specific goal support the development of the requirements in both the Develop Customer Requirements specific goal and the Develop Product Requirements specific goal. The specific practices associated with this specific goal cover analyzing and validating the requirements with respect to the user’s intended environment.  [PA157.IG102.N104]

Analyses are performed to determine what impact the intended operational environment will have on the ability to satisfy the stakeholders' needs, expectations, constraints, and interfaces. Considerations such as feasibility, mission needs, cost constraints, potential market size, and acquisition strategy must all be taken into account, depending on the product context. A definition of required functionality is also established. All specified usage modes for the product are considered, and a timeline analysis is generated for time-critical sequencing of functions.  [PA157.IG102.N101]

The objectives of the analyses are to determine candidate requirements for product concepts that will satisfy stakeholder needs, expectations, and constraints; and then translate these concepts into requirements. In parallel with this activity, the parameters that will be used to evaluate the effectiveness of the product are determined based on customer input and the preliminary product concept.  [PA157.IG102.N102]

Requirements are validated to increase the probability that the resulting product will perform as intended in the use environment.  [PA157.IG102.N103]

SP 3.1         Establish Operational Concepts and Scenarios

Establish and maintain operational concepts and associated scenarios.  [PA157.IG102.SP101]

Refer to the Technical Solution process area for more information about detailed development of operational concepts that are dependent on the selected designs.  [PA157.IG102.SP101.R101]

A scenario is a sequence of events that might occur in the use of the product, which is used to make explicit some of the needs of the stakeholders. In contrast, an operational concept for a product usually depends on both the design solution and the scenario. For example, the operational concept for a satellite-based communications product is quite different from one based on landlines. Since the alternative solutions have not usually been defined when preparing the initial operational concepts, conceptual solutions are developed for use when analyzing the requirements. The operational concepts are refined as solution decisions are made and lower level detailed requirements are developed.  [PA157.IG102.SP101.N101]

Just as a design decision for a product may become a requirement for product components, the operational concept may become the scenarios (requirements) for product components.  [PA157.IG102.SP101.N102]

The scenarios may include operational sequences, provided those sequences are an expression of customer requirements rather than operational concepts.  [PA157.IG102.SP101.N103]

Typical Work Products

1.    Operational concept  [PA157.IG102.SP101.W101]

2.    Product installation, operational, maintenance, and support concepts  [PA157.IG102.SP101.W102]

3.    Disposal concepts  [PA157.IG102.SP101.W103]

4.    Use cases  [PA157.IG102.SP101.W104]

5.    Timeline scenarios  [PA157.IG102.SP101.W105]

6.    New requirements  [PA157.IG102.SP101.W106]

Subpractices

1.    Develop operational concepts and scenarios that include functionality, performance, maintenance, support, and disposal as appropriate.  [PA157.IG102.SP101.SubP101]

Identify and develop scenarios, consistent with the level of detail in the stakeholder needs, expectations, and constraints, in which the proposed product is expected to operate.  [PA157.IG102.SP101.SubP101.N101]

2.    Define the environment the product will operate in, including boundaries and constraints.  [PA157.IG102.SP101.SubP102]

3.    Review operational concepts and scenarios to refine and discover requirements.  [PA157.IG102.SP101.SubP103]

Operational concept and scenario development is an iterative process. The reviews should be held periodically to ensure that they agree with the requirements. The review may be in the form of a walkthrough.  [PA157.IG102.SP101.SubP103.N101]

4.    Develop a detailed operational concept, as products and product components are selected, that defines the interaction of the product, the end user, and the environment, and that satisfies the operational, maintenance, support, and disposal needs.  [PA157.IG102.SP101.SubP104]

SP 3.2         Establish a Definition of Required Functionality

Establish and maintain a definition of required functionality.  [PA157.IG102.SP102]

The definition of functionality, also referred to as “functional analysis,” is the description of what the product is intended to do. The definition of functionality can include actions, sequence, inputs, outputs, or other information that communicates the manner in which the product will be used.  [PA157.IG102.SP102.N101]

Functional analysis is not the same as structured analysis in software development and does not presume a functionally oriented software design. In object-oriented software design, it relates to defining the services. The definition of functions, their logical groupings, and their association with requirements is referred to as a functional architecture. See the definition of “functional architecture” in Appendix C, the glossary.  [PA157.IG102.SP102.N102]

Typical Work Products

1.    Functional architecture  [PA157.IG102.SP102.W101]

2.    Activity diagrams and use cases  [PA157.IG102.SP102.W102]

3.    Object-oriented analysis with services identified  [PA157.IG102.SP102.W103]

Subpractices

1.    Analyze and quantify functionality required by end users.  [PA157.IG102.SP102.SubP101]

2.    Analyze requirements to identify logical or functional partitions (e.g., subfunctions).  [PA157.IG102.SP102.SubP102]

3.    Partition requirements into groups, based on established criteria (e.g., similar functionality, performance, or coupling), to facilitate and focus the requirements analysis.  [PA157.IG102.SP102.SubP103]

4.    Consider the sequencing of time-critical functions both initially and subsequently during product-component development.  [PA157.IG102.SP102.SubP104]

5.    Allocate customer requirements to functional partitions, objects, people, or support elements to support the synthesis of solutions.  [PA157.IG102.SP102.SubP105]

6.    Allocate functional and performance requirements to functions and subfunctions.  [PA157.IG102.SP102.SubP106]

SP 3.3         Analyze Requirements

Analyze requirements to ensure that they are necessary and sufficient.  [PA157.IG102.SP103]

In light of the operational concept and scenarios, the requirements for one level of the product hierarchy are analyzed to determine whether they are necessary and sufficient to meet the objectives of higher levels of the product hierarchy. The analyzed requirements then provide the basis for more detailed and precise requirements for lower levels of the product hierarchy.  [PA157.IG102.SP103.N102]

As requirements are defined, their relationship to higher level requirements and the higher level defined functionality must be understood. One of the other actions is the determination of which key requirements will be used to track technical progress. For instance, the weight of a product or size of a software product may be monitored through development based on its risk.  [PA157.IG102.SP103.N101]

Typical Work Products

1.    Requirements defects reports  [PA157.IG102.SP103.W101]

2.    Proposed requirements changes to resolve defects  [PA157.IG102.SP103.W102]

3.    Key requirements  [PA157.IG102.SP103.W103]

4.    Technical performance measures  [PA157.IG102.SP103.W104]

Subpractices

1.    Analyze stakeholder needs, expectations, constraints, and external interfaces to remove conflicts and to organize into related subjects.  [PA157.IG102.SP103.SubP101]

2.    Analyze requirements to determine whether they satisfy the objectives of higher level requirements.  [PA157.IG102.SP103.SubP102]

3.    Analyze requirements to ensure that they are complete, feasible, realizable, and verifiable.  [PA157.IG102.SP103.SubP103]

While design determines the feasibility of a particular solution, this subpractice addresses knowing which requirements affect feasibility.  [PA157.IG102.SP103.SubP103.N101]

4.    Identify key requirements that have a strong influence on cost, schedule, functionality, risk, or performance.  [PA157.IG102.SP103.SubP104]

5.    Identify technical performance measures that will be tracked during the development effort.  [PA157.IG102.SP103.SubP105]

Refer to the Measurement and Analysis process area for more information about the use of measurements.  [PA157.IG102.SP103.SubP105.R101]

6.    Analyze operational concepts and scenarios to refine the customer needs, constraints, and interfaces and to discover new requirements.  [PA157.IG102.SP103.SubP106]

This analysis may result in more detailed operational concepts and scenarios as well as supporting the derivation of new requirements.  [PA157.IG102.SP103.SubP106.N101]

SP 3.4         Analyze Requirements to Achieve Balance

Analyze requirements to balance stakeholder needs and constraints.  [PA157.IG102.SP104]

Stakeholder needs and constraints can address cost, schedule, performance, functionality, reusable components, maintainability, or risk.  [PA157.IG102.SP104.N102]

Typical Work Products

1.    Assessment of risks related to requirements  [PA157.IG102.SP104.W101]

Subpractices

1.    Use proven models, simulations, and prototyping to analyze the balance of stakeholder needs and constraints.  [PA157.IG102.SP104.SubP103]

Results of the analyses can be used to reduce the cost of the product and the risk in developing the product.  [PA157.IG102.SP104.SubP103.N101]

2.    Perform a risk assessment on the requirements and functional architecture.  [PA157.IG102.SP104.SubP101]

Refer to the Risk Management process area for information about performing a risk assessment on customer and product requirements and the functional architecture.  [PA157.IG102.SP104.SubP101.R101]

3.    Examine product life-cycle concepts for impacts of requirements on risks.  [PA157.IG102.SP104.SubP102]

SP 3.5         Validate Requirements with Comprehensive Methods

Validate requirements to ensure the resulting product will perform as intended in the user's environment using multiple techniques as appropriate.  [PA157.IG102.SP106]

Requirements validation is performed early in the development effort to gain confidence that the requirements are capable of guiding a development that results in successful final validation. This activity should be integrated with risk management activities. Mature organizations will typically perform requirements validation in a more sophisticated way and will broaden the basis of the validation to include other stakeholder needs and expectations. These organizations will typically perform analyses, simulations, or prototypes to ensure that requirements will satisfy stakeholder needs and expectations.  [PA157.IG102.SP106.N102]

Typical Work Products

1.    Record of analysis methods and results  [PA157.IG102.SP106.W101]

Subpractices

1.    Analyze the requirements to determine the risk that the resulting product will not perform appropriately in its intended-use environment.  [PA157.IG102.SP106.SubP101]

2.    Explore the adequacy and completeness of requirements by developing product representations (e.g., prototypes, simulations, models, scenarios, and storyboards) and by obtaining feedback about them from relevant stakeholders.  [PA157.IG102.SP106.SubP102]

3.    Assess the design as it matures in the context of the requirements validation environment to identify validation issues and expose unstated needs and customer requirements.  [PA157.IG102.SP106.SubP103]

The following specific practice appears in the continuous representation as
SP 3.5-1, but is subsumed in the staged representation by SP 3.5, Validate Requirements with Comprehensive Methods.  The specific practice is presented here in gray only as informative material.

SP 3.5-1      Validate Requirements

Validate requirements to ensure the resulting product will perform appropriately in its intended-use environment.  [PA157.IG102.SP105]

Typical Work Products

1.    Results of requirements validation  [PA157.IG102.SP105.W101]

Subpractices

1.    Analyze the requirements to determine the risk that the resulting product will not perform appropriately in its intended-use environment.  [PA157.IG102.SP105.SubP101]

GG 3           Institutionalize a Defined Process  [CL104.GL101]

                   The process is institutionalized as a defined process.

Commitment to Perform

GP 2.1        (CO 1)           Establish an Organizational Policy

Establish and maintain an organizational policy for planning and performing the requirements development process.  [GP103]

Elaboration:

This policy establishes organizational expectations for collecting stakeholder needs, formulating product and product-component requirements, and analyzing and validating those requirements.  [PA157.EL101]

Ability to Perform

GP 3.1        (AB 1)           Establish a Defined Process

Establish and maintain the description of a defined requirements development process.  [GP114]

GP 2.2        (AB 2)           Plan the Process

Establish and maintain the plan for performing the requirements development process.  [GP104]

Elaboration:

Typically, this plan for performing the requirements development process is a part of the project plan as described in the Project Planning process area.  [PA157.EL102]

GP 2.3        (AB 3)           Provide Resources

Provide adequate resources for performing the requirements development process, developing the work products, and providing the services of the process.  [GP105]

Elaboration:

Special expertise in the application domain, methods for eliciting stakeholder needs, and methods and tools for specifying and analyzing customer, product, and product-component requirements may be required.  [PA157.EL103]

Examples of other resources provided include the following tools:  [PA157.EL104]

·           Requirements specification tools

·           Simulators and modeling tools

·           Prototyping tools

·           Scenario definition and management tools

·           Requirements tracking tools

 

GP 2.4        (AB 4)           Assign Responsibility

Assign responsibility and authority for performing the process, developing the work products, and providing the services of the requirements development process.  [GP106]

GP 2.5        (AB 5)           Train People

Train the people performing or supporting the requirements development process as needed.  [GP107]

Elaboration:

Examples of training topics include the following:  [PA157.EL105]

·           Application domain

·           Requirements definition and analysis

·           Requirements elicitation

·           Requirements specification and modeling

·           Requirements tracking

 

Directing Implementation

GP 2.6        (DI 1)             Manage Configurations

Place designated work products of the requirements development process under appropriate levels of configuration management.  [GP109]

Elaboration:

Examples of work products placed under configuration management include the following:  [PA157.EL106]

·           Customer requirements

·           Functional architecture

·           Product and product-component requirements

·           Interface requirements

 

GP 2.7        (DI 2)             Identify and Involve Relevant Stakeholders

Identify and involve the relevant stakeholders of the requirements development process as planned.  [GP124]

Elaboration:

Select relevant stakeholders from customers, end users, developers, producers, testers, suppliers, marketers, maintainers, disposal personnel, and others who may be affected by, or may affect, the product as well as the process.  [PA157.EL113]

Examples of activities for stakeholder involvement include the following:  [PA157.EL114]

·           Reviewing the adequacy of requirements in meeting needs, expectations, constraints, and interfaces

·           Establishing operational concepts and scenarios

·           Assessing the adequacy of requirements

·           Establishing product and product-component requirements

·           Assessing product cost, schedule, and risk

 

GP 2.8        (DI 3)             Monitor and Control the Process

Monitor and control the requirements development process against the plan for performing the process and take appropriate corrective action.  [GP110]

Elaboration:

Examples of measures used in monitoring and controlling include the following:  [PA157.EL110]

·           Cost, schedule, and effort expended for rework

·           Defect density of requirements specifications

 

GP 3.2        (DI 4)             Collect Improvement Information

Collect work products, measures, measurement results, and improvement information derived from planning and performing the requirements development process to support the future use and improvement of the organization’s processes and process assets.  [GP117]

Verifying Implementation

GP 2.9        (VE 1)            Objectively Evaluate Adherence

Objectively evaluate adherence of the requirements development process against its process description, standards, and procedures, and address noncompliance.  [GP113]

Elaboration:

Examples of activities reviewed include the following:  [PA157.EL111]

·           Collecting stakeholder needs

·           Formulating product and product-component requirements

·           Analyzing and validating product and product-component requirements

 

Examples of work products reviewed include the following:  [PA157.EL112]

·           Product requirements

·           Product-component requirements

·           Interface requirements

·           Functional architecture

 

GP 2.10      (VE 2)            Review Status with Higher Level Management

Review the activities, status, and results of the requirements development process with higher level management and resolve issues.  [GP112]