On the subject of Software Factories ...
Overview
As many of you know, the patterns & practices team has been involved in Software Factories for a number of years now. As a team who is responsible for a number of Factories and the technologies that many of them depend on (GAT/GAX), we are committed to the scenarios that benefit from their use. Okay, that was subtle, so let me repeat it for adequate emphasis. We are committed to the scenarios that have proven over time to benefit from the use of Factories. Now you'll probably hear these scenarios defined differently depending on who you hear them from, so this is what is sounds like coming from p&p: Software Factories have shown to add the value of consistency, quality, predictability, and productivity when a team must build a specific type of application multiple times.
And?
The point of this post is to communicate our commitment to these scenarios by way of the p&p roadmap for our Factories and the GAT/GAX technology. I'll share our roadmap for the near-term and let you know when you can expect us to refine this roadmap with more details and precision.
The Smart Client, Web Client, and Web Service Software Factories
Today these factories are available, are being supported, and are adding value to many customers. We're not actively adding new features to them right now because we wanted to give the teams using them to use them and deploy real apps with them so we can get their feedback that will influence their next versions. And honestly, we really needed to address some other very pressing things (like SharePoint, Silverlight, and the Application Architecture Guide). It wouldn't be wise to consider these deliverables dead. We're continuing to invest in sustained engineering and we'll be updating each of them for Visual Studio 2010. Which segues into ...
Visual Studio 2010
Some of you might remember we were a bit slow to get updated versions of these Factories out when VS2008 was released. We learned our lesson ;) From now until the VS2010 beta 2 timeframe, we'll use the time to get a sense of the work involved in updating GAT/GAX to the new development platform. Around the VS2010 beta 2 timeframe we'll begin the work of updating each of these factories to VS2010 so we can release updated versions of them within a month after VS2010 ships.
New Features
With your help we have identified a number of useful features in the Web Client and Web Service Software Factories - thank you for all the feedback. We'll communicate our roadmap for these factories in the coming months. We are also planning to bring the Mobile Client Software Factory back to life (we deprecated it last year) and add new features to it. More on this later too.
Blueprints
Many of you are aware of the Blueprints project that Microsoft's Developer & Platform Evangelism (DPE) team has been releasing for the past year. Today, the patters & practices team does not own and has never contributed to this technology. Sometime around the middle of the calendar year, we'll do a technical assessment of Blueprints as a candidate technology to use in the future. Obviously we'll have more on this later too.
How you can help
Help us understand the most important scenarios for you. Right now we think that includes:
- The ability to create and unfold solution templates (multiple projects) in Visual Studio
- The ability to gather information from devs and architects in Visual Studio (via a wizard, DSL, etc.)
- The ability to invoke T4 templates and generate code
We also know there is a need for building/authoring these "factories", but we need specifics. We also need more details around the 3 high level features above.
That's all for now
There are a lot of teams in Microsoft that are extending Visual Studio to help you get the most of out of their products (WF, ADO.NET Entity Framework, ASP.NET, etc). It's going to be very interesting to see how all of this can come together to help you address the Software Factory scenarios. And even more interesting to see where patterns & practices can help make the experience even better. Expect us to refine this roadmap in August 2009 after we've made some assessments and received more of your feedback.
Comments
Anonymous
February 25, 2009
Hey Don, your statement on the value proposition of factories is pretty good, but I'm not so sure about the "build a specific type of application multiple times" clause. I think that is true if the same team has to build the factory as you are unlikely to get a net gain building a factory for one app. However, if someone else builds the factory and gives it to you all the benefits you mention can apply for a single app.Anonymous
February 25, 2009
Hey Kyle. Yea, I see what you mean. To be more clear an organization (what I meant by "team") may build a bunch of instances of the app and even though a single dev in the org may only build a single one, the factory is still a wise investment for the org. What might not be wise is for a single dev (independent of his org) to invest in the use of a factory to build a single instance because it will be hard to get a return on the investment of learning to use the factory, making the neccessary modifications (optional), and working it into the dev and app lifecycle processes. And no, I didn't state that last bit for your benefit - you already knew it :) Thanks manAnonymous
February 25, 2009
The comment has been removedAnonymous
February 26, 2009
A number of customers have asked about our plans for the Web Client Software Factory and the Smart ClientAnonymous
February 26, 2009
The comment has been removedAnonymous
February 28, 2009
The comment has been removedAnonymous
March 03, 2009
The comment has been removedAnonymous
March 05, 2009
All New DSL's will be 2nd Class Citizens until at least 2018