Subject Matter Expert

With regard to programming a Subject Matter Expert, SME, is someone whose domain expertise is plumbed by the team, usually in the design stage of the project, to provide scope and language references specific to the subject matter that the project seeks to address. Subject Matter Experts can be problematic, in that while they may, and in most cases do have extensive language available to discuss their field of expertise with other experts, they may lack the ability to convey the requisite concepts to the programming team, creating frustration and possibly delays, in delivery of the project.

New ways of dealing with this (August 2005) are emerging in the form of Intentional Software, Jet Brains Meta Programming System (http://www.jetbrains.com/mps, and Microsoft's Software Factories and perhaps others.

Making it easier to create Domain Specific Languages can certainly help express implementations of whatever the Subject Matter Expert says, but I don't quite see how it helps the SME to communicate with the non-SME programmer if communication is an issue in the first place.

This article "Getting the Experts Involved" http://blog.intentionalsoftware.com/intentional_software/2005/08/getting_the_exp.html by Magnus Christerson will perhaps shed some light on the emerging technology in this field of Subject Matter Expert involvement facilitation.

Overview of that article:

Previous approaches, not always practical:
  • have the experts do their own programming (end user programming)
  • educate the programmer to become a subject matter

Newer "Intentional" approach: separate domain expression and software expression, give SMEs a a "super use case editor", an intentional editor (http://www.intentsoft.com/technology/glossary.html#ie) using SME terminology and notation, recording SME intentions in deep semantic way ("domain code", http://www.intentsoft.com/technology/glossary.html#domainCode), processed with "generative programming techniques" (http://www.intentsoft.com/technology/glossary.html#gp) to produce applications.


How does a Subject Matter Expert differ from a Domain Expert?

They are equivalent terms, but differentiated slightly by their usage. A quick web search reveals that Subject Matter Expert is found in web documents approximately three times more commonly than Domain Expert. Some software developement teams are absorbing the broader Lingua Franca used by general industry, possibly as a means of involving the customer more directly by speaking their language.
Becoming an Expert

There is discussion on Pragmatic Thinking And Learning about the stages of becoming an expert as described in the Dreyfus Model.
See also SubjectMatterExperts [EditHint: find a better set of names to avoid the similarities.]

Response: Subject Matter Experts -> Dismissal Of Subject Experts (main discussion) Domain Expert and part to here.
Category Learning Methods