Description

Requirements Discovery and Constraints Analysis are the tools and techniques for understanding business requirements with multiple strategic impacts, including how such requirements and constraints are formed internally and externally. The IT architect is expected to apply those constraints and requirements to their technology and business decisions.

Overview

Requirements discovery is the process of distilling business needs into capabilities desired from an end solution. Requirements discovery leads to technology strategy definition and eventually, into solution perspectives such as solution architecture, solution strategy and quality attribute concerns. Constraints Analysis involves identification of parameters, whether business or technical, that bind or influence architecture decisions.

The process of requirements discovery broadly involves elicitation of functional and non-functional requirements from business needs. A business or enterprise architect’s role in requirements discovery is wider and broader in terms of scope, responsibility and, nature and stage of engagement. An architect may participate in an earlier needs assessment phase to determine broader scope of business concerns and elicit information that will help determine a suitable technology strategy from multiple options. The nature of business concerns will not be limited to problems addressable by technology solution but also include considerations such as investments, ROI (Return on Investments), business case, timelines, priorities, risks and solution strategies potentially involving an eco-system of internal and external stakeholders (e.g. technology providers). Architects involved in the assessment or business technology strategy definition phase may have to work with very high level requirements, potentially abstract or “what-if” scenarios, feasibility concerns and forward looking assumptions. The general techniques for requirements discovery at this stage employ short bursts of scoping and validation through collaborative engagement sessions such as discovery workshops where all stakeholders are involved.

After the strategy is defined and approved, Business and Technology architects will continue to engage in the process with all stakeholders during inception, elaboration and validation phases of a solution. An architect’s role in the solution lifecycle is to view requirements in the context of operating scenarios and identify architecture requirements that will drive the design of the desired solution. The traceability between requirements and architecture is also an architect concern. Several standard methodologies, frameworks, artifacts and tools exist that aid the discovery and capture of requirements.

Architects should thus be familiar with requirements discovery both, in the context of business goals and underlying architecture concerns.

Architects should also identify and elicit constraints that bind architecture concerns. Constraints emanate from a broad spectrum of requirements related to business as well as technology. Business related constraints arise from factors such as regulatory requirements, characteristics of the business and available resources for implementation. Technology related constraints arise from factors such as available technology, enterprise framework and standards, quality attributes, conflicts with respect to other requirements, and, anticipated life of the solution.

Proven Practices

  • Emphasis on business stakeholder involvement in the discovery process.
  • Driving engagement with business to deconstruct stated and unstated needs.
  • Using a structured methodologies and artifacts to drive requirements discovery process.
  • Integration of requirements discovery into the architecture lifecycle and architecture engagement process.
  • Knowledge of reference architecture both business and technology to identify needs and gaps.
  • Integrating requirements validation into architecture review process using architecture analysis methods such as ATAM (Architecture Tradeoff Analysis Method) or PBA (Perspective Based Architecture).

Sub-Capabilities

Requirements definition and management

Requirements definition is the outcome of requirements discovery process. It is set of qualifying and clearly represented needs that can be translated into a solution capability. The goal of requirements definition is to translate needs into well stated expected solution objectives, capabilities and behavior. Requirements once defined and agreed have to be managed over the lifecycle of the requirement and the solution implementation. Requirements definition is represented through various modes such as tools, documented artifacts and modeling notations such as use cases.

Iasa Certification Level Learning Objective
CITA- Foundation
  • Learner is able to classify functional and non-functional requirements
  • Learner is able to distinguish between a requirement and a constraint
  • Learner is able to define high level architecture viewpoints based on requirements
CITA – Associate
  • Learner is able to discover explicit and implicit requirements
  • Learner is able to illustrate traceability between requirements and architecture
CITA – Specialist
  • Learner is able to discover and model requirements in their area of specialization
CITA – Professional
  • Learner is able to lead requirements discovery at an enterprise level
  • Learner is able to formulate requirements discovery in context of the industry trends and emerging technologies

Scoping and Needs Assessment

A needs assessment is a process for determining and addressing needs, or “gaps” between current conditions and desired conditions or “wants”. Applying structured methods for needs assessment to identify identifying business needs and gaps that drive requirements for a future state. The process of scoping delineates needs into a logical problem and solution boundary.

Iasa Certification Level Learning Objective
CITA- Foundation
  • Learner is able to define needs assessment
  • Learner is able to summarize scope and high level needs
  • Learner is able to distinguish between needs, requirements and constraints
CITA – Associate
  • Learner is able to describe common methods applied for needs assessment
  • Learner is able to apply need analysis techniques to identify gaps and future state requirements
  • Learner is able to collect unstated customer needs
CITA – Specialist
  • Learner can define data required for needs assessment in context of industry
  • Learner can conduct needs assessment in context of their area of specialization
  • Learner is able to synthesize unstated customer needs
CITA – Professional
  • Learner can lead needs assessment at enterprise level
  • Learner can interpret complex, unstated or abstract needs at an enterprise level

Constraints Analysis

Constraints analysis is the process of identifying and analyzing barriers that bind requirements driving a solution strategy.  Common business constraints that should be pro-actively covered in the requirements process are constraints related to resources (primarily financial and people), time (speed to market), structure (prevailing standards or norms, maturity, culture) and external parameters (regulatory, legal, social). Constraints related to technology strategy include conflicting quality attributes, enterprise standards and available resources and solutions.

Iasa Certification Level Learning Objective
CITA- Foundation
  • Learner is able to define constraints
  • Learner is able to identify typical constraints
CITA – Associate
  • Learner is able to recognize common business constraints
  • Learner is able to infer industry constraints related to their area of scope
  • Learner is able to perform constraint analysis in context of the business and solution strategy
CITA – Specialist
  • Learner is able to perform constraint analysis in context of the business technology strategy
  • Learner is able to assess constraints related to their area of specialization
CITA – Professional
  • Learner is able to perform constraint analysis in context of the business technology strategy at an enterprise level
  • Learner is able to assess constraints related to enterprise architecture

Usability Requirements Analysis 

Usability requirements are the establishment, clarification and communication of non-functional requirements for usability. It considers the analysis of the characteristics of users and their tasks, and the technical, organizational and physical environment in which solution will operate.

Iasa Certification Level Learning Objective
CITA- Foundation
  • Learner is able to classify usability requirements
  • Learner is able to explain usability concerns in architecture requirements
  • Learner is able to describe basic principles of usability
  • Learner is able to describe usability standards
CITA – Associate
  • Learner is able to model usability scenarios and constraints as distinct set of requirements
  • Learner is able to identify usability concerns relevant to the domain
  • Learner is able to identify usability requirements in compliance with regulatory or statutory requirements
CITA – Specialist
  • Learner is able to define usability needs and architecture standards for the enterprise
  • Learner is able to define information architecture requirements for usability
CITA – Professional
  • Learner is able to describe usability engineering techniques
  • Learner is able to assess usability needs relevant to the industry
  • Learner is able to drive enterprise practices in line with emerging practices and enhancements in usability

Related Capabilities

Resources

The following external references have additional information on the subject of Requirements Discovery and Constraints Analysis:

Books

Author

maya_moreMaya More

Maya More is an IASA member and CITA-Foundation certified architect having over 19 years experience in business technology consulting, enterprise architecture and technology implementation. She has worked with global businesses in multiple countries and industries such as insurance, healthcare and oil & gas. She currently works as Architecture and Technology SME for a leading oil & gas corporation in India.