Technology Analysis (Task)
- Technology Analysis
- the
requirements engineering
task during which important technologies that are being (or may be) used
in one or more business enterprises, systems, applications, or components
are identified, analyzed, and documented
As illustrated in the preceding figure, Technology Analysis is part of the following inheritance hierarchy:
The typical responsibilities of Technology Analysis are to:
- Identify critical technologies.
- Analyze the readiness of these technologies in terms of:
- Maturity
- Fitness with regard to relevant (e.g., software, system, system of systems, product line):
- Requirements
- Architectures
Technology analysis can typically begin when the following
preconditions hold:
Technology analysis is typically complete when the following
postconditions hold:
Technology analysis typically involves the
technology strategy team performing the following steps in
an iterative, incremental, and parallel manner:
- Determine the technology needs of the:
- Customer organization’s business enterprise,
- System of systems, family of systems, network of systems, or product line, or
- System being developed
- Identify potentially useful technologies (e.g., nanotechnology, XML, WAP, Java)
- Identify the important and critical technologies.
- Analyze the important and critical technologies. For each technology, determine:
- The needs and requirements driving the actual or potential usage of the technology
- Where the technology is planned to be or is being used (e.g., system, subsystem, architectual element)
- The rational as to why the technology is considered important or critical
- A brief background or history of the technology
- Trends and projections regarding the future of the technology
- Technology readiness:
- Technology maturity
- Fitness with regard to relevant requirements/needs
- Fitness with regard to relevant architectures
- Producibility (e.g., manufacturability)
- Programmatic issues:
- Cost
- Current sources of the technology including vendors and products (COTS, GOTS, OSS)
- Fitness to corporate culture (e.g., need for paradigm shift)
- Potential Benefits
- Potential Risks:
- Risk level
- Risk mitigation approach
- Recommendation regarding selection and usage
- Develop Technology Analysis report
- Develop Technology Maturation Plan if necessary
Technology analysis can typically be performed using the
following techniques:
-
Categorization.
Categorize the various technologies and vendors.
-
Cross Functional Teams.
Use cross functional teams to analyze the
technologies.
-
Gap Analysis.
Analyze the gap between the technologies currently in
use and those needed.
-
Incremental Development.
Incrementally analyse the technologies.
-
Interviews.
Interview
vendor representatives.
-
Iteration.
Iterate the technology analysis based on new
information and COTS Component Testing.
-
Joint Application Development (JAD).
Hold JAD technology analysis sessions.
-
Parallel Development.
Analyze the potentially useful technologies in parallel
with:
- Other requirements engineering tasks (e.g.,
requirements elicitation, requirements reuse, requirements
specification, requirements management).
- Other activities (e.g., architecting, testing,
management, configuration management, training).
-
Testing.
Perform COTS Component and Component Integration
Testing of products using potential technologies.
-
Timeboxing.
Timebox the technology analysis task so that new
technologies can be selected and used.
- Vendor Presentations
Technology analysis typically results in the production of
the following work products:
- Technology analysis is usually performed during the
business strategy phase, but it can also be performed of
during the initiation phase if insufficient business
[re]engineering was required to justify a separate business
strategy phase.
- Important means necessary to fulfill requirements.
A technology is sufficiently important to analyze if the technology
is necessary for the systems that incorporate it
to fulfill their requirements:
- Thus, if the technology proves inadequate or is not ready for usage, then:
- The application vision (i.e., overall mission concept) is lost.
- The system’s effectiveness is significantly degraded.
- This includes all types of requirements including functional requirements,
quality requirements, and constraints.
- Critical means important and either new or novel usage.
An important technology is considered critical if the technology or its usage in
the system(s) are either:
- New
and therefore is pushing the state-of-the-art as opposed to state-of-the-practice
(i.e., ‘bleeding-edge’ technology)
- Novel
in the sense of not having been previously used successfully
in the way it is being (or will be) used in the systems
- It is essential that critical technologies be analyzed for readiness
for use in terms of technological maturity.
- Technology Maturity.
The following scale can be used to categorize the maturity levels of important technologies:
| Maturity Level |
Color Code |
Definition |
| Totally Immature |
Red |
The technology exists only as speculative theory.
Basic technology research is underway in which the underlying principles are observed and reported. |
| Very Immature |
Red |
The technology is under laboratory development.
Applied R&D has been initiated to produce an experimental proof-of-concept.
Feasibility research is being performed. |
| Immature |
Red |
Technology development is underway in which an initial prototype is being implemented. |
| Somewhat Immature |
Yellow |
The technology is beginning to be used in pilot projects.
One or more beta implementations of the technology exist. |
| Nearly Mature |
Yellow |
The technology is beginning to be successfully used in production projects by early adopters. |
| Mature |
Green |
The technology is in widespread successful production usage.
Commercial-off-the-shelf products using the technology are available from
multiple vendors. |
| Very Mature |
Green |
The technology is in widespread successful production usage,
but newer and potentially better emerging technologies are under development. |
| Becoming Obsolete |
Yellow |
The technology is successfully in widespread production usage,
but it is starting to be viewed as obsolete.
Emerging competing technology is starting to be used in production projects. |
| Obsolete |
Red |
The technology is widely considered obsolete because new and better technology
is in widespread successful production usage. |
| Very Obsolete |
Red |
The technology is universally considered to be obsolete
because new and better technology is in widespread successful production usage and
because the technology lacks adequate support, spare parts, available trained maintainers, etc. |
- On major projects were critical technologies must be used (e.g., NASA, US Department of Defense),
independent
Technology Readiness Assessments (TRAs) are mandated to ensure that
critical technologies reach specific Technology Readiness Levels (TRLs) by certain milestones
because the use of immature and inappropriate technologies has resulted in major project failures and
cost and schedule overruns.