The December 2022 issue of IEEE Spectrum is here!

Close bar

According to news reports like this one in itNews for Australian Business and information at National Australia Bank'sweb site, the meltdown of NAB's electronic payment system which began last Wednesday has now been fixed, although some 20,000 plus of the bank's customers are still affected by duplicate/missing transactions or are having trouble accessing their accounts.

The situation is expected to return to normal before the weekend - at least that is the hope. Previous deadlines to meet that objective that have been set over the past week have routinely been missed.

This story in The Australian yesterday claims that the cause - which NAB described as a "corrupted file in the processing batch" - can be traced to an NAB IT department staff member. The Australian says that:

" ... it apparently was not a 'file' itself that was the problem. Instead, it appears that someone from NAB's IT department who had access to the system inadvertently uploaded a file that 'corrupted' the system."

The Australian story describes NAB's problems as being caused by "human error" but in this report in World News Australia, a NAB spokesperson strongly denies that  human error was involved. He refused, however, to offer any more detailed information on what happened other than to say - again - it was all caused by a corrupted file. How or why the file became corrupted NAB is refusing to disclose.

Maybe someone can tell me whether NAB's legal liability position differs if the problem was caused by human error or system error. The reason I ask is this story in the Brisbane Times which reports that, "Retailers are considering a national class action against the National Australia Bank over losses incurred," although one legal expert cited in the story thinks this might be hard to prove.

NAB is also refusing to say why its internal IT management processes failed to initially detect the error or rectify the problem before it got out of hand.

NAB's problem wasn't isolated; its inability to process electronic payments quickly spread to the other major Australian banks and their customers, including Commonwealth Bank, Westpac, ANZ, HSBC, Citibank and Bank of Queensland, as they found themselves unable to reconcile their own accounts.

In addition, "NAB processes direct entry and over-the-counter deposits for Citibank, as well as interbank transfers, payroll payments, direct debits, cheque payments and deposits for HSBC," the World News story says.

Exactly how many Australians - not only NAB customers but those at the other banks above -  were affected by NAB's "corrupted file" is unknown, but I would guess that it was a substantial proportion of the populace.

The episode showed the inter-connectivity (and fragility) of Australia's banking system. This other story in The Australian says that Australian's should be prepared for more bank glitches in the future as the major Australian banks all begin major upgrades to their core IT systems.

I am quite sure everyone in the Land of Oz was just thrilled to hear that.

The Conversation (0)

Why Functional Programming Should Be the Future of Software Development

It’s hard to learn, but your code will produce fewer nasty surprises

11 min read
Vertical
A plate of spaghetti made from code
Shira Inbar
DarkBlue1

You’d expectthe longest and most costly phase in the lifecycle of a software product to be the initial development of the system, when all those great features are first imagined and then created. In fact, the hardest part comes later, during the maintenance phase. That’s when programmers pay the price for the shortcuts they took during development.

So why did they take shortcuts? Maybe they didn’t realize that they were cutting any corners. Only when their code was deployed and exercised by a lot of users did its hidden flaws come to light. And maybe the developers were rushed. Time-to-market pressures would almost guarantee that their software will contain more bugs than it would otherwise.

Keep Reading ↓Show less
{"imageShortcodeIds":["31996907"]}