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 – Professional | - Learner is able to discover and model requirements in their area of specialization |
CITA – Distinguished | - 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 – Professional | - 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 – Distinguished | - 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 – Professional | - 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 – Distinguished | - 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 – Professional | - Learner is able to define usability needs and architecture standards for the enterprise |
- Learner is able to define information architecture requirements for usability | |
CITA – Distinguished | - 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
- Industry Analysis
- Requirements Modeling
- Views and Viewpoints
- Balancing and Optimizing Quality Attributes
Resources
The following external references have additional information on the subject of Requirements Discovery and Constraints Analysis:
- Software Engineering Institute (Requirements Elicitation, Constraints and Needs Assessment) & SEI Digital Library- sei.cmu.edu
- Needs Assessment – needsassessment.org
- Constraints and Assumptions – bridging-the-gap.com/ba-stories-its-not-all-requirements-assumptions-and-constraints-matter-too
- Usability Best Practices and Strategies– usability.gov
- Information Architecture for Usability - https://www.usabilityfirst.com/about-usability/information-architecture
Books
- Consulting in Uncertainty: The Power of Inquiry by Ann K. Brooks, Kathy Edwards ISBN-13: 978-0415800495 ISBN-10: 0415800498
- Exploring Requirements: Quality Before Design by Donald C. Gause , Gerald M. Weinberg ISBN-13: 978-0932633132 ISBN-10: 0932633137
- A Guide to Assessing Needs: Essential Tools for Collecting Information, Making Decisions, and Achieving Development Results (World Bank Training Series) by Ryan Watkins , Maurya West Meiers, Yusra Visser ISBN-13: 978-0821388686 ISBN-10: 0821388681
Author
Maya More
IASA member and CITA-Foundation certified
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.