Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Friday, March 21, 2008

Has Microsoft Implemented the Software Factory? I think not.

Long ago I started this blog with a rant about a technology, or a promise of one, that really got under my skin.

I guess the real aggravation stemmed from the role of the Software Architect being dismissed by Microsoft. That may not have been their intention, but it was the result of VSTS 2005 Architect Edition. Not only were we dismissed, but the industry standards that I have watched deliver success after success where spit on by the offering of the DSL tools and the dismissal of UML. That is only my opinion. I am not sure if you will find it widely accepted.

The one shining hope I had was that the new movement would be used as intended to help produce software factories. What I have seen come out of patterns and practices are not software factories as prescribed by the initial movement. If we look back to the original core piece of what a software factory encapsulates, we should see a software product line embedded within the factory.

What we find with the Microsoft software factories is that they are only a small part of what one would consider a software product line to be. They are code generation frameworks that have no domain specific knowledge at all. A software product line contains core components that support multiple selections of domain specific configurations. They are managed and configured using variability techniques.

The Microsoft software factories are simply plumbing that enables more of the same type of plumbing to be added through code generation.

They do however offer a solution that can enable a product line to be created and then lead into what one might call a software factory. Yet that is several iterations and projects down the road past where a software factory gets you to. I like to think of the Microsoft Software Factories as software factory enablers for certain types of architectures, that fall within the scope of what a Microsoft Software Factory can supply.

Although a little off topic I should mention that a common mistake that I see with them is that they are only squares that a lot of people are trying to make fit into circles, rectangles, and triangles. They are not good for every type of architecture or application. In my experience when they fit the needs of the architecture, they work great for producing a software product line. I have yet to take the software product lines any further to the point where they would be considered software factories.

I don't really know what to expect in the future of the software factory movement. It seems to have taken a path that left the original movement somewhere off in the distance. Like I said above, I think they are cool little tools that offer a great advantage when used correctly, but they should be renamed and redefined.

posted by tadanderson at 8:26 PM

1 Comments:

Blogger Mark said...

Tad, although not directly related to factories you should take a look at the April CTP of Team Architect:
http://blogs.msdn.com/jeffbe/archive/2008/04/11/april-rosario-ctp-now-available.aspx

1:39 PM  

Post a Comment

<< Home

Previous Posts

  • patterns & practices: Documentation Tools CTP Avai...
  • Windows Mobile Line of Business Solution Accelerat...
  • Pro WPF in C# 2008: Windows Presentation Foundatio...
  • Download the Software Tools Featured at MIX08
  • Sparx Systems has released Enterprise Architect (E...
  • Windows SDK for Windows Server 2008 and .NET Frame...
  • MIX08 Sessions
  • ASP.NET 3.5 MVC Preview 2 Available for Download
  • Visual Studio 2008 tooling for Microsoft Silverlig...
  • Microsoft Expression Blend 2.5 and Studio 2.0 Down...



Powered by Blogger