IRS biz rules scrutiny nears completion

Rule engines could help bridge the worlds of business and programming

The Internal Revenue Service is almost ready to decide which programming strategy best fits its centerpiece modernization effort, the Customer Account Data Engine (CADE).

An eight-month pilot program set to deliver analytical results around September will enable the agency to select between two choices: the dependable but hard to modify path of C++ or possibly Java, or the dynamic but uncertain way of business rule engines. Unlike pure computer code, business rule engines match near-English conditional statements to data and translate that coupling into action.

Engine proponents say breaking down business logic into a list of rules and using a rules engine allow organizations to better bridge the divide between the worlds of business and programming. In a technology world governed by business rules, people could start speaking the same language. And when systems transmit computer instructions in a language akin to English, it's easier to change them than when the underlying business logic is broken down into reams of code.

"Business rule engines are very, very good in situations where your business rules change a lot," said Richard Spires, the IRS' associate chief information officer for business systems modernization.

There are trade-offs, of course. For example, business rule engines require larger, faster computers. Spires said it's questionable whether the tax code changes enough to justify the extra processing cost.

Agency executives thought they had decided in 2003 whether or not to use business rule engines. But that certainty melted when their first business rules technology effort stalled, a major reason for the schedule delays plaguing completion of the database replacement for the old Master File tax processing system.

As a result, programmers abandoned a business rules approach for the first release of CADE, having little choice but to use C++ to program the business rules that govern simple 1040EZ tax return forms.

Since it was first activated last summer, CADE has processed 1.3 million tax returns — an achievement lauded even by the Treasury Department's Inspector General for Tax Administration — but still only about 1 percent of individual tax returns filed in the United States.

Future releases of CADE "will become even more challenging as the IRS adds capabilities to handle more complicated tax returns," inspectors noted in a recent report.

So with the hardest part yet to come, modernization program officials say they're not going to blindly plunge ahead this time.

"In the past, this whole question of business rules in the context of modernization has been looked at in pieces," said Jim Sheaffer, a Computer Sciences Corp. vice president and general manager of the private-sector alliance of IRS modernization contractors. Unlike those first efforts, this pilot project is an end-to-end examination of how business rules are mined, stored, managed and executed, he added.

And whatever the outcome, it "isn't something we're going to swap out in five years, given our history," Spires said. "We want to make sure that this is technology that's going to be viable over the next few decades."

An organization that considers a business rules engine faces uncertainty within an industry of standards, said Grady Campbell, a senior technical analyst at the Carnegie Mellon Software Engineering Institute.

"There's probably not any vendor or company that you can be sure that's going to be there in five years," he said. Because each company crafts its own engine standards, an organization cannot be sure that a particular engine methodology will be supported once its manufacturer disappears.

The market is soft partially because engine technology can be deceptively simple, Campbell said.

Engines work by taking structured conditional statements written with a minimum amount of computer code in them and matching them to the available data. For example, a rule, minus the technical references, might be "if a single filer's income is between $29,051 and $70,350, then the marginal tax rate is 25 percent," and the data would be a particular person's gross income.

But business rule engine developers need to map out the dependencies and possibilities generated by if-then statements between various conditions, Campbell said. Rule engines don't execute commands in a fixed order, so if the dependencies are not fully understood, it is possible to "get a situation where sometimes you can get a different result depending on which order they execute in," he added.

Tax forms lend themselves to rules engine processing because "you can do line 37 before line 25 if they aren't dependent on each other," Campbell said. "I jump around in my tax form if there's not a dependency between one item and a preceding item" because that data happens to be readily available.

But the process of turning abstract business rules into executable commands via an engine is also fairly inefficient, Spires said. If the IRS wants to go with a business rules solution, it must prove that productivity gains offset extra processing costs.

The details of the business rules feed into the cost question. The more the rules resemble English, the easier it is for business owners to directly input changes. But greater abstraction also makes tracking the conditional states harder.

But by writing the rules at a more concrete level — maybe even mimicking a pseudo-code — "you bypass some of the functionality that business rules technology might give you," Sheaffer said.

Sheaffer added that the problem of industry uncertainty may be overstated. Much of the technology industry suffers from unpredictability. Spires said even though the IRS is unlikely to want to replace CADE in the future, "we ought to recognize that systems life in today's technology should not be 40 years long," he added.

Data culled from the pilot project will provide clarity soon, Sheaffer said.

Documentation comes first

Regardless of which solution the Internal Revenue Service selects as the programming approach for the Customer Account Data Engine (CADE), the agency still must document the business logic of tax forms. The two programming choices are a business rule engine or more traditional C++ or Java languages.

Whether business rule engines replace coding or not, "it's not as important to me as the methodology and the documentation of the upfront business rules," said Eugene Barbato, director of information technology project services in the IRS' IT Services division. By knowing what a computer system should do before developers program it, the IRS can limit mishaps, such as the years-long wait for CADE.

— David Perera

Closing in on biz rules

The Internal Revenue Service took another step toward creating a business rules environment inside the agency by releasing a draft statement of work in early August for a business rules enterprise management system. The IRS will release a request for proposals later for an agencywide business rules capability, according to the draft statement.

The agency intends to allow IRS modernization and business staff to initiate change to information technology systems at the business rule level, the draft statement adds.

— David Perera

NEXT STORY: More on China hackings