For fiscal 2020, the IRS has received a two-year, $180 million chunk for business systems modernization.
Here’s what the commissioner says about it: “The US economy has achieved impressive increases in productivity through investments in information technology. The IRS, which is still dependent on systems installed in the 1960s and 1970s, has established the Business Systems Modernization Program to take advantage of new technology to revamp the way we do business. I firmly believe the program is on the path to succeed.”
Insight by Tenable: Learn how Naval Facilities Engineering Systems Command uses a private cloud enclave helps keep control systems safe from cyber vulnerabilities in this free webinar.
Oops, that was Charles Rossotti, writing in a 2000 progress report. He promised real results starting in 2001. In intervening years, the IRS has in fact modernized many of its systems and procedures. Plus, soon after that report, the IRS made it successfully through the conversion to 4-digit date codes. The IRS would go on to spend billions, but none of the contractors could ever convert the Individual Master File, coded in assembler language, to modern code.
The latest modernization plan, issued last April, talks in the salad of 2020 terms: Artificial intelligence, robotic process automation, transformation of “customer” experience, data digitization and analysis, cloud computing, and application programming interfaces.
There’s also “eliminating millions of lines of legacy code.” The IRS included this detail in its six-year plan, which it says could cost up to $2.7 billion. How much of that initial $180 million will go to eliminating old code, we don’t know.
I last wrote about this technology two years ago in a post that went viral. The Individual Master File system for nearly 25 years has stood like a shoreline rock, resisting the crashing waves of contractor money thrown against it. The methodology the IRS possesses was developed in-house, by former employee Jian Wang. He was the IRS’ chief engineer on a project known as CADE-2, CADE stands for Customer Account Data Engine. It’s a long running effort to get taxpayer data into a relational database so it can be used in contemporary ways. Wang’s now working to update legacy code at the Social Security Administration.
Wang said he and a team of seven people, at a cost of $2 million, managed to convert 90% of the IMF code to Java. It was to have run in parallel with the assembler code for the 2018 filing season, and to have replaced the assembler for 2019. The current modernization plan only says, “… efforts are underway to migrate from text-based legacy programming [like COBOL] to modern, common languages (e.g., .NET, JAVA), which will promote programming language standardization and reduce workforce sustainment risks.” The plan offers no more detail.
Assembler code was fantastic in its day, a marvel of ingenuity and programming. You can say the same thing about steam locomotives, but no one uses them to pull trains anymore. Yet the IRS assembler keeps chugging along, like Walschaerts valve gear.
Now there’s an update to Wang’s invention. This last Oct. 15, it received U.S. Patent number 10,445,078. It’s titled “Layered Software Architecture Model for Translation of Assembler Language to Target Language.” The technology is no secret. Wang points out, former IRS chief information officer Terry Milholland testified to Congress about it in 2016. Former Commissioner John Koskinen discussed it in a speech in 2017.
A 2015 photo shows Wang receiving a huge, framed achievement award from Koskinen, flanked by the deputy commissioner for Operations Support, Jeff Tribiano, and Karen Schiller, then the commissioner for the Small Business-Self Employed Division.
In fact, two other related patent applications remain dormant. They lie abandoned, as the U.S. Patent and Trademark Office calls it, because the IRS wouldn’t pay the issue fees.
Wang said he personally asked Tribiano, then-deputy CIO Nancy Sieger, now the acting CIO, to authorize the $250 fees. He said the request even went to Commissioner Charles Rettig.
For Wang, and former CIO Terry Milholland, the puzzle centers not as much on the patent applications so much as on why the IRS apparently abandoned its own technology. The episode got the attention of the Treasury Inspector General for Tax Administration. But its investigation into the code conversion mystery got sidetracked by a look into the April 2018 tax day outage.
I recently renewed my request to the IRS to discuss its code-replacement strategy, and why, so far as anyone can tell, it’s not using its own patented technology, or the Java code it produced. I’ve had a nice dialog with IRS public affairs, but not yet an interview with Tribiano or Sieger. I’ll be glad to relate the IRS’ view on this, and how its technicians do plan on dealing with the legacy code.
In an interview 18 months ago, the Government Accountability Office’s Dave Powner noted time is running out on the IRS. Fewer of its in-house people, and fewer would-be hires, are capable of dealing with assembler code. The IRS itself says a third of its people will retire over the next five years.
Congress is also watching. IRS funding came with a requirement for IRS to send quarterly reports on modernization project and spending, including if and why they deviate from cost or schedule promises.
In its new Progress Update FY 2019, the IRS provides a long list of tangible achievements in customer services and service levels, data tools for its employees, and IT operations. The report states, “The IRS believes the key to achieving increased agility, efficiency, effectiveness and security is to modernize the IRS. Modernization is vital to all core functions.” The report recounts how the tech staff updated hardware, but it only hints at the master file challenge: “But to ensure the IRS can fulfill
the mission over the long term, more needs to be done, including updates to legacy computing infrastructure and business operations.” It refers readers to the April 2019 modernization business plan I referenced above.
The IRS has been staring at the legacy code for many years. I’d love to know its specific plan to deal with the code.