Component Visioning
- Component Visioning
- the
requirements engineering
task during which the
customer organization’s vision of a
component
is produced and documented
As illustrated in the preceding figure, Component Visioning is part of the following inheritance hierarchy:
- Type: Abstract
- Superclass: Visioning
- Subclasses: None
The typical responsibilities of Component Visioning are to:
- Form a consensus regarding the customer
organization’s vision of an component among its
stakeholders.
- Determine and document an component’s:
- Definition
- Mission
- Business Problems and Opportunities
- Major Stakeholder Needs
- Business, Functional, Data, and Quality Goals
- Constraints
- Lay a foundation on which the requirements of the
component can be built.
Component visioning can typically begin when the following
preconditions hold:
Component visioning is typically complete when the following
postconditions hold:
Component visioning typically involves the
requirements team performing the following steps in an
iterative, incremental, and parallel manner:
- Read and understand the relevant documentation:
- Identify and interview major stakeholders:
- Produce a formal definition of the component.
- Determine and document the mission of the component.
- Determine and document the business problems the
component is intended to solve and the business opportunities
that the component is intended to take advantage of.
- Determine and document the needs of the major
stakeholders.
- Determine and document the overall goals of the
component:
- Business Goals
- Functional Goals (a.k.a., desired
feature set)
- Data Goals
- Quality Goals
- Determine and document the top-level constraints on the
component:
- Business Rules
- Business Constraints
- Data, Hardware, and Software Constraints
- Industry Standards
- Legal and Regulatory Constraints
Component visioning can typically be performed using the
following techniques:
-
Documentation Studies.
Study all documentation (e.g., customer analysis,
market analysis, technology analysis, user analysis) that may
provide valuable input to the component vision
statement.
-
Interviews.
Interview the customer representatives, marketing
representatives, user representatives, and business domain
experts.
-
Brainstorming.
Brainstorm informal lists of business problems and
opportunities, stakeholder needs, and component goals.
-
Cross Functional Teams.
Use a cross-functional requirements team including
multiple
roles to perform component visioning.
-
Incremental development.
Incrementally envision the component.
-
Iteration.
Iterate the component vision statement.
-
Parallel Development.
Envision the component in parallel with:
- Other requirements engineering tasks (e.g.,
requirements elicitation, requirements reuse, requirements
analysis, requirements management).
- Other activities (e.g., management).
-
Timeboxing.
Timebox the component visioning so that new increments
of component goals are available at regular intervals for
driving the requirements elicitation, reuse, analysis, and
specification tasks.
Component visioning typically results in the production of
the following work products:
- Component visioning is definitely required for component
development projects.
- Some level of component visioning is usually needed to
provide a foundation for the eliciting the component’s
requirements.