liveBook · Manning

Subject matter expert

As explained in Building User-Friendly DSLs

A domain expert is a person with specialized knowledge of the business domain that a software system or language represents.

A subject matter expert is a person who possesses, shapes, and extends specialized knowledge of a focused domain. In a software domain, these experts own the business knowledge that the system must represent, such as pricing, processes, or regulatory compliance. section 1.4

Domain expert is the working term for a subject matter expert in a domain-specific language (DSL) approach. Experts share a domain-specific ubiquitous language, then help turn its concepts and terms into precise DSL content. section 1.2 section 1.4

A subject matter expert contributes by:

  • Writing a precise software specification in a Domain IDE instead of relying on developers to translate every business detail manually. section 1.3.1
  • Using guided DSL editing to create valid, understandable, and maintainable content. section 1.2
  • Changing features and testing the resulting Runtime independently, while software developers provide the Domain IDE and supporting implementation. section 1.3.1 section 1.5

Car-rental domain

Employees responsible for computing price quotes, executing business processes, and safeguarding regulatory compliance act as subject matter experts. Their shared business knowledge can become DSL content precise enough to generate parts of the car-rental Runtime. section 1.4 section 1.2

Figure 1.2 Using a DSL-based approach to develop a Runtime using a Domain IDE
figure

Shows how subject matter experts use a Domain IDE to author DSL content that contributes to a generated Runtime. section 1.2

How Building User-Friendly DSLs covers it

How deep it goes
Defines expertise, shared language, specification authoring, and change responsibilities but stops short of detailing expert selection or collaboration procedures.
Examples
Uses car-rental employees handling price quotes, business processes, and regulatory compliance as concrete experts.
What it assumes
Assumes specialized business knowledge while teaching how that knowledge becomes precise DSL content without requiring software-development expertise.
What you can do after
Apply expertise through a Domain IDE to author, change, and test DSL specifications that generate parts of a Runtime.
How it connects
Connects domain knowledge with ubiquitous language, domain-specific languages, Domain IDEs, Runtime generation, and software developers.

Also explained in

Compare how 4 books explain subject matter expert →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building User-Friendly DSLs. The section links point to the parts of the book it draws on.