January 14, 2003

Unmonitored elections
So we finally hear the reason that the Voter News Service, the exit polling pool set up by the six big news networks, failed to perform even the tiniest fraction of the exit polling it was set up for: crappy computer programming. Of course, the worst and most important programming decision was made before the programmers were even hired:

After the 2000 fiasco, a vice president from each network was on the board. That new board took bids from computing companies to completely rewrite the VNS system. One stipulation: That the new system use more flexible and current programming languages-Java and the Extensible Markup Language- rather than OS 390 to gather, compute and deliver data to the media outlets. The idea: Data could then easily be provided instantaneously to subscribers over the Internet.
Folks, XML is just text. It happens to be composed of letters and numbers and lots of "<" and ">" characters. You can write XML by hand, or with a BASIC program, or Pascal, or assembly language, or Lisp, or Perl, or any programming language at all. To limit yourself to Java just because you need XML output is analogous to demanding that one's home be powered by electricity exclusively from a particular power plant. All programming languages can generate text. I speak from long personal experience when I beg you to believe that writing Java programs to run on the Weblogic platform is among the most difficult, problematic, and unstable ways to generate XML. It's difficult because Java makes you think about things other than the problem at hand, and it's problematic because Weblogic is incredibly hard to configure exactly right.

Then, it seems, they decided that an entirely new database should be created on an entirely new platform, and that the new database should merge two preexisting datasets, each of which sat in a different schema. Did nobody ask the programmers whether this was possible in the time they had?

The databases which housed the election results and local demographics for more than 4,600 precincts were running on both IBM's DB2 and a version of Oracle 7. They were to be consolidated into Oracle 8i database software.
"This caused all kinds of problems," one source close to VNS says. "You're not only talking about a clash in culture and expertise but you're also talking about trying to create places for data to fit that just aren't there."
"The fields just didn't match up," one network analyst says.
Of course the worst problem, and the one without which the project probably would have succeeded anyway, was that not enough testing time was scheduled. Either way, this sounds like an excellent case study for business schools, or a good subject for an introductory programming book: How To Fail To Write Software In 21 Days. Geez.
[permalink ]

©2001-2007 Josh Daghlian, All Rights Reserved.