Practical Software Factories in .NETeBook - 2006
The Software Factory methodology is based on recognition of these similarities and a drive to extend the concept of "reusability" to the point where we achieve entirely automated product lines. Based on an analysis and understanding of the common features and techniques of a set of applications, a Software Factory defines a tailored, end-to-end methodology for building these applications. At the heart of the Software factory methodology is the concept of Domain Specific Languages (DSLs), which in essence are development environments specifically tailored to the set of applications in hand. It removes a certain degree of flexibility but greatly enhances productivity by removing a lot of the coding complexity (for an analogy, consider the use of the now ubiquitous drag-and-drop controls in Winforms or Visual Basic).
Further, in the SF methodology, patterns, process advice, and best practices can be harvested and applied for all applications in the set.
There are some good books on the theory of SF already on the market. Up until this point, a lot of these concepts were fairly theoretical and abstract.