Microsoft envisions industrialized software production

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, Microsoft’s 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 today’s 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 framework—the software equivalent of a product line—a developer can reuse as many components as possible.

Why should agency chief information officers care about this vision? In this scenario, agencies could save money by purchasing generic off-the-shelf packages and easily customizing them to meet specific needs with a set of tools the agency develops itself.

Greenfield said that in this scenario Microsoft would provide the basic platform framework, or a set of general-use tools within its developer software, but the company would not produce domain-specific functionality. Its programming tools—such as compilers, editors and debuggers—will be designed in such a way that they will be able to incorporate external domain-specific tools developed by other parties. That open-ended framework would provide the key to easy customization, Greenfield said.

Greenfield said that Microsoft has spoken with SAP AG of Walldorf, Germany, and Siebel Systems Inc. of San Mateo, Calif., about this approach. SAP, for example, could use a set of Microsoft components to build an enterprise resource planning-based product on Microsoft’s framework. In turn, an agency purchasing a software product from SAP or another vendor could use the framework to add its own specific domain functionality.

The next version of Visual Studio, due next year (click for GCN story) should start to have some of this flexibility, Greenfield said, but successive versions will be designed to accommodate this workflow.

Microsoft is not alone in its fervor for component reuse. One member of the conference audience pointed out that the open-source community also touts reusability as a key objective. Software under an open-source license can be tailored for a specialized project not envisioned by the original software’s authors.

At least one other integrated development environment features the ability to import new capabilities. The open-source Eclipse integrated development platform offers the ability to integrate external plug-ins for other languages and tools that can offer specialized functionality.

About the Author

Connect with the GCN staff on Twitter @GCNtech.

Featured

  • Contracting
    8 prototypes of the border walls as tweeted by CBP San Diego

    DHS contractors face protests – on the streets

    Tech companies are facing protests internally from workers and externally from activists about doing for government amid controversial policies like "zero tolerance" for illegal immigration.

  • Workforce
    By Mark Van Scyoc Royalty-free stock photo ID: 285175268

    At OPM, Weichert pushes direct hire, pay agent changes

    Margaret Weichert, now acting director of the Office of Personnel Management, is clearing agencies to make direct hires in IT, cyber and other tech fields and is changing pay for specialized occupations.

  • Cloud
    Shutterstock ID ID: 222190471 By wk1003mike

    IBM protests JEDI cloud deal

    As the deadline to submit bids on the Pentagon's $10 billion, 10-year warfighter cloud deal draws near, IBM announced a legal protest.

Stay Connected

FCW Update

Sign up for our newsletter.

I agree to this site's Privacy Policy.