This chapter looks at the process of managing architecture requirements throughout the ADM.
Figure 17-1: ADM Architecture Requirements Management
The objectives of the Requirements Management phase are to:
- Ensure that the Requirements Management process is sustained and operates for all relevant ADM phases
- Manage architecture requirements identified during any execution of the ADM cycle or a phase
- Ensure that relevant architecture requirements are available for use by each phase as the phase is executed
As indicated by the "Requirements Management" circle at the center of the ADM graphic, the ADM is continuously driven by the requirements management process.
It is important to note that the Requirements Management circle denotes not a static set of requirements, but a dynamic process whereby requirements for enterprise architecture and subsequent changes to those requirements are identified, stored, and fed into and out of the relevant ADM phases, and also between cycles of the ADM.
The ability to deal with changes in requirements is crucial. Architecture is an activity that by its very nature deals with uncertainty and change - the "grey area" between what stakeholders aspire to and what can be specified and engineered as a solution. Architecture requirements are therefore invariably subject to change in practice. Moreover, architecture often deals with drivers and constraints, many of which by their very nature are beyond the control of the enterprise (changing market conditions, new legislation, etc.), and which can produce changes in requirements in an unforeseen manner.
Note also that the Requirements Management process itself does not dispose of, address, or prioritize any requirements; this is done within the relevant phase of the ADM. It is merely the process for managing requirements throughout the overall ADM.
It is recommended that a Requirements Repository (see Part IV, 41.6.1 Requirements Repository) is used to record and manage all architecture requirements. Unlike the Architecture Requirements Specification, and the Requirements Impact Assessment, the Requirements Repository can hold information from multiple ADM cycles.
The first high-level requirements are articulated as part of the Architecture Vision, generated by means of the business scenario or analogous technique.
Each phase of the ADM, from Preliminary to Phase H, must select the approved requirements for that phase as held in the Requirements Repository and Architecture Requirements Specification. At the completion of the phase the status of all such requirements needs to be updated. During the phase execution new requirements generated for future architecture work within the scope of the current Statement of Architecture Work need to be documented within the Architecture Requirements Specification, and new requirements which are outside of the scope of the current Statement of Architecture Work must be input to the Requirements Repository for management through the Requirements Management process.
In each relevant phase of the ADM the architect should identify types of requirement that must be met by the architecture, including applicable:
- Functional requirements
- Non-functional requirements
When defining requirements the architect should take into account:
- Assumptions for requirements
- Constraints for requirements
- Domain-specific principles that drive requirements
- Policies affecting requirements
- Standards that requirements must meet
- Organization guidelines for requirements
- Specifications for requirements
Deliverables in later ADM phases also contain mappings to the design requirements, and may also generate new types of requirements (for example, conformance requirements, time windows for implementation).
The world of requirements engineering is rich with emerging recommendations and processes for requirements management. TOGAF does not mandate or recommend any specific process or tool; it simply states what an effective requirements management process should achieve (i.e., the "requirements for requirements", if you like).
One effective technique that is described in TOGAF itself is business scenarios, which are an appropriate and useful technique to discover and document business requirements, and to articulate an Architecture Vision that responds to those requirements. Business scenarios are described in detail in Part III, 26. Business Scenarios and Business Goals.
There is a large, and increasing, number of Commercial Off-The-Shelf (COTS) tools available for the support of requirements management, albeit not necessarily designed for architecture requirements. The Volere web site has a very useful list of leading requirements tools (see www.volere.co.uk/tools.htm).
Inputs to the Requirements Management phase are:
- A populated Architecture Repository (see Part IV, 36.2.5 Architecture Repository),
- Organizational Model for Enterprise Architecture (see Part IV, 36.2.16 Organizational Model for Enterprise Architecture), including:
- Scope of organizations impacted
- Maturity assessment, gaps, and resolution approach
- Roles and responsibilities for architecture team(s)
- Constraints on architecture work
- Budget requirements
- Governance and support strategy
- Tailored Architecture Framework (see Part IV, 36.2.21 Tailored Architecture Framework), including:
- Tailored architecture method
- Tailored architecture content (deliverables and artifacts)
- Configured and deployed tools
- Statement of Architecture Work (see Part IV, 36.2.20 Statement of Architecture Work)
- Architecture Vision (see Part IV, 36.2.8 Architecture Vision)
- Architecture requirements, populating an Architecture Requirements Specification (see Part IV, 36.2.6 Architecture Requirements Specification)
- Requirements Impact Assessment (see Part IV, 36.2.18 Requirements Impact Assessment)
The steps in the Requirements Management phase are described in the table below:
Requirements Management Steps
ADM Phase Steps
Identify/document requirements - use business scenarios, or an analogous technique
- Determine priorities arising from current phase of ADM
- Confirm stakeholder buy-in to resultant priorities
- Record requirements priorities and place in Requirements Repository
Monitor baseline requirements
Identify changed requirements:
- Remove or re-assess priorities
- Add requirements and re-assess priorities
- Modify existing requirements
Identify changed requirements and record priorities:
- Identify changed requirements and ensure the requirements are prioritized by the architect(s) responsible for the current phase, and by the relevant stakeholders
- Record new priorities
- Ensure that any conflicts are identified and managed through the phases to a successful conclusion and prioritization
- Generate Requirements Impact Statement (see 36.2.18 Requirements Impact Assessment) for steering the architecture team
- Changed requirements can come in through any route. To ensure that the requirements are properly assessed and prioritized, this process needs to direct the ADM phases and record the decisions related to the requirements.
- The Requirements Management phase needs to determine stakeholder satisfaction with the decisions. Where there is dissatisfaction, the phase remains accountable to ensure the resolution of the issues and determine next steps.
- Assess impact of changed requirements on current (active) phase
- Assess impact of changed requirements on previous phases
- Determine whether to implement change, or defer to later ADM cycle; if decision is to implement, assess timescale for change management implementation
- Issue Requirements Impact Statement, Version n+1
Implement requirements arising from Phase H
The architecture can be changed through its lifecycle by the Architecture Change Management phase (Phase H). The requirements management process ensures that new or changing requirements that are derived from Phase H are managed accordingly.
Update the Requirements Repository with information relating to the changes requested, including stakeholder views affected
Implement change in the current phase
Assess and revise gap analysis for past phases
The gap analysis in the ADM Phases B through D identifies the gaps between Baseline and Target Architectures. Certain types of gap can give rise to gap requirements.
The ADM describes two kinds of gap:
- Something that is present in the baseline, but not in the target (i.e., eliminated - by accident or design)
- Something not in the baseline, but present in the target (i.e., new)
A "gap requirement" is anything that has been eliminated by accident, and therefore requires a change to the Target Architecture.
If the gap analysis generates gap requirements, then this step will ensure that they are addressed, documented, and recorded in the Requirements Repository, and that the Target Architecture is revised accordingly.
The outputs of the Requirements Management process may include, but are not restricted to:
The Requirements Repository will be updated as part of the Requirements Management phase and should contain all requirements information.
When new requirements arise, or existing ones are changed, a Requirements Impact Statement is generated, which identifies the phases of the ADM that need to be revisited to address the changes. The statement goes through various iterations until the final version, which includes the full implications of the requirements (e.g., costs, timescales, and business metrics) on the architecture development. Once requirements for the current ADM cycle have been finalized then the Architecture Requirements Specification should be updated.