FPM – Case Study Part 2

Edward and myself have made some major headway on exploring and validating some experimental tooling for the authoring factories with the 'Factory Product Model' using the p&p Service Factory as a test case.

This work is based upon learnings harvested from authoring the EFX factory itself, and generalising those, and the design, into reusable tools that can be used by others to author their own factories.

The p&p Service Factory is subject of the current experiment at present.

Despite the fact that it was not designed with this product oriented approach in mind, it is nonetheless turning out to present no significant issues from what we are concluding at present. We are able to use the logical concepts that were originally used to describe the work products of this factory, and we have been able to define a model of the factory product, that could be used to generate the factory schema, solution templates, artefacts and runtime and tooling for navigating it.

Edward has been instrumental in this work, and has posted the second part: Factory Product Model, Case Study - The Service Factory Part 2 in this series. Have a look there for a first peek at the progress.

We will soon be posting more details about how the FPM designer has developed, and how it is used to define the factory product model. Then how the factory author would define their product model from the logical work products that the factory creates. Then we look at the configuration they define for these Work Products that enabless the designer to generate the assets, work products and schema of the factory.

In the next article, I'll explain how the FPM designer works in more detail, and how that is then used to generate the runtime factory tooling used by the factory user to manipulate their instance of the factory product.

[I have to mention here, that this work is experimental and does not necessarily reflect the actual approaches that may be taken in the future Software Factories tooling in Visual Studio.]

Comments (0)

Skip to main content