When a government agency needs a new business application, it can meet that requirement in several ways. It might buy an off-the-shelf product. An in-house IT professional might develop the software. Or the agency might outsource the job to a custom software service. Which of those options works best is a matter of debate.
There's also a fourth option: the informal route. Consider the Surveying and Mapping section of the Real Estate Department in Hillsborough County, Fla. That organization boasts several employees who, although they aren't trained programmers, know their way around Microsoft Access. Previously when one of them needed to track projects, staff activity or other administrative details, he or she would whip up an ad hoc Access application.
Those databases and related queries worked well for specific needs. But as managers raised increasingly more questions, even when all the required data was available, staff had a hard time retrieving answers.
A manager who needed to report on staff utilization, for example, might not know that Employee A had been tracking exactly the data she needed. If the manager turned instead to Employee B, who had developed his own Access applications, the two of them might end up pulling information from two or more databases, moving the results to an Excel spreadsheet and then performing further calculations. "That used to literally take us a couple of days before we could crunch out an answer," said Jose Sanchez III, manager of Surveying and Mapping.
When Surveying and Mapping finally took stock of its Access applications, it found that employees had been busily reinventing the wheel. "I think there were 23 different databases. There were a total of 230 different fields of data, and 85 percent of them were common to each other," Sanchez said. In other words, most of the fields contained duplicate data.
Hoping to transform these disparate solutions into a more useful, integrated tool, two and a half years ago, officials in Surveying and Mapping presented the problem to Pat Cosgrove, manager of distributed processing in the county's Information and Technology Services Department. Cosgrove is responsible for business application development and enterprisewide support.
When a department needs new software, Cosgrove's team first evaluates what's commercially offered and buys it if the right product is available. That strategy didn't work for Surveying and Mapping. "We did not find anything out there that was off the shelf that met this department's particular requirements," Cosgrove said.
The usual alternative is to write the software internally. Unfortunately Cosgrove couldn't take on that project. "I didn't have the resources to address it, in view of other program requirements that were going on," he said.
A third option arose from developer Vision Genesis. Based in Reston, Va., the company says it can produce custom software in half the time a traditional shop would need to do the job, and therefore at a much lower cost. The company has largely been marketing its services to the federal government; the U.S. Defense Venture Catalyst Initiative conducted a review of its work this spring. Company officials were looking for a chance to demonstrate their services, so they offered to develop a new application for Hillsborough County free of charge.
Cosgrove doesn't know the mechanism Vision Genesis uses to develop applications faster than other software shops. "They didn't provide that information to us," he said.
To a large extent, that's proprietary information, said Mark Pomponio, CEO of Vision Genesis. But the secret has to do with the fact that the company's programmers don't develop a comprehensive, abstract design before they write code. "We start coding, and then our tool generates those other abstractions that are needed," he
In a sense, a traditional programmer works like an architect who creates a detailed blueprint for a house before workers start digging a foundation or putting up a frame, Pomponio said. His company starts by building the software equivalent of walls, doors and windows; then its proprietary, automated processes ensure the parts work together to make a house.
All applications consist of three things: input, evaluation and output, Pomponio said. "We've enabled the developer to work within that concept, rather than working on higher levels of abstraction," he said. "We stick to, 'What do you actually need to make this thing work?'"
Vision Genesis also operates in an iterative fashion. The programmer writes some code, shows the client the results, takes comments, and then revises and writes some more. Sanchez said he liked that process because it was a chance to correct some bad decisions they'd made when they first specified how the software should work. "Once you saw it, you realized that wasn't the smart thing to do," he said.
A team of end-users worked with Vision Genesis to define seven standard reports they wanted the software to produce. Vision Genesis also gave suggestions about how to automate some of the data entry, Sanchez said.
As Vision Genesis delivered code, county employee Tim Brown, senior professional surveyor and one of the original Access programmers, tested the software, trying to make it crash. If a problem arose, a screen would display the code for the function that had the problem. "I would sit there, copy all the coding, paste it into a document and e-mail it back to Vision Genesis," Brown said.
Cosgrove's team wasn't involved much in the process, but he observed that Vision Genesis worked quickly. "It took less than two months, I think, from the time they started the project until they got the first version of the program," he said.
The project wasn't problem free. One obstacle was bureaucracy. Early on, the county's protocol dictated that when Surveying and Mapping needed to communicate with Vision Genesis, its people would talk to someone in the Information and Technology Services Department. That person passed the message to someone in the purchasing department, who relayed it to Vision Genesis. Because the people in the middle didn't understand surveying and mapping jargon, instructions sometimes were garbled, Sanchez said. "My boss finally put his foot down and said, 'I want [Vision Genesis] to come in here and work with Tim Brown.'"
Once the developers and end-users started talking directly, Vision Genesis was able to deliver software that fit the department's needs. "It would look and smell exactly like what you were talking about," Sanchez said.
Although the company produced the original program for free, Hillsborough County set up a purchase order to cover future modifications. "The good part is, you don't have to hire new people to support a new program; you just outsource everything," Cosgrove said.
When Surveying and Mapping employees decided that the new software did everything they needed, they used it for a while before presenting requests for modifications. Recently employees have been discussing what changes on their list are desirable but nonessential, and which are really necessary. "I don't think we've actually come up with anything that truly needs to be adjusted," Sanchez said.
Although this project worked out well, Cosgrove isn't sure he wants to outsource future software development to Vision Genesis or any other company. "I would much rather have them offer to sell me their development environment, and we'll do it if I have the staff," he said. "There are some pros to outsourcing, but there are also a lot of cons." Software projects done in-house usually go faster, cost less, and offer more flexibility, he said.
For Sanchez, though, the bottom line is that Surveying and Mapping now has an application that quickly assembles any information he needs. The two-day ordeal with multiple databases and a spreadsheet is a thing of the past, he said. "It now takes me about five minutes to pull the report."