Microsoft Corp. is pursuing a strategy that would make software development easier by enabling developers to create applications in an assembly line fashion.
The Redmond, Wash., company is looking to build support for so-called software factories in the “Whidbey” and “Orcas” versions of its Visual Studio tool sets. Whidbey, or Visual Studio 2005, will be available next year, and Orcas, the code name for the following version of the product, will be available in what Microsoft calls its “Longhorn” wave, which will be in 2006 or later.
Software factories use tools such as the Visual Studio Team System, DSLs (domain-specific languages), patterns frameworks and guidance to build applications for specific industries or markets.
Microsofts factories also play into the companys software-modeling strategy, said Jack Greenfield, an enterprise tools architect at Microsoft, who has co-authored a book on software factories.
“We plan to make some kind of support for building and using software factories available in Whidbey,” Greenfield said. “Were looking at the possibility of having some factories ship in Orcas for building smart clients—a very ordinary space thats traditionally been addressed by things like [Visual Basic].”
Microsoft wants to empower individual developers with factories and enterprise teams and organizations with specialized tools designed to build applications for their industries.
Greenfield said that while companies such as SAP AG, Siebel Systems Inc. and PeopleSoft Inc. can develop architectures and frameworks for CRM (customer relationship management) applications, sales force automation or supply chain automation, “their challenge is with the tools.”
For these types of organizations, “Wed give them an SDK [software development kit] that enables them to build their own DSLs,” Greenfield said. “Our third-party partners can … build CRM modeling tools that play into these other tools. Our modeling technology will be made available sometime after Whidbey.”
Stephen Forte, chief technology officer at Corzen Inc., in New York, said he welcomes software factory technology. “It all has to do with design patterns, an old concept that is gaining momentum in both the Java and Microsoft camps.”
Forte said he used the technology on previous projects “and had to build the factory methods all by ourselves. It would be nice to see them just in the framework or as a simple add-on.”
Other users said they dont see factories as a panacea. “Certain types of software lend themselves well to this type of development model, but for many others, its simply unrealistic,” said Roland Collins, CTO of InvestEdge Inc., in Pittsburgh. “Our company develops high-end investment banking software, and the complexity and nature of this type of application doesnt really lend itself well to using a software factory.”
Nevertheless, software factories would enable Microsoft to use its core strength—its tools—to take on IBM Global Services. Greenfield, formerly an architect at Rational Software Corp., which is now a part of IBM, said Microsoft plans to empower companies competing with IGS.
“We have a broad community of partners who have a lot of domain-specific knowledge, and, frankly, theyre competing with IGS,” Greenfield said. “Wed like to empower them to build factories and to extend factories. And what that does is allow the Microsoft community to offer bits where the IBM community offers bodies. We think well win that game.”