On the subject of Software Factories ...


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.


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.


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.