 
 
 
 
 
 
 
 Synthesis Leveraged Domain Engineering
Synthesis Leveraged Domain Engineering 
PRODUCT DESCRIPTION
PROCESS DESCRIPTION
INTERACTIONS WITH OTHER ACTIVITIES
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.  
The objectives of Domain Engineering are to: 
 
-  
Organize and direct resources to 
accomplish the business objectives of 
an organization 
-  
Define the nature, extent, and substance of a 
product family 
that complements those business objectives 
-  
Provide leverage by which projects within a domain can deliver a product more 
effectively, predictably, and reliably 
Domain Engineering requires the following information: 
 
-  
Domain knowledge 
-  
Business objectives 
Domain Engineering requires domain and software knowledge and experience in: 
 
-  
The needs that motivate systems in the domain (i.e., application engineering 
work products) 
-  
The environments in which the systems in the domain will operate 
-  
How the systems in the domain are built 
-  
How application engineering projects in the domain are managed 
 
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.  
 
-  
- 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.  
 
-  
- 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.  
 
-  
- 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. 
 
-  
- 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. 
 
Domain Engineering is an interaction among the four steps shown in 
Figure DE-1. Domain Engineering.
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:
-  
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.  
 
 
None 
 
-  
- 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.