Banks were the first to use mainframes in the 1960s; many are still using the original applications because it is risky to swap them out. Over the years more and more systems have been slapped on. Banks were often profitable enough to afford big IT teams, writing programs themselves rather than buying off the shelf.
As a result banks tend to operate lots of different databases producing conflicting numbers. “The reality was you could never be certain that anything was correct,” says a former executive at Royal Bank of Scotland. Reported numbers for the bank’s exposure were regularly billions of dollars adrift of reality, he reports; finding the source of the error was hard.
Many banks also do not have a “single view” of their customers, which would allow them to offer tailored products or simply serve them better. Most systems are organised around accounts, not people. A customer’s data are duplicated for each account, often in slightly different formats. This is why talking to a call centre can take forever as employees laboriously switch between applications to sort things out.