Domain-specific Engineering, as a means to mass customization, represents the emerging concept that products should be built to satisfy the specific needs of each customer rather than requiring the customer to adapt to the needs of the product. Although envisioned as the true potential of mass production by Drucker in the 1950's, mass customization has become a practical reality only in the last 10 years.
Before the Industrial Revolution, goods were hand-made, of varying quality, and limited in availability. Phase 1, characterized by the invention of powered machinery and the construction of factories, leveraged human capabilities to achieve volume production of standardized goods. Phase 2, characterized by assembly lines and mass production, resulted in more complex goods becoming plentiful at low cost and with more consistent quality. The late 20th century quality movement has improved the effectiveness of mass production and laid the foundation for transition to phase 3.
Phase 3 is characterized by mass customization, a capability to rapidly manufacture high quality products in quantity, each tailored to the specific needs (and wants) of each customer. When a customer's needs or preferences change, a retailored product can be rapidly provided to that customer without having to either defer to or disrupt other customers who need similar but differently tailored products. This is of particular significance for software: custom (one-of-a-kind) product development represents phase 1 manufacturing whereas the development of mass market (one-size-fits-all) products exemplifies phase 2 techniques.
The basis for mass customization is a properly conceived scope of interest corresponding to a market for a set of similar products. This scope serves as an objective rationale for denoting a set of similar products that are both buildable and together address the range of needs. Such a scope is formalized as a "domain" that corresponds to the knowledge needed to build these products and the process that enables doing so in a predictable fashion. The set-theoretic extension of a DsE domain is a set of products that satisfy similar needs (a product line). Its intension is a product family that defines a constructible set of similar products. A product family has an associated production capability (process) for deriving instance products that extend the product line.
A domain is a formalization of both a set of similar products and the means to select/build instances of that set.
Traditional software development conceives of a product as an idealized target which is attained only when its requirements are fully understood and fixed. depends on having well-understood, fixed requirements. DsE was conceived from the realization that customers' true needs can never be fully understood and are constantly changing. Given this, building a custom product for each customer is too expensive and building a single product for a mass market of many customers precludes responding to each customer's specific needs. High-quality customized products, made possible with a DsE capability, will better satisfy the diverse and changing needs of a targeted market. The limitation in this approach is that an organization must have clear business objectives that enable it to focus its product efforts on a specific market and not diverge from that focus until its objectives change.