State governments have created an online facility for sharing reusable software, making application development faster and cheaper.
Children have known it forever: amass enough blocks and you can build almost anything.
Like youngsters, state information technology officials are creating a way to pool their blocks for the benefit of all. Through a new National Software Component Exchange (NSCE), developers will be able to locate pieces of software created by others and build the pieces into their own government applications. By reusing existing software, instead of writing fresh code, developers expect to save money and drastically cut the time it takes to get applications up and running.
At the annual conference of the National Association of State Chief Information Officers (NASCIO) last spring, for example, IT officials from Georgia demonstrated how they saved 18 weeks and $45,000 by reusing software components created by their counterparts in Arkansas.
Working on behalf of NASCIO, the Georgia Technology Authority (GTA) in May chose ComponentSource of Kennesaw, Ga., to develop and implement the NSCE. ComponentSource will base the government exchange on technology it first developed for its flagship product, a commercial software exchange.
A component is a piece of software that performs a specific function. Components are "kind of like Legos," said Sam Patterson, chief executive officer of ComponentSource. Like children snapping together plastic bricks and accessories to build castles or space stations, developers snap together software components to create complete applications.
If an application needs to authorize credit card transactions, for example, instead of researching how to build this function and writing hundreds of lines of code, the developer can obtain a credit card authorization component and plug it into the software. "As a programmer, you dont have to understand anything about how all those processes work," Patterson said.
In the NSCE, state and local governments will post components they have developed, allowing colleagues in other jurisdictions to reuse those components free of charge. If programmers cant find what they need, they can purchase software posted by commercial developers.
Along with components, the exchange will offer several other kinds of reusable software, said Larry Singer, chief information officer of the GTA. These include whole applications, application templates, frameworks (structures into which the programmer plugs components) and tools for turning specifications for a business procedure into software.
New Ways to Share
Government officials have been working for years to find ways states can share resources to meet common IT requirements, Singer said. One technique is for the federal government to fund several states to develop an application -- a child-support enforcement system is one example -- and expect other states to reuse it. In another approach, several states work with a single vendor to build a system they all need. In that arena, Singer pointed to AAMVAnet, a subsidiary of the American Association of Motor Vehicle Administrators, which has created applications used by multiple states.
Both those strategies have great virtues, Singer said, but they also have limitations. In the past, states developed applications based on specific platforms and architectures. Transferring them to other states, which might use different hardware or have slightly different needs, was a problem. States working together to build a common application face the challenge of getting people together in one place, over time, to do the work. "The logistics are just too difficult," Singer said.
The latest approach to sharing -- the component exchange -- is possible now because the software world has created development environments based on reusable services and software, Singer said. These include Microsofts .NET and Suns Java development platforms.
As this article went to press, the GTA and ComponentSource were negotiating their contract, and IT officials from several states were laying the groundwork for the government exchange. The GTA is funding the development and maintenance of the exchange with support from Public Interest Breakthrough, a not-for-profit organization in Vienna, Va. ComponentSource proposes that states pay an annual subscription fee, but that is still under discussion, Singer said.
Subscribers to the exchange will have three levels of access. Each state will maintain a private repository, containing software that is relevant only to government organizations within that state. For instance, components for processing state taxes might reside on this level, Singer said.
Items of interest to government agencies throughout the United States, such as software used by motor vehicle or child welfare departments, will reside on a national exchange. Through ComponentSources commercial exchange, subscribers will be able to purchase software for functions that arent unique to government, such as credit card processing.
Try Before You Buy
A user searching for a software element could look at these levels one by one or search all three simultaneously. The user will be able to review technical information and documentation for components that look promising. "If, after that review, you think its something that might work, you can download that component, and you have a trial period, which gives you an opportunity to make sure it does what you think it does," Singer said. If it fits the bill, the user can license the software.
This ability to try software before licensing it points to one of the major benefits of the exchange: risk reduction. "If you have to build a piece of software, you dont know if its going to work until you put it into a production environment," Singer said. "If you reuse a piece of software thats run successfully in another area, you know it runs when you buy it."
The try-out period offers an extra level of assurance.
A second benefit is the exchange will allow government agencies to share their best practices, Singer said. "Many times, a business practice is embedded in software. Its difficult for somebody to explain how that business practice works, but when you can actually plug it in and say, Ah! Now I get it! thats a real benefit."
Reusing software can also save a great deal of time. Not only does it spare developers the trouble of writing code, it allows them to listen to end users needs, quickly assemble components that seem to do the job, demonstrate the results and make adjustments as required. They need not waste days producing software based on specifications that werent clearly described. "You have much more specific communications with your end users," Singer observed.
Adapting a Permit
Paul Taylor, deputy director of Washingtons Department of Information Services (DIS), testified to the time and money states can save by sharing software -- in his case, application templates. At NASCIOs conference, representatives from Washington and Pennsylvania demonstrated how a state could obtain and adapt a template for an online permit. Observers saw Washingtons original template, including the presentation layer, the code behind it and the accompanying online tutorial. They saw screen shots of 10 applications that state and local agencies in Washington developed using this template. Then they saw how Pennsylvania adapted it to create its own permit for mooring boats.
Building the permit application from scratch might have taken hundreds of hours, Taylor said. Pennsylvania found it could reuse 85 percent of Washingtons template, and a part-time contractor completed the job in about 35 hours.
That kind of efficiency is a boon to agencies that lack the funds to support large software projects, Taylor said. "The template gives them a huge head start and allows them to do things that under other circumstances they might not be able to marshal the resources for."
In the Georgia/Arkansas demonstration, Georgia showed how it used four components -- originally developed in Arkansas for a human services application -- in a vehicle registration system. "We demonstrated that when you build systems on a component basis, the components can be reusable not only state-to-state, but across functions," Singer said.
Aside from the obvious virtues of saving time and money, software reuse should help states attract federal funding for IT projects, "Singer said. States can tell funders, When you give us money, you dont have to pay for the same thing 50 times," he said. "You can be more confident when you provide funding to the states that well use that funding more effectively. Which should help more funding come to support systems in the states."
Merrill Douglas is a freelance writer based in upstate New York. She specializes in applications of information technology.