Thursday, December 30, 2004

What Can We Learn from the Comair Snafu?

Today many blogs quoted this article about how a 16-bit counter overrun grounded the entire fleet of Comair on Christmas Day.
The SBS Crew Check system tracks all the details of where each crew member is scheduled and keeps a log of every scheduling change. Tom Carter, a computer consultant with Clover Link Systems of Los Angeles, said the application has a hard limit of 32,000 changes in a single month. "This probably seemed like plenty to the designers, but when the storms hit last week, they caused many, many crew reassignments, and the value of 32,000 was exceeded," he said.
Well, 32,000 does seem a lot to me. However, using a 32-bit counter adds no cost compared to a 16-bit one. So I think we can learn two lessons from this:
  1. Doing the mininum possible to satisfy requirements (an XP principle as I understand it) should be augmented to say: if there is no (minimal) cost increase, build in the greater capability.
  2. Always do the right things and never be lazy. This was the first I learned doing a real job after school. You can be lazy and OK for a moment but will be haunted later if you do care for the health (a word Kent Beck says he likes) of your software.