Domain-specific Engineering

Creating mass-customized products

One-of-a-kind products (a different product for each customer) cost too much and take too long to develop. One-size-fits-all products (the same product for all customers) cannot conform to the differing functional and operational needs of each customer. Domain-specific Engineering (DsE) is an approach for developing mass-customized products that reduces the costs, delays, and inflexibility characteristic of handcrafted software and systems.

Domain-specific Engineering presents an overview of the concepts and motivations for DsE.

Rethinking the Software Process introduces the idea that a traditional product-focused process is not the only choice nor is it adequate to address a product line opportunity.

5 Key Concepts identifies the fundamental principles that underlie DsE.

The DsE Course provides detailed guidance on the activities and work products of Domain-specific Engineering.

The DsE Approach

An organization, to adopt DsE, must first target a market consisting of customers who have similar needs. Recognizing that different customers seldom have identical needs and that most customers' needs change over time, the organization must create a domain-specific infrastructure that supports the building and evolution of the products its customers need. An organization's knowledge and expertise are key to its success as a product developer. A DsE approach helps in more effectively leveraging this knowledge and expertise for understanding and solving customers' problems faster, at lower cost, and with less rework.

DsE will help in identifying a viable market focus, developing an understanding of that market's needs that a product family can serve, and reorganizing to develop, manage, and evolve a product family to serve this market. Each organization tailors DsE guidance on developing a product family and associated production process to reflect preferred management and engineering methods, tools, and practices.

The most critical and unique element of DsE is the "decision model". The decision model is a precise characterization of what customers can ask to be made different in a product that you build for them so that it meets their specific needs as closely as possible. Based on an analysis of your market, the decision model frames your development of a product family and associated product manufacturing process. You create the means through use of your engineering knowledge and expertise to deliver customized products rapidly at a fraction of conventional effort. Although the effort to create an infrastructure of a product family and process is a significant investment, it can easily be held within the budget that building a single fixed product would normally require. Using an incremental strategy, this effort can begin delivering value to projects after only a few months of effort. With a more intensive effort, this value can multiply rapidly.

Benefits of Using DsE

There are many proven benefits to adopting a DsE approach.

At the least, in performing the analyses required by DsE, you will gain significantly greater insight into how and why your customers' needs differ and how this affects the products you build. Beyond this, you will be better able to align your business activities to those needs and produce solutions that are tailored to each customer's specific needs.

More generally, DsE benefits both adopting organizations, by making them more responsive to the needs of a targeted market, and their customers, by providing them with solutions that better fit their business needs.

Market-responsive business objectives

Solutions tailored to each customer's specific needs

Experience with DsE contrasts with the traditional dilemma of exhaustively documented (and over-constrained) problems and I'll-know-it-when-I-see-it solutions that take years of repeated trial-and-error to finish.