The Ohio Department of Public Safety successfully moved its mainframe applications to a Windows-based system, and all the work was done in-house.

The decision to keep the work in-house prompted much debate and skepticism, but there was no ducking the question that the agency had to retire the mainframe technology that had long supported its most important operations.

The project began in 2007, and the switchover was completed in March of this year. The mainframe is now unplugged.

The mainframe had supported legacy code in applications that dated back to the 1980s.

Rewriting everything to Microsoft's .Net programming language would be too expensive and would take too long, but staying on a mainframe was too expensive as well.

Bringing in consultants to handle a transition to Windows might have cost as much as $10 million, said Keith Albert, the chief of IT governance and strategic direction for the department.

Therefore, the department trained its staff of long-time mainframe veterans who had worked mostly in IBM Pacbase code. The migration involved .Net training and a move from a hierarchical to a relational database.

The agency spent some $250,000 on training and hired a few contractors to augment the staff.

The core of the development team included about 30 IT staff members who, by Albert's count, spent about 84,500 person-hours on the project.

There was some skepticism about the project at the start.

Albert said IT officials found little information about successful migrations, and that was disconcerting. "We couldn't find anything out there that said we were going down the right path," he said.

The lack of information made an impression on Albert, who wrote a paper detailing the steps taken during the agency's migration and the issues the development team and management dealt with. The 18-page paper was completed last month and was posted Thursday on the department's website.

The document is a compelling read, with details about the problem, the options, the internal debate and the lessons learned along the way.

The agency's Unisys ClearPath Dorado mainframe had operated dependably for many years and was running more than 2,000 programs. However, the model the agency owned had reached its end of life and it had to be replaced by this year.

Albert said he would have stayed on the mainframe for several more years if Unisys had extended the product's life and cut its MIPS charges, which were running about $1 million a year. The agency paid an additional $200,000 in maintenance fees.

The high MIPS (millions of instructions per second) charges and the fact that the hardware was reaching the end of the line were grating for Albert.

He compared the situation to "owning a car that runs fine, but there is only one place you can buy gas for the car and that gas station refuses to sell any more gas for the car after that X date."

"There was no reason why we couldn't use the mainframe another five years," said Albert. The latest machine had been installed in 2001 but was actively maintained by adding fiber cards, I/O processors and I/O channels, as needed.

But there were other motivations for migrating off the mainframe. One was its Pacbase code. Working with it was becoming increasingly difficult as veteran staffers retired. "There are very few Pacbase programmers in the world anymore," said Albert.