Continued from previous page
While executives, investors and analysts may fret about the date glitch, there is an eye-of-the-hurricane calm in programmer Randy Young's front-line cubicle.
No clock counts down the days until the new century. Nobody shouts programming instructions over the partitions. Young doesn't even type at double speed. Vanquishing the "Millennium Bug," he says, "isn't something you can rush through."
Young, 30, works for Freddie Mac in a glass-walled office building less than a mile from the Tysons Corner shopping center. Since February 1997 he has spent his days in an eight-foot-square cube, staring at a computer screen, trying to figure out how and where to tweak seemingly endless lines of letters and numbers.
For Freddie Mac, like many businesses, fixing the Y2K problem is a matter of life and death. The company, chartered by Congress but owned by stockholders, buys home mortgages from banks and sells them as securities on Wall Street, a process that's designed to give the banks money to make more home loans. Buying more than a million mortgages a year and processing the associated securities require colossal computer systems, all of which rely on dates when a loan was issued, when it will expire to make the right calculations.
To manage its $164 billion financial portfolio, the company has 1,200 pieces of software on its mainframe computers, totaling 12 million lines of code. Then there are more than 3,000 personal computers, many of which have spreadsheets and other applications that need revision. Everything needs to be checked and, executives have realized, almost everything needs some work.
"I don't think we've ever done anything this big ever," said Jean Steele, a Freddie Mac vice president who oversees the Y2K project, which is likely to cost the company $50 million to $75 million. As is the case at most businesses, much of the money is being used to pay existing programmers and hire new ones, whose salary demands have increased with the demand for their skills.
Freddie Mac started its Y2K efforts in 1994 far earlier than many others in Corporate America and now has about 75 percent of its systems fixed. Repairing the other 25 percent and testing everything now occupies 320 of the company's 3,300 employees, including Young.
Since mid-May Young has dealt with a part of just one of those 1,200 applications a program called PML02. The program, which he refers to as "P-Miller-2," performs the arcane function of comparing information about mortgages that's stored in different databases to make sure the records match.
The program isn't particularly long or complex. It has 36 "modules" each is about a paltry 2,500 lines long written in the Cobol programming language. Nevertheless, Young expects the renovation task to last until late August.
Hunched before a Compaq personal computer in his cubicle, Young started the repair process by running the code through diagnostic software that scans each line for date-related Cobol terms. The software looked for common programming words such as "Date," "DT," "Year," "YR" and "YY," highlighting each occurrence.
But he couldn't be sure that would catch everything. When P-Miller-2 performs calculations, he discovered, date-related information sometimes is stored in fields called "Temp" or "Value."
And then there was the issue of other random names. Programmers, pressed for time and prone to idiosyncrasy, have long taken liberties when selecting labels for date fields. Names of children, girlfriends, cars and "Star Trek" characters pop up frequently.
So Young was reduced to brute-force tactics. Surrounded by stacks of printouts, he went through each P-Miller-2 module, line by line, to see if the scanning software had missed anything. Chin in one hand, pencil in the other, he spent two weeks marking up the printouts like a teacher grading an essay.
He'd draw brackets around every few lines of code. If he was lucky, he could write: "Compliant (But Test)." Other times he scribbled in instructions to replace the code with one of several pre-written "patches."
Freddie Mac managers chuckle ruefully today over the prescient comments of some early programmers. In one application, after a date-related calculation, the author wrote a note saying: "This code will not work in 1/1/00. I hope that's not a problem."
To get past the year 2000, Freddie Mac executives decided not to take the most obvious route by rewriting software to represent years with four digits. Doing that, they figured, would require changing not just 1,200 applications but also 7 million loan records.
The company instead adopted a technique called "windowing." Years will still be represented by two digits, but every time a date is used in a calculation, the software will detour to a special "subroutine," or processing area. If the date is from 00 to 49, the software will assume it's the next century. If it's from 50 to 99, the machine will think that a 19 goes in front.
"It's a much simpler way to make things work," said Michael J. Censky, Freddie Mac's Y2K program director. "We don't have to change every equation or date variable."
But programmers like Young still have to locate each one and post the requisite detour signs. By early June, Young had finished that process on the printouts. Then, before he could actually make the changes, a lengthy report had to be written, detailing each problem and proposed repairs, for approval at multiple levels of management.
Not until late June did he get the green light to start making the fixes on a electronic copy of the program. That wound up being the easiest part of the process.
Making changes in all 36 modules of P-Miller-2 took only two days. But Young wasn't done yet. Through the end of the summer, Young will test his changes to P-Miller-2 again and again, trying to get the program to bollix. Developing data for the test, however, is proving to be the stiffest challenge of the repair process. Young can't run all 7 million loan records through the program. "We would need a thousand more computers to do that," he said.
So, he is creating a set of fake records that include dates from 1950 to well after 2010. He's including days like 1/1/99 and 9/9/99 and, of course, 1/1/00 (as well as 2/29/00, since 2000 is a leap year). But each time Young wants to run a data set through the program, it takes a day to set up the test on a mainframe.
When he's done, and his bosses have looked over the test results, the revised P-Miller-2 will be "made live" and the antiquated version relegated to the digital scrapheap. The whole process is like removing asbestos from an old building: It's done in small areas, with workers sealing off the places they're repairing and checking meticulously to be sure they haven't missed stray particles before letting employees back inside.
"You would think all these repairs could be done really quickly," Young said. "But doing them right, and making sure they work, takes an awful lot of time."
© Copyright 1998 The Washington Post Company