More Software Incompetence
In a past post I showed an example of how malfunctioning software can lead intelligent humans to make poor decisions. In that case, blind trust for the competence of the software was the most likely cause. Here is another example of acute software incompetence.
This is a scan of an account statement for a newly opened credit card. This is a real credit card that I recently signed up for. You can see it’s new by all the zeros on the page. You might, however, notice one number larger than zero, quite larger.
Somehow, with only a $1000 credit limit total the creditor is willing to give me a cash advance of $9,999,999,999,999! That’s 13 nines. That’s one dollar short of 10 Trillion dollars. That’s just not right.
Fortunately this won’t hurt me for two reasons: one is that I never use the cash advance feature of a credit card, and the second is that this mistake is so gratuitous that I know it can’t be correct. I haven’t called the credit card company yet because I’m actually just curious to see what happens after the account has some activity on it.
What’s interesting about this, from a programmer’s perspective, is that such an oversight was allowed into production code. A brand new account seems like an obvious test case to me. And what this means is that the software development process at the credit card company failed in several ways. At the unit test level there either was no unit test for the cash advance limit or it is missing an important case. At the interface level it means, again, that no one ever checked the common scenario of a new account with no activity. Even though it’s impossible for me to know, it may have even been a requirements issue. Maybe no one ever asked for this to be checked, who knows?