What follows are (rough) notes from Jack Greenfield’s talk about software factories at the patterns & practices summit 2006 at the Microsoft campus I just attended. I managed to catch Jack in the hall and talk to him on the way out. It was good to hear that they’re at the point of working on factory schemas (aka “factories of factories”) and are working through some of the versioning.
He had some pragmatic tips toward working with the current technology around factories. Specifically developing relationships between viewpoints and versioning. I asked him, also, about very vertical domain specific languages (e.g. a language for insurance policies). His advice was to treat DSLs as a specific tool for specific situations. In that highly vertical domain, a DSL might not be the best angle (the old “my only tool is a hammer syndrome”). So that’s an area where frameworks/patterns/recipes/guidance and the other elements of factories used to “40%-ify” a viewpoint (insurance claims) come into play. At any rate, my confidence is pretty high that the factories approach has legs and is moving along…
Back to the notes. I’ve read the book, and Jack’s presentation was largely an introduction to the concept of factories, so my notes tend to be the finer points that struck me. Also, did I mention rough?
—-
Augmented reality, augmented development… knowledge is locked up in books. You almost want the Stirling notion of “specs”. That is, when you’re looking at a problem it would be ideal to be presented or prompted with the knowledge…
40/60? If 40% of the requirements in a given solution domain were common, “we’d be in good shape” toward delivering solutions successfully.
The gaming industry has “gaming engines” that each developer customizes to meet the needs of her specific game. Why isn’t there an analog in the business applications space?
Factories of factories… you can build large factories by integrating smaller factories (implicit to this: that represent specific viewpoints in the software factories schema). So — factories are easy to integrate with other factories.
“Think about the Dell website.” Mass-customization is a key motivation in software factories. Requirements through choice not customer-directed expression.
Guidance in Context, Model Driven Development, Software Product Lines
Packaging is a “very important precursor” to the realization of a software factory.
TOGAF – The Open Group Architecture Framework
“Rectangular frameworks” (e.g. Zachman) cannot express relationships between “cells”. A software factory schema is composed of viewpoints and relationships between viewpoints. Relationships permit interesting services such as navigation and generation. They also add to the overall richness of a factory solution’s metadata.
See article in Architecture Journal.
Currently working on “a cut of the Web Services Software Factory” who’s schema expresses 15-20 viewpoints. Going to provide “two or three” domain specific language tools within this schema.
Product lines: harvest-adapt-apply-harvest… rinse and repeat…
Composing factories by gathering viewpoints, IEEE-1471.

GitHub
LinkedIn
Twitter
Comments on this entry are closed.