Microsoft has had more than 100,000 downloads of its Software Factories software development technology since it debuted six months ago, S. "Soma" Somasegar, corporate vice president of the Microsoft Developer Division, said in his blog.
A Software Factory is a package of tools, processes, and guidance that extends the Visual Studio developer platform to optimize it for a specific type of application, such as an occasionally connected client or a Windows Communication Foundation service, Somasegar said.
"Over the last year, Microsoft has been investing in Software Factories, which aim to bring the benefits of automation found in other industries to software development, resulting in improved quality, consistency, and time-to-market," Somaseger said.
"In practical terms, a factory provides such capabilities as wizards, templates, designers, code generation, and documentation, and guides a team through the development process by surfacing tools and content appropriate to the task at hand," he said.
There have been four factories: Mobile Client , for Windows Mobile application development; Smart Client , for occasionally connected client applications; Web Client , for Web applications, and Web Services , for building Web services. Users also can build their own factories from within Visual Studio.
But the Software Factory concept and the number of downloads so far failed to impress one industry analyst. The download figure is a pretty small number, said Greg DeMichillie, lead analyst for software development tools at Directions on Microsoft.
DeMichillie also expressed skepticism about the potential of the technology. There have been many technologies, such as Dynamically Linked Libraries and object-oriented programming, that also have purported to make software development like assembling Lego blocks. "This, to me, is yet another one of those," he said.
Software Factories provide another way of building software, serving as a tool similar to how someone might use a better wrench or a better hammer, said DeMichillie. But Software Factories themselves will not suffice when it comes to enabling people to build software and represent only an incremental improvement, he said.
"I guess [Software Factories are] relatively unimportant in the grand scheme of things," said DeMichillie.
Technology like Microsoft's LINQ (Language Integrated Query) for accessing databases from within the C# language are far more important than Software Factories, he stressed.
Software Factories can be customized by architects and developers to suit the needs of a project team or organization, Microsoft said. Partners such as EDS are starting to build Software Factories, Somasegar said.