Haste Makes Waste: One more software fiasco
By UYLESS BLACK
Special to The Press
In 1972, I was a rookie software programmer at the Federal Reserve Board in Washington, D.C. I was hired by the Board because of my experience with writing simulation software. While in the Navy, I was on a team that coded a package simulating warfare between Chinese submarines and U.S. Navy warships. We team members joked that the coding was an easy job, as the Chinese had no submarines.
Anyway, my first project for the Board was to design and write code that simulated the money supply of the nation. At that time, the Board used scores of clerks and economists to crunch numbers (on desktop-size calculators) for the Federal Open Market Committee (FOMC) to determine the money supply and interest rates for America.
My job was to automate these manual calculations. So off I went to confer with some brilliant economists and shortly thereafter, to write the code to ease their tasks. It was a dream job: No software that I had to patch into; no other programmers involved. In hindsight, it was a privilege to have written this software.
The software worked. Everyone was happy, and I migrated to other projects. My software was taken over by programmers in the economists’ department.
In the fall of 1973, several Middle East nations imposed an oil embargo on its petroleum-hungry customers, including the United States. Queues at gas stations formed. Gasoline prices skyrocketed. The FOMC and the Board economists worked into the nights coping with a financial crisis in America.
The software I wrote had to be modified to account for this situation — and fast.
I was no longer directly involved in this software, but I was consulted on the changes the economists needed to have made — and soon.
I offered that the software was written as a stand-alone package, but the current crisis seemingly necessitated using parts of it anyway.
The changes were made in a few days, in time for the next FOMC meeting. As recounted in previous reports, the software worked just fine ... until it didn’t.
The stand-alone software I built did not interface well with the new software patches. However, the error did not manifest itself for a while — just like the Boeing 737-M software. A combination of factors that rarely occurred ... occurred.
The Board economists had to resort to the original code and amplify the output of this system by resorting to their desktop calculators. They were not happy users.
The phenomenon described in these articles is known in the programming software world as Black Swan Software. Rarely does a black swan swim by; so rare, it is not even coded in the software. But when the black swan does swim by, it might have sad, even devastating, consequences (the EHR and Boeing software respectively).
What to do? I’ve made the case that for creating software, haste makes waste. Does that mean software programmers should be the tail that wags the dog? That they dictate to President Obama and the CEO of Boeing airlines? Of course not. We all must work with deadlines.
Software folks should be subject to a deadline for completing their coding, but their opinion about this deadline should be taken into account. Some latitude is needed in setting these deadlines.
As an example, suppose you decide to write a biography about your life. The publisher establishes three months for you to complete the writing of the manuscript. You ask for a year. Nope, the publisher needs to get so many books published in the upcoming quarter. Unless you write a sloppy book, the deadline is impossible to meet.
This example is not too far off the mark in what happened with the national health care system. Let us hope the software programmers at Boeing are given some breathing room for making their patches to the 737-M software.
As for the Federal Reserve software, I understand it is stable, functioning, and saving the policy makers from a tiresome session with their calculators.
• • •
Uyless Black has retired from writing computer code. Living in Coeur d’Alene with his wife Holly and pup Lilli, he now spends much of his time writing books about a variety of subjects ... none include the subject of computers.