Well, its time to (officially) announce the end of further development of the EFx Factory prototype! and open a new chapter on software factories for our customers.
[In actual fact, not really hot-off-the-press news, this post has been pending getting published for some months now.]
The pioneering work on EFx has not been in vain. The good news is that many of the innovations, learnings, patterns and assets, from this factory are to be absorbed into future factories from Microsoft, thanks to the patterns & practices team. You can expect to see some of the more powerful features exemplified in EFx (such as: Product Modelling, Runtime Integration, Technology Separation and Extensibility for Composability) in the next versions of the Service Factory. The gap you see now between these two factories (discussed in detail in How does EFx differ from Service Factory?) will start to close now, as we consolidate our experiences, and ramp up with a new software factory platform - go the Service Factory!
The stuff in EFx was too good to ignore, (our customers really wanted to get their hands on it), and its only been a matter of finding the right channels to get this out publicly (to have the largest impact on our customer problems), which has really been the major challenge to date. Now that we have found that channel, you should expect to see even more innovations and compelling features in the new generation of software factories to come.
As for myself, I'll continue to work passionately on software factories, in the hope of 'making sense of it for you' (the tag line of this blog).
There are still many challenges in making enterprise development a cheaper, easier and more predictable experience with reliable results using factories, and hopefully I'll share with the community some of the past experiences, patterns and techniques in this area that we have identified as key with building your factories.
Currently, this industry is on the brink of the adoption of software factories, and we currently find ourselves in a limbo, waiting for a platform to assist with the vision and boost adoption.
Many customers have identified and committed to a strategy to move forward with software factories, but without support from the platform, and experience and knowledge transfer in this domain, this task at hand seems ominously difficult, or hopelessly un-informed.
Those of us that took the plunge earlier on, without any formal platform, can testify that building factories is not an effortless undertaking. The rewards of those efforts are starting to come to fruition for the betterment of others. The earlier attempts, in various forms, should begin now to coalesce into a shared experience, and impact the future direction of this space.
Building factories today is hard. It's both hard to know what to build, and hard to know how to build it. Also, the current platform for building them is difficult to manipulate and esoteric. All this gets worse when you know we are in the shadow of a new platform that will soon to leap frog us forward again. But there are incremental advances being made all the time by many different people. It's going to take sometime before we have a fully realised vision, but this is no different than any other critical innovation in our industry, we will do it in small (verifiable) increments. Hopefully, we will be providing a bunch of tools to make this more achievable in the near future.
Most people have not witnessed the power of a real software factory yet. For most, it's hard to understand what they are and what benefit they offer the current software development market today. For those of us that have witnessed them, the potential is sobering and the benefits crystal clear. It's easy to see therefore what the future of factories can bring this industry, and how that will shape the future of software development. I hope most of you will start to witness that in the coming months.