Posted by johnreynolds
on January 26, 2007 at 5:26 AM PST
My friend King sent me a link to this wonderfully perverse anecdote about how an insurance company was unable to handle twins: Disjoint Twins - The Daily WTF
To make a short story shorter:
"It turns out that a new version of their software was installed that tracked each person's budget based on their last name, plan number, and month/year of birth. Hence, having two people born in the same month and year on one plan would cause all claims to be booked against one of the two's budget, risking a premature budget exhaustion. "
This is the sort of myopic tunnel vision that makes one cringe. The programmers were obviously given pretty specific requirements for how to track budget, but nobody did a sanity check on those requirements.
Programmers don't dictate requirements... and in many shops they are even discouraged from questioning any requirements... but this anecdote points out something pervasively wrong.
My guess is that the technical aspects of the problem overwhelmed the practical aspects of the problem. Dealing with large numbers of users and high transaction rates consumed the intellectual bandwidth of the development and testing team.
Some times the hard problems demand attention, and the simple question "Will this really do what it is supposed to?" gets lost in the shuffle.
(cross-posted at Thoughtful Programmer )