Task: Perform Detailed Technical Feasibility Exploration
This task defines how to develop and assess a technical proof-of-concept, for a SOA solution, based on existing architectural requirements and risk profile.
Disciplines: Architecture
Purpose
To support the final decisions regarding how to realize services.
Relationships
RolesPrimary Performer: Additional Performers:
InputsMandatory:
    Optional:
      Outputs
        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 proof of concept

        Select the assets and technologies to be used to construct the 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 proof of concept

        Work with the developer to build the 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 proof of concept

        Test the 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. 

        Illustrations
        More Information