Guy's comment is missing the fact that Software Factory
is a long term initiative and that what is available
today (in terms of tools and platform) is a
"down payment" on what needs to (and
will) be built to provide factories
architects/developers with necessary capabilities and
achieve the right level of quality.
He also uses HL7 Factory as an example of something that
did not work, because it's not finished.
As the initiator and architect of that work I have a
different opinion.
Actually, we have done two pieces of work around HL7.
The first one, is a factory that creates HL7 web
services, i.e. services that can be deployed at the edge
of an organization that wants to
"talk" HL7 with another one.
The services are conformant with HL7 web services
profiles and they are automatically produced/configured
using the factory.
Sounds complex and real world enough to you? if not ask
a HL7 solution provider!
That work is a proof of concept, not a product. The
intent was to show that factories can actually be done
in a "real world" domains, although
aiming to automate a small portion of it.
That factory IS finished, it served the goal for which
it has been built.
The second initiative, is a community project recently
started to create what Guy mentioned, a HL7 library on
.NET platform.
That project is well underway and it will release a
first instance of the library later on this year.
I think Guy is making a good point when he says
factories have to aim at small domains. I'd like to add,
to small "real world" domains.
At the same time, small factories can and need to be
composed into larger one to become more relevant.
It's through composition of small factories into a
larger one that we aim to widen their scope. The next
step is to optimize that composition, pretty much like
what the manufacturing industry does today on a supply
chain.
So are factories too complicated? They are fairly
complicated, yes!
Is it a robot used in an automotive production line
complicated? You bet it is!
Is it useful and efficient? Ask Ford, BMW, or any other
car manufacturer?
Do we have the tools we need to execute on the factory
vision? Not yet!
However, if you start with things like Guidance
Automation Toolkit (GAT) and Domain Specific Languages
(DSL) Toolkit, you're headed in the right direction.
Don't expect to build a very sophisticated
"robot" today.
However, don't expect to see the factories vision to
fail either!
Actually, you'll see Microsoft and partners coming out
with various
software factories in the next few months.
I'm sure that will give you more confidence about what I
just said.