GCN Home > 06/03/04 web stories
Microsoft envisions industrialized software production
By Joab Jackson, GCN Staff
Microsoft Corp. wants to change the way software is written, namely to move development from the realm of craftsmanship into the realm of mass production, according to Jack Greenfield, Microsofts architect for enterprise frameworks and tools.

Paradoxically, such mass production will also allow agencies to more cheaply customize their software, he claimed.

To this end, the company is developing its Visual Studio software development application so that it can incorporate specialized programming languages and tools. Such a tool could allow agencies to build software packages that would meet their own needs, using a combination of generic off-the-shelf components and specialized agency-developed functionality, Greenfield said.

Greenfield spoke at the quarterly Federal CIO Council emerging components conference today.

Although distributed on mass-produced CDs, much of todays software is still coded by hand, Greenfield said. The trouble with this approach is that it is expensive. Coders also spend too much time reinventing the wheel, or writing code that has been written before.

Although the software industry has long tried to implement code reusability in its development processes, it has always been hampered because individual chunks of code often do not mesh easily into other projects.

In order to help foster reusability, Microsoft wants to borrow a technique from the automobile industry product lines. Greenfield explained automobile companies rely on supply chains that provide thousands of interchangeable parts. From this set of standardized parts, an automobile company then fashions an entire product line, featuring a wide range of individual models. Since single parts can be used in multiple models, automobile costs can be kept reasonably low.

Software can be developed in the same way, Greenfield claimed. Applications should be cobbled together with generic off-the-shelf components.

"We should be able to map together new applications using chunks of prebuilt software," Greenfield said.

The key to reusability would be the use of frameworks. By keeping to a single frameworkthe software equivalent of a product linea developer can reuse as many components as possible.

More news on related topics: Business Process Management, New Products / Technology