RSP gb toc RSP Left Up Down GoTo Synthesis Leveraged Domain Engineering
PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES


DE. Domain Engineering Overview

Getting Started

Domain Engineering is an activity of a Synthesis process that creates and supports a standardized Application Engineering process and products in a business area. Domain Engineering is a comprehensive iterative life-cycle process with management, analysis, implementation, and support activities for a product family of primary value to a business-area organization.

Objectives

The objectives of Domain Engineering are to:

Required Information

Domain Engineering requires the following information:

Required Knowledge and Experience

Domain Engineering requires domain and software knowledge and experience in:

PRODUCT DESCRIPTION

Domain Engineering creates four work products: Domain Plan, Domain Definition, Domain Specification, and Domain Implementation. Domain engineers evolve these products in subsequent iterations of Domain Engineering to support future projects, consistent with organizational business objectives.

Domain Plan

Purpose:
A Domain Plan (see Section DE.1) describes a plan for domain evolution and defines the tasks and resource allocations for domain development increments.
Verification Criteria:
The expected needs of the projected product market in the business area are sufficient to compensate for projected costs and risks of domain development.

Domain Definition

Purpose:
A Domain Definition (see Section DE.2.1) defines the informal scope and orientation that characterize a viable domain.
Verification Criteria:
The Domain Definition captures sufficient information to allow domain engineers to describe any existing or potential system in the domain.

Domain Specification

Purpose:
A Domain Specification (see Section DE.2.2) formalizes expert knowledge of how to express problems in the domain and how to create corresponding solutions for the problems.
Verification Criteria:
The Domain Specification precisely expresses the domain as captured in the Domain Definition.

Domain Implementation

Purpose:
A Domain Implementation (see Section DE.3) is an implementation (with documentation and automated support) of the Application Engineering process and product family for the domain, as prescribed by the Domain Specification.
Verification Criteria:
The Domain Implementation provides the standardized Application Engineering process and product family described in the Domain Specification.

PROCESS DESCRIPTION

Domain Engineering is an interaction among the four steps shown in Figure DE-1. Domain Engineering.

Procedure

Follow these steps for the Domain Engineering Activity.

Activity: Domain Management

Action:
Plan, monitor, and control the use of domain resources to provide standardized process and product family for a domain of interest to achieve organizational business objectives.
Result:
Domain Plan
Heuristics:
Define long-range and near-term objectives for a business area. Organize and manage domain resources to achieve those objectives.

Activity: Domain Analysis

Action:
Scope and specify a domain based on an analysis of business objectives of an organization.
Input:
Domain Plan
Result:
  • Domain Definition
  • Domain Specification
Heuristics:
  • Create an informal definition of the domain. Characterize its scope, the aspects common to all systems in the domain, and the features that vary across systems in the domain. Explicitly state what is not part of the domain. Provide a glossary of common terms. Assess the viability of supporting each of the aspects you have characterized.
  • Precisely specify problems within the scope of the domain. Describe both common problems and variations in those problems. Specify solutions to the problems in the domain so that the solutions vary in the same way as the problems. Specify the standardized Application Engineering process for building applications in the domain.

Activity: Domain Implementation

Action:
Implement the domain as defined by the Domain Specification.
Input:
  • Domain Definition
  • Domain Specification
  • Domain Plan
Result:
Domain Implementation
Heuristics:
  • Implement the product family and process described in the Domain Specification. Incorporate variations into the implementation of the solutions.
  • Create the standards and procedures, in documentation and supporting automation, that institute a standardized Application Engineering process as specified in the Domain Specification.

Activity: Project Support

Action:
Support a project in performing the Application Engineering process.
Input:
Domain Implementation
Heuristics:
Deliver, install, and support the Domain Implementation for use by the projects in the domain.

Risk Management

Risk:
The products of Domain Engineering (standardization of Application Engineering products and process) will not lead to standardized domain practices on projects.
Implication:
The Domain Engineering investment will not produce projected benefits for the business organization.
Mitigation:
  • Staff the Domain Engineering work with experienced project managers and engineers. Ensure that all work is actively reviewed by other experienced managers and engineers and is adequately reviewed by all participants of application engineering projects.
  • Evaluate the effectiveness of the Domain Engineering process and work products relative to past project experiences. Ensure that the characteristics of that experience or the resulting systems are not in conflict with the process and work products.
  • Provide unified management of domain engineering and application engineering projects. Establish an organizational commitment to the combined success of all participants.

INTERACTIONS WITH OTHER ACTIVITIES

Feedback to Information Sources

None

Feedback From Product Consumers

Contingency:
The standardized product family is inadequate to support the needs of particular customers.
Source:
Application Engineering
Response:
  • Determine that expressed needs are outside of or otherwise conflict with chosen domain objectives or cannot be viably satisfied given available domain resources.
  • Evolve the domain to accommodate changing needs.

Contingency:
The standardized Application Engineering process is inefficient or leads to less-than-ideal results for a particular project.
Source:
Application Engineering
Response:
  • Determine that the benefits of process standardization outweigh the interests of the particular project.
  • Evolve the definition of the Application Engineering process to reflect this project's experience or to be adaptable to the particular conditions of concern.



PHS