Modularizing the Government
In June 2012, the White House issued guidance intended to make the federal government a better customer of information technology. This came in part from a document, Contracting Guidance to Support Modular Development, which highlighted the government’s efforts to encourage and embrace a variety of commercial industry trends that were yielding better results for IT investments.
For years, the White House has been working to foster agile methodologies (including “big-A” Agile) and the general concept of modularization. This stands in contrast to the monolithic systems that are still especially common in government today.
The U.S. government (and, really, any customer) must be ever conscious of the “build vs. buy” decision; that is, whether to buy a software system off-the-shelf or develop a solution from scratch. Modularization puts greater emphasis on the search for what is available before building. It also means, if “build” is the choice, to build and deliver systems based on modular frameworks that can be developed, delivered, and tested in smaller chunks than has previously been the norm in government projects.
The Streams feature of Perforce Helix encourages modularization, and provides greater benefits for modular systems. At the same time, Streams has several powerful features, including narrow branching (a Paths stream spec field specifying something more narrow than the default “share ...” value) and virtual streams.
In addition to the U.S. Government’s move toward modularization and agility, the White House is trying to avoid contract situations that shift undue risk to the government customer or that give unfair advantage to particular vendors in competitive situations. This approach is seemingly based on a set of war stories from a once-bitten, twice-shy customer. Hopefully, better awareness will at least make the government a wiser customer.
For more detail on this subject, see Modular IT: Making the Government a Better Customer as published in FedScoop.