Task: Perform Detailed Technical Feasibility Exploration
This task defines how to develop and assess an architectural proof-of-concept, for a SOA solution, based on existing architectural requirements and risk profile.
Purpose
To support the final decisions regarding how to realize services.
Relationships
Main Description

Technical exploration is performed throughout the service solution design and development process, to assess the usefulness of novel implementations and to determine whether existing assets are fit for an intended use.  This specific instance of the technical exploration task is most commonly performed to ensure that specific operational systems can deliver the Quality of Service characteristics that are required of specific services. 

When dealing with existing applications, examine and consider the issues presented in Guideline: Non-Functional Requirements for Existing Systems.

See Example: Perform Technical Feasibility Exploration for a realistic scenario driving a technical feasibility exploration effort.

Steps
Determine evaluation criteria

Use the Service Model, Software Architecture Document, and the Component Model to identify criteria against which the Architectural Proof of Concept is to be evaluated.

Decide on construction approach

Select the techniques to be used for constructing the Architectural Proof of Concept, for example:

  • Conceptual modeling
  • 'Rapid' Prototyping
  • Simulation
  • Automatic translation of specifications to code
  • 'Executable' specifications
  • Construction of  'spikes' as prototypes - vertical slices through layers

You need to be able to reason about these models, in the process discovering something about both problem and solution spaces.

Select Assets and Technologies for Architectural Proof of Concept

Select the assets and technologies to be used to construct the Architectural Proof of Concept.  In this case, prime assets will include the components which are the current candidates for realizing the service that is being considered.

Construct Architectural Proof of Concept

Work with the Developer to build the Architectural Proof of Concept, using the selected assets and technologies, to determine whether the chosen realization approach will satisfy the Quality of Service requirements of the service.

Evaluate Architectural Proof of Concept

Test the Architectural Proof of Concept against the evaluation criteria.  How this testing is performed will depend on the form of the proof of concept. For example, in the case of an executable prototype, this might be through demonstration; in the case of a conceptual model, through inspection and reasoning, or, for a simulation, requiring the set-up and running of the simulation model with input data derived from the evaluation criteria, then the collection and analysis of output data from the model.

Assess Results

Assess the evaluation's results to determine whether the attempted approach delivers the Qualities of Service that are specified for the service that was being considered.  If so, this can be noted in the Design Model and in the Software Architecture Document as a "closed" issue.  If not, work to identify (and then assess) an alternative solution for realizing the service. 

Properties
Multiple Occurrences
Event Driven
Ongoing
Optional
Planned
Repeatable