Slashdot Mirror


Risk Management - A Cautionary Tale

Mr. Ghost writes "By now many people have heard about the fiasco and financial blunder Comair had over the 2004 Christmas holiday. An article on CIO provides a timeline of the decisions that led up to the system failure costing the division of Delta Airlines $20 million. The article points out the need for proper risk management and what can occur when a risk analysis is not performed or ignored. It goes on to mention that although this was a very public failure, this type of system failure can occur in other companies." From the article: "The prospect of replacing the ever-maturing crew management system was floated again the following year, with plans laid out to select a vendor in 2000. But that didn't happen. Over the next several years, Comair's corporate leadership was distracted by a sequence of tumultuous events..."

61 of 203 comments (clear)

  1. Why didn't the CIO yell louder? by winkydink · · Score: 5, Insightful

    Yes, senior management was distracted, but it's the CIO's job to warn senior management and the board about risks to the business as well as their liklihood of happening.

    --

    "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    1. Re:Why didn't the CIO yell louder? by Anonymous Coward · · Score: 2, Informative

      I can't help but commiserate with the folks at Comair. Technology projects can be hard enough without having to deal with labor unions - which is really key to understanding Comair's problem. I was the project manager in the late 90's at TWA, hired to implement just a portion of what Comair is trying to replace. Scheduling systems hit at the heart of the pilot's work rules and they won't give up a single work rule without a fight. That was true even when the union was the instigator of the change. Even after the agreement on work rules, there were unique training issues, legal agreements, and of course egos. Pilots are a very confident class of people (great skill for flying planes) and that confidence is evident even when they are negotiating on things for which they have little knowledge. It is very hard to get an agreement on how to change the airline.
      My project was to implement a new scheduling system for the pilots. It eventually took a complete restart on the project and a little over 3 years. I had to do things as a project manager that I would have never dreamed would be part of a technology project. I gave speeches to the Union governing council and was part of the official negotiation team. One year of that project was used in just negotiations with the pilot union.
      I ended up both loving and hating that project. I even quit at one time, but came back after a few weeks. I was constantly frustrated by the lack of progress that was being made in negotiations, the feeling that I was the whipping boy, and the anger that was projected at me by some who thought they were being "forced" to make a change. Even near the end of the project, my boss commented that he was ready to give me a "real" project as soon as I wrapped that one up. No matter what happened, no one believed that it was all that tough. If you think it is tough to turn a company, try doing it with a union. On the other side of the spectrum, though, is that we ended up with a successful installation. We took a survey (2 months into the roll out) of the pilots and the union agreed that we got a 94% acceptance rating for that project. I also had to admit that I grew a lot on that project -- as a PM and as a person. I believe that a lot of my people, negotiating, finance and legal skills are all due to that project.
      So, given the struggle that it takes to get the unions to agree to even mutually beneficial change, the company is left in the position of trying to get old work rules to fit with modern technology. That is the wrong way to do it and they will find themselves starting over several times before they realize that, as painful as it might be, you have to update the rules if you want to update the technology. The PM and CIO has to learn to be a salesman, negotiator and technocrat all at the same time.
      Overall, I feel sorry for the Comair CIO. Your project has about a zero percent chance of succeeding unless you have just the right business people tied into the project to pull it off.
      Darrell Hamilton Strategic Director LabCorp


      Blame the unions!!!
      Everything is their fault, right?

    2. Re:Why didn't the CIO yell louder? by winkydink · · Score: 3, Funny

      ...The PM and CIO has to learn to be a salesman, negotiator and technocrat all at the same time.

      How is this different from what a good PM or CIO does every day? Darrell Hamilton is a "Strategic Director"? Strategic Director of what? Blame avoidance & CYA?

      --

      "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    3. Re:Why didn't the CIO yell louder? by Angostura · · Score: 3, Interesting

      I'm sorry, but this story and your comment annoy me greatly.

      Here's the situation. The company had an old green screen application that was working just fine. It was old, but it did what the company needed. There was no hint that there was any fault.

      Now, one day the company had to cancel 90% of its flights - and whammo some double byte counter overflowed.

      What's all this crap in the article about old software "getting brittle"? This wasn't brittle aging software, this was software that was hit by an event that took it outside of its design parameters.

      How would *you* have judged the risk of this software failing? How would that risk compare with the risk of installing a new untested package?

    4. Re:Why didn't the CIO yell louder? by Knara · · Score: 4, Insightful

      I'd agree, but the fact that it was written in FORTRAN and they didn't have a single maintenance developer (even if it wasn't that developer's primary role) assigned to it that *knew* FORTRAN suggests that a whole lot of "buhhhhhh??" going on in that particular IT department.

  2. Analyze all you want, by Megaweapon · · Score: 2, Interesting

    but all it takes for a good number of companies to get egg on their face is one careless mid-level that is too casual with passwords (and/or takes their work home on laptops with info unencrypted)...

    --
    I'm sure "SlashdotMedia" will improve on all the wonders that Dice Holdings blessed us all with
  3. Re:Yep by Monf · · Score: 3, Interesting
    yes, but: As it turned out, the crew management application, unbeknownst to anyone at Comair, could process only a set number of changes--32,000 per month--before shutting down. And that's exactly what happened.

    How could nobody in 11 years see that the changes were counted with a 16 bit signed integer? The company grows, I would think that making sure the sw can keep up with the numbers would require very little foresight, yet from the article, it seems that the only considerations were in the UI? I wonder if this was a hw limit or a sw limit...

    --
    Pay no attention to that man behind the curtain.
  4. We need an analogy here... by LegendOfLink · · Score: 3, Interesting

    Um...like making sure you run your Windows Updates. Because if you don't, you're gonna regret it.

    Then again, even if you do, you're still going to regret it.

    So, I guess the moral of the analogy is that it's better to patch your system and risk your hardware not working properly than having spyware or a virus on your system.

  5. Interesting Technical Detail ... by rewinn · · Score: 3, Insightful

    From the article:

    As it turned out, the crew management application, unbeknownst to anyone at Comair, could process only a set number of changes--32,000 per month--before shutting down.

    Sounds like some sort of overflow problem. Hmmm....

    The big issue is, of course, the business units and IT playing "After you, Alfonse..." but it's fun to seek out the pebble that set off the avalanche.

    1. Re:Interesting Technical Detail ... by UdoKeir · · Score: 2, Insightful

      And yet the idiot from EDS has this to say:

      "These systems are just like physical assets," says Mike Childress, former Delta CTO and now vice president of applications and industry frameworks for EDS. "They become brittle with age, and you have to take great care in maintaining them."

      You can easily run software for 20 years and it will not fail so long as you don't exceed its operating parameters. That's also assuming you can source replacement kit for hardware failures.

      Software does not age.

    2. Re:Interesting Technical Detail ... by josecanuc · · Score: 4, Insightful

      Exactly... The article author seems to point to the fact that the software was old and just waiting to die...

      Becase of the fact that NO ONE knew of the particular limit that was exceeded, those who were supposed to calculate risk never knew what the tipping point was.

      All they could say was "our software is old, someday it may not work any more, but I cannot say for what reason, because I do not know FORTRAN."

      How the hell can you calculate risk if your only input is the chronological age of a software system?

    3. Re: Interesting Technical Detail ... by Alwin+Henseler · · Score: 2, Insightful
      Sounds like some sort of overflow problem. Hmmm....

      That depends. I suppose you could call the software involved here mission-critical. In that case one might expect limits like the ~32000/month to be documented (not in this case if I read it right). If that limit had been documented, then the failure would not have been overflow, but not RTFM/using the system out-of-spec, which is management/operator error.

      Also it matters how exceeding a limit is handled (graceful degradation). Did this system say: "I'm stuffed, I can't take no more input for a while" or did it say "Oh dear, I'm confused, I'll be doing totally silly crap now". In the first case, the failure is partial and you can still get some work done. In the latter case (=what happened here?), you're totally screwed once you reach that limit.

    4. Re:Interesting Technical Detail ... by BattleTroll · · Score: 4, Insightful
      "How the hell can you calculate risk if your only input is the chronological age of a software system?"

      That wasn't the the only input in this case. In fact, you don't have to know the gory details of the implementation to determine risk, just the business impact of a problem to the system.
      • Since no one at the company understood the language used, it stands to reason no one understood what the system was doing. Risk: Medium
      • The system was mission critical to the performance of almost every other function of the airline. If the system was lost, the airline was hosed. Risk: Critical
      • They had no failover plan in place in case the system went down. Risk: High
      • No load tests were possible since they only had the one system in place. Without load testing the only way to find out the system fails under load is to wait until it fails in production. Risk: High
      It stands to reason there were other risks involved that weren't identified in the article.
    5. Re:Interesting Technical Detail ... by Peter+La+Casse · · Score: 4, Insightful
      Software does not age.

      Software does age. As a program grows older, people change it, its inputs and how it is used, and the older a program gets, the less the people making the changes are likely to understand it.

      In addition, some bugs don't manifest themselves under usage patterns from 20 years ago, or when the software is run on hardware from 20 years ago, but they do manifest themselves under usage patterns or on hardware that's in use now. The more you change, especially without understanding all of the ramifications of that change, the greater the risk for error.

      That's what software aging is.

    6. Re:Interesting Technical Detail ... by ScuzzMonkey · · Score: 5, Insightful

      "They had no failover plan in place in case the system went down."

      With that, you've hit the heart of the matter, and what the article should have focused on rather than the "old software breaks down" BS. This was a bug which could have hit at ANY time since the software was installed; it was an overflow, not a rusting subroutine that fell off. I can't personally see any way that they could have foreseen this particular problem but when you have a system that is so critical to your operation, you don't look for problems it might have--you look for alternatives to fall back to when it DOES have problems.

      You never see them coming. But you'd better plan for them anyway.

      --
      No relation to Happy Monkey
    7. Re:Interesting Technical Detail ... by Peter+La+Casse · · Score: 2, Insightful
      That's not aging, that's modification.

      That's what software aging is. When people talk about software aging, they're not talking about something that doesn't exist, they're talking about the effect that I described: ongoing changes with less and less understanding of the system.

      We're talking about the same software running on the same hardware for 20 years. If nothing changes, it will continue to function.

      Change is inevitable. It is common and reasonable to expect change in the hardware, the inputs, the business models and the code itself. It's not reasonable to expect the same software to run on the same hardware under the same conditions for 20 years, even though it does happen in some extreme cases (like space probes.)

  6. Article text by daVinci1980 · · Score: 4, Informative

    Site is already sluggish.

    Bound To Fail
    The crash of a critical legacy system at Comair is a classic risk management mistake that cost the airline $20 million and badly damaged its reputation.
    BY STEPHANIE OVERBY

    When Eric Bardes joined the Comair IT department in 1997, one of the very first meetings he attended was called to address the replacement of an aging legacy system the regional airline utilized to manage flight crews. The application, from SBS International, was one of the oldest in the company (11 years old at the time), was written in Fortran (which no one at Comair was fluent in) and was the only system left that ran on the airline's old IBM AIX platform (all other applications ran on HP Unix).

    SBS came in to make a pitch for its new Maestro crew management software. One of the flight crew supervisors at the meeting had used Maestro, a first-generation Windows application, at a previous job. He found it clumsy, to put it kindly. "He said he wouldn't wish the application on his worst enemy," Bardes recalls. The existing crew management system wasn't exactly elegant, but all the business users had grown adept at operating it, and a great number of Comair's existing business processes had sprung from it. The consensus at the meeting was that if Comair was going to shoulder the expense of replacing the old crew management system, it should wait for a more satisfactory substitute to come along.

    And wait they did. The prospect of replacing the ever-maturing crew management system was floated again the following year, with plans laid out to select a vendor in 2000. But that didn't happen. Over the next several years, Comair's corporate leadership was distracted by a sequence of tumultuous events: managing the approach of Y2K, the purchase of the independent carrier by Delta in 2000, a pilot strike that grounded the airline in 2001, and finally, 9/11 and the ensuing downturn that ravaged the airline industry.

    A replacement system from Sabre Airline Solutions was finally approved last year, but the switch didn't happen soon enough. Over the holidays, the legacy system failed, bringing down the entire airline, canceling or delaying 3,900 flights, and stranding nearly 200,000 passengers. The network crash cost Comair and its parent company, Delta Air Lines, $20 million, damaged the airline's reputation and prompted an investigation by the Department of Transportation.

    Chances are, the whole mess could have been avoided if Comair or Delta had done a comprehensive analysis of the risk that this critical system posed to the airline's daily operations and had taken steps to mitigate that risk. But a look inside Comair reveals that senior executives there did not consider a replacement system an urgent priority, and IT did little to disrupt that sense of complacency. Though everyone seemed to know that there was a need to deal with the aging applications and architecture that supported the growing regional carrier--and the company even created a five-year strategic plan for just that purpose--a lack of urgency prevailed.

    After the acquisition by Delta, former employees say Comair IT executives didn't do the kind of thorough management analysis that might have persuaded the parent airline to invest in a replacement system before it was too late. Instead, Delta kept a lid on capital expenditures at Comair, with unfortunate consequences. The failure of the almost 20-year-old scheduling system not only saddled Delta with a plethora of customer service and financial headaches that the airline could ill afford but it also provides a cautionary tale for any company that thinks it can operate on its legacy systems for just...one...more...day.

    The five-year plan that wasn't
    Today, Cincinnati-based Comair is a regional airline that operates in 117 cities and carries about 30,000 passengers on 1,130 flights a day, with three or four crew members on each. But back in 1984, when Jim Dublikar joined the company as director of finance and risk management, Comair had

    --
    I currently have no clever signature witicism to add here.
  7. Blowing smoke up your donkey by Anonymous Coward · · Score: 5, Funny

    --------------------- Cut Here ---------------------
    Posts above this line have not RTFA.

    1. Re:Blowing smoke up your donkey by Anonymous Coward · · Score: 5, Funny

      Posts under this line haven't RTFA either.
      --------------------- Cut Here ---------------------

  8. Re:risk management 101 by linuxbert · · Score: 3, Informative

    You preform a TRA - Threat and risk Assesment. and you are quite right, it is a profession all of its own.

    for the do it yourselfers : http://www.cse-cst.gc.ca/en/publications/gov_pubs/ itsg/itsg04.html Grab the Pdf, and it will guide you through the process.

  9. Why did this system fail? by hellfire · · Score: 4, Interesting

    Okay, like many slashdotters, I have a short attention span and I don't remember this "public" story about Comair committing this blunder.

    I have a real question. Why did Comair's system fail in the first place? Was it due to a design flaw requiring it's replacement in 2004? Was it an irreplaceable piece of hardware which died?

    The Article smacks of FUD, only because systems fail for a reason. The article conveniently leaves out the reason for the failure. I think this is critical to any risk analysis. For example, if I have a 20 year old system that I can't get parts for, that's a high risk system. However, if I can get parts for a 20 year old system, then the risk is lower.

    I don't like the idea of making assumptions that just because a system is 20 years old, that it absolutely must be replaced. I also don't like the assumption in the article that I already know the facts, so here's the analysis for you. I want the facts to back it up so I can come to my own conclusion.

    --

    "All great wisdom is contained in .signature files"

    1. Re:Why did this system fail? by ggvaidya · · Score: 2, Interesting

      Why did Comair's system fail in the first place?

      If I understand the article correctly, the database could only handle 32,000-odd transactions in a month. In December 2004, rescheduling caused by bad weather caused the database to hit its limit exactly on Christmas Day, and everything shut down. It wasn't until December 29th that everything was back up again.

      Oh, and they're still using the old system: they've divided the database up, with each half having its own 32,000-transaction limit, but that's about it.

    2. Re:Why did this system fail? by Jayfar · · Score: 4, Informative
      The article conveniently leaves out the reason for the failure.

      No, the article conveniently explained that the sw had a limit of 32000 schedule changes per month. A severe winter storm necessitated enough changes to make the system fall over.

    3. Re:Why did this system fail? by QuestorTapes · · Score: 2, Insightful

      > I don't like the idea of making assumptions that just because a system is 20 years old, that it absolutely must be replaced.

      >...if I have a 20 year old system that I can't get parts for, that's a high risk system.
      > However, if I can get parts for a 20 year old system, then the risk is lower.

      Good points. The article does contain some facts, though. The system was Fortran based, ran only on one aging hardware platform, and no one at Comair knew Fortran. Those are risk factors with older software.

      A better lesson than the article's implied "don't use old software" lesson would be, "periodically review legacy systems against changed business conditions and environment. Do not assume that software and hardware will continue to function when the business environment changes significantly."

  10. I have a friend that lived this nightmare. by zorkmid · · Score: 2, Insightful

    And even though she was screaming from the highest mountain to anyone and everyone that would listen that doom was rushing towards them. That bad, bad things were going to happen. She was still made the sacrificial goat when the fecal material hit the rotating blades.

    And this was for a federal agency.

    Scary no?

  11. Re:Yep by airrage · · Score: 4, Insightful

    To me, when you look at code you always want to rewrite it thinking you could do it better. But if you look at what they had to work with, you realize most coders write (at a given time), write pretty good code.

    This software has been working for over 20 years! What will your code look like in 20 years? I doubt it has the same track record. I'm not sure foresight was a problem. I think they did the best they could with language and hardware of the day.

    The comair meltdown wasn't a software problem if you ask me, it was the business changed.

    --
    "This isn't a study in computer science, its a study in human behavior"
  12. Re:Yep by EnronHaliburton2004 · · Score: 4, Insightful

    How could nobody in 11 years see that the changes were counted with a 16 bit signed integer?

    If this company was run by a typical big company, somebody DID complain about this 16-bit signed integer. Chances are, they were told to shut up about it and not rock the boat. This frequently happens when someone points out a bug which would require a fundamental change to the system.

    Most companies only like employees who think inside the box, despite telling people to think outside the box.

  13. Risk Management is Complex by justanyone · · Score: 4, Interesting


    I used to work in the Risk Management department of the capital markets division of a large international bank as a programmer.

    When I started, 4 years ago, the reports generated were basically compilations by a cut-and-paste-monkey staff (despite being highly trained, very conciencious individuals) of reports generated by other departments. I was part of a team that reformed the IT basis for creating risk reporting, and found that while there was a lot of expertise and complex methods available, what was actually implemented was much much smaller for the simple reason that it was tough to get the right reports generated given the inputs the department was given.

    The project I worked on parsed the input data from the Excel spreadsheet inputs and loaded it to a database, where it could then be queried intelligently and nice reports generated. These reports were growing very fast in complexity, building towards the best toolsets available for determining the actual risk the bank was taking.

    Several points about this job were fascinating:
    1. How much many departments are so caught up in the minutae of "getting the report out" that they don't have time to examine the contents of it;
    2. How much money can be made by knowing what the actual risk is. If you don't know the risk, you estimate high, and put lots of dollars in a reserve account. If you do know the risk accurately, you usually can greatly lower reserves to accurately meet even very bad case estimated losses, and use the rest of the money to fund interest-generating ventures.
    3. How much the banking consolidation trend is increasing, due to the repeal of glass-steagal (sp?) allowing multi-state banks to gobble and grow. This makes a consumer's life better because of more resources being available (auto-bill-pay, check images, etc.

    It was a fun job. Then I found another one where I get to play with Python!

    -- Kevin

    1. Re:Risk Management is Complex by Tackhead · · Score: 2, Interesting
      > I used to work in the Risk Management department of the capital markets division of a large international bank [jpm[*cough*].com] as a programmer
      >
      >[...]
      >
      >It was a fun job. Then I found another one where I get to play with Python!

      Huh? The story's supposed to end with the line "VAXen, my children, just don't belong some places." :-)

  14. Re:Yep by Zemplar · · Score: 3, Funny

    "I wonder if this was a hw limit or a sw limit..."

    I can assure you it was indeed a hardware or software limit.

  15. software decays by ecklesweb · · Score: 4, Interesting

    One of the interesting quotes from the article:

    Unfortunately, you can't see a crew management system age the way you can see an airplane rust. But they do.

    I find that an interesting if not slightly obvious insight. The interesting part is that you can know that software is decaying, but I don't know of any effective way to measure that decay. I don't even know of any particularly good ways to characterize the decay. It's not as if new defects are being introduced into code that's not changing. But the environment in which the software operates changes, and that change is analagous to weather corroding a pieces of physical equipment. Every time the OS gets a patch, the filesystem changes, a shared library is upgraded, the underlying hardware changes, there's a chance of triggering a failure in the software.

    Can it be proven, or should we otherwise reasonably believe, that the probability of catastrophic system failure approaches 1 as the age of the system increases? Maybe a good topic for a research paper...

    1. Re:software decays by adjuster · · Score: 3, Insightful

      But the environment in which the software operates changes, and that change is analagous to weather corroding a pieces of physical equipment. Every time the OS gets a patch, the filesystem changes, a shared library is upgraded, the underlying hardware changes, there's a chance of triggering a failure in the software.

      It's rather sad, to me, that we design these wonderful machines that can perform logical operations in great quantities with a high degree of repeatability and low occurance of failure, then create a culture around them that encourages sloppiness, and ultimately introduces a large measure of uncertainty into the operation of these machines. I am baffled at the perverse desire-- nay need-- that people seem to have to make software suffer from entropy.

      The only "decay" in software should happen as a result of changing business requirements. There's no reason that, provided the business requirements don't change, that a well designed and properly implemented piece of software should not be usable in perpetuity. There may be changes in the underlying hardware and operating system software, but provided that the application is sufficiently abstracted from the underlying platform (or, provided that an emulation-layer for the original platform can be constructed) there's no reason other than changing business requirements for software to be "thrown away".

      Let's put this a different way: How does a patch to the underlying operating system cause an application to fail? If the patch changes the behaviour of the underlying operating system in such a manner as to return unexepected values to the application, the patch is the cause of the failure. A flawed patch doesn't make an application "age" or "decay"-- it's simply a flawed patch. An application has to make assumptions about the underlying operating system. These assumptions are based on the API documentation-- the contact between the operating system and the application. When the OS violates the terms of the contract, that doesn't mean the application "decayed"-- it means some moron who coded the operating system patch messed up, and the operating system manufacturer/maintainer didn't perform good regression testing.

      We should be designing software systems with 10 to 20 year usability goals. It would do a lot for the frustration level that the "suits" have with IT if we stopped being proponents of hugely expensive but "throwaway" systems, and started designing systems with an eye for longevity.

      --
      The Attitude Adjuster, I hate me, you can too.
    2. Re:software decays by hawaiian717 · · Score: 4, Insightful
      The only "decay" in software should happen as a result of changing business requirements.

      Exactly. This software would have failed the month after it was installed if Comair had needed to do 32,001 changes in that month. But when it was installed, Comair wasn't that big, so having to do that many changes was not something that was considered. Now that Comair has grown considerably, the business requirement has changed but the application has not kept up.

      --
      End of Line.
    3. Re:software decays by qwijibo · · Score: 2, Informative

      The problem can also occur because the original application is tested against the real system, not the documented API. So a bug fix to the underlying system can both be correcting a bug and create an application error.

      Throwaway systems are cost effective in the short term. That makes them popular with people who look at this quarter's stock price as both a goal an duration of their attention.

  16. Re:Yep by Anonymous Coward · · Score: 2, Insightful

    Well, IIRC, the problem was that the 32K was known, and not important and the crew affectation *changes* were WAY under that number.

    But during the holidays, the storm forced a *lot* of crew *changes*, several time, and they went outside the limit.

    It seems that the feeling was "there is no way we have 32K *changes* in a single month", and /that/ was proved wrong.

  17. /.ed by christoofar · · Score: 4, Funny

    Wow. Looks like even the mag for CIOs can't keep up with a /. DDoS attack. Maybe the CIO for CIO should be fired?

  18. Crew Scheduling system? How about Aircraft maint by NetNinja · · Score: 4, Insightful

    If the crew scheduling system was old as the hills how old is the system used to track aircraft maintenance? Oh wait that issue will be addressed when we crash an aircraft.

    Maintenance manuals and procedures are written in blood. The next tragedy will be no different.

  19. Re:Yep by ucblockhead · · Score: 2, Insightful

    Probably because when the code was written, there were only 25 planes, so 32,000 changes "would never be reached". There's probably a decent chance the line had a comment that said something like "// Make sure to change this if we ever need more than 32,000 changes!".

    Then, no one looked at the code for 11 years.

    That's how this happens. Not because people are stupid, but because people simply aren't looking at the old crufty code. They're too busy with new projects.

    --
    The cake is a pie
  20. It's a legacy system by morryveer · · Score: 3, Funny

    Legacy == Bad, gonna die, just like dear Grandad. Should've rewritten it in Java, that'd fix it!

  21. Re:Yep by tomhudson · · Score: 4, Funny
    Hindsight is 20/20.
    You mean like this story (the lesson being that what seems like a good thing at the time can become an unmitigated disaster):
    I like monkeys.

    The pet store was selling them for five cents a piece. I thought that
    odd since they were normally a couple thousand each. I decided not to
    look a gift horse in the mouth. I bought 200. I like monkeys.

    I took my 200 monkeys home. I have a big car. I let one drive. His
    name was Sigmund. He was retarded. In fact, none of them were really
    bright. They kept punching themselves in their genitals. I laughed.
    Then they punched my genitals. I stopped laughing.

    I herded them into my room. They didn't adapt very well to their new
    environment. They would screech, hurl themselves off of the couch at
    high speeds and slam into the wall. Although humorous at first, the
    spectacle lost its novelty halfway into its third hour.

    Two hours later I found out why all the monkeys were so inexpensive:
    they all died. No apparent reason. They all just sorta' dropped dead.
    Kinda' like when you buy a goldfish and it dies five hours later. Damn
    cheap monkeys.

    I didn't know what to do. There were 200 dead monkeys lying all over my
    room, on the bed, in the dresser, hanging from my bookcase. It looked
    like I had 200 throw rugs.

    I tried to flush one down the toilet. It didn't work. It got stuck.
    Then I had one dead, wet monkey and 199 dead, dry monkeys.

    I tried pretending that they were just stuffed animals. That worked for
    a while, that is until they began to decompose. It started to smell real
    bad.

    I had to pee but there was a dead monkey in the toilet and I didn't want
    to call the plumber. I was embarrassed.

    I tried to slow down the decomposition by freezing them. Unfortunately
    there was only enough room for two monkeys at a time so I had to change
    them every 30 seconds. I also had to eat all the food in the freezer so
    it didn't all go bad.

    I tried burning them. Little did I know my bed was flammable. I had to
    extinguish the fire.

    Then I had one dead, wet monkey in my toilet, two dead, frozen monkeys in
    my freezer, and 197 dead, charred monkeys in a pile on my bed. The odor
    wasn't improving.

    I became agitated at my inability to dispose of my monkeys and to use the
    bathroom. I severely beat one of my monkeys. I felt better.

    I tried throwing them way but the garbage man said that the city wasn't
    allowed to dispose of charred primates. I told him that I had a wet
    one. He couldn't take that one either. I didn't bother asking about the
    frozen ones.

    finally arrived at a solution. I gave them out as Christmas gifts. My
    friends didn't know quite what to say. They pretended that they like
    them but I could tell they were lying. Ingrates. So I punched them in
    the genitals.

    I like monkeys
    Same thing with the code in question. It seemed good when it was written, but it didn't stand the test of time, and ended up with a lot of people getting a swift kick in the you-know-whats.

    Or for another example of hindsight and the law of unanticipated consequences, just sing the first few bars of "Alice's Restaurant".

  22. I told you so ... NOT! by argoff · · Score: 3, Insightful

    It is always easy to say "I told you" so after the fact, but the reality is that this failure has far more to do with the companies attitude about technology than failure of somebody to say "look out!". In fact by the sounds of it, the entire application could probably be ran on 2 souped up PS'c running in parallel in different co-locations over the internet - the hardware and infrastructure would not cost alot.

    Even worse, is when these types of failures happen, then comes in the ole "policy and procedure" routine kicks in.

    To tell a story, one time I went to a boarding school, and at the beginning of the year they had almost no rules, and then when ever something went wrong they added a new rule. Well needless to say at the end of the year there were so many rules, people could get repramanded for flushing the toilet twice instead of once! Not having their shoes tied left over right, etc .....

    Well I grew up and found the same is true in companies, how much you wanna bet they are gonna loose more than 20 million from too many piled up policy and procedures that keep anyone from getting anything done?

  23. Risk management by uweg · · Score: 3, Insightful
    Well, the problem starts with being born or getting up in the morning. And a system running since 20 years normally doesn't start to stink by itself.

    OTOH, what does "Risk management" in IT really mean, besides drawing nice PowerPoints and putting a chapter "Risk analysis" into change request forms, that are normally filled in with "No risk, no fun!" or "If I make a very big mistake, it will extinguish mankind"?

  24. Re:Yep by code_chick · · Score: 2, Informative

    sorry - I mistakenly drifted into the IT section of slashdot... You IT guys are all so threatened by real developers! (since you're all just developer want-a-bee's) And a female developer - that's the scariest of all! I won't make this mistake again... I wouldn't want to subject you to crying in the fetal position.

  25. A game of Jenga by lake2112 · · Score: 4, Insightful

    Unfortunately, it is commonly seen that upper management abides by the if-it-aint-broke, dont fix it mentality. With many systems there is a huge amount of pressure to fix bugs/ outstanding issues, once that is done they work on money-making initiatives. I see it as a game of Jenga. Pieces are removed from the bottom, to create a taller structure. Instead of reinforcing the base there is a constant push to make the tower taller until it comes crashing down.

  26. What if they won't listen? by swb · · Score: 3, Informative

    I work in a business that isn't defined by technology (at least not historically), and I don't think that management actually listens or comprehends when it comes to a lot of IT issues.

    When they do listen, they tend to reduce it to profit/loss and destroy the subtlety of the information and its meaning. CIOs that "push" issues, especially when they're expensive, tend to get canned as gadflys, big spenders or for not being "team players".

    When it comes to technology, managers often don't care and don't want to know, except when it costs money.

    1. Re:What if they won't listen? by kelleher · · Score: 2, Insightful
      When it comes to technology, managers often don't care and don't want to know, except when it costs money.

      That's their job. Companies exist to make money - end of story. Technology for technologies sake is foolish and wasteful unless you're in an R&D department.

      That being said, all technology spends (e.g. upgrades, redesigns, rewrites, replacements, etc.) can and should be boiled down to dollars that either fall into a profit/loss or risk/benefit catagory (hopefully over 3-5 years). If a CIO isn't doing this (or having it done for them) they should be fired.

      If you think more subtlety is needed, then I hope you're a low to mid level SA/DBA/Developer because you don't understand the "business" side of the company that employs you. I'm not trying to be rude, but that's the brutal reality of the business world. On a lighter side, there'a always academia... if you'd prefer politics to dollars.

  27. Re:Yep by Marillion · · Score: 5, Insightful

    First thing 32767 changes are a lot. A whole f*ck*ng lot. It averages over 1310 changes per day. For a company that flys over 1300 flights a day, it means they averaged a change every flight every day. That's insanely high.

    I'm personally getting sick of people asking about backup systems. It was a problem with the data. Too much of it. Given the safety and goverment oversight that hinges on this data, you don't mess with it. Any backup system, whether one or one hundred backup systems, when presented with the same data, would also fail.

    The DOT report issued back in March (sorry don't have karma link handy) said neither Comair nor SBS (the closed source vendor that supplied the application) were aware of the limit.

    Eric Bardes (Yes, the one from TFA)

    --
    This is a boring sig
  28. Legacy addiction is the big problem by fm6 · · Score: 3, Interesting
    The Slashdot headline is misleading (as usual). This is only incidentally about risk management. The real subject is, Legacy Applications -- and how you get rid of them before they bite you in the ass.

    As the article says, a lot of resistance to upgrades comes from employees who know how to do things a certain way, and won't retool without much screaming and kicking. I suspect that this is often the problem, and other problems -- distractions like strikes and the Y2K bug, managment that doesn't pay sufficient attention to the problem -- are just just secondary.

    Here's some personal experience that isn't nearly the same scale, but neatly illustrates what I mean. I once worked for a pubs department that delivered copy to printshops as raw Postscript. There was a push from management to upgrade to Acrobat-generated PDF. This should have been a no-brainer -- print shops hate dealing with raw Postscript, and the existing process relied on an ancient, unsupported printer driver that ran only on Windows 98. But the people who managed the process just totally balked, claiming that tight schedules left them no extra time to learn Acrobat. A lame excuse? Sure. But it took a new pubs manager, and escalation to the do-it-or-your-fired level, to get the chage made.

    I think this kind of issue had a lot to do with the failure of IBM's famous plan to use Unix or Linux for all their internal bureaucratic needs. Too many people dug in their heels, claiming that they couldn't possibly retool their Windows-based workflow.

    When you talk about this stuff, somebody always says, "If people can't get with the program, they should be fired!" Well, it often comes to that, as it almost did with the PDF issue. But you can't just abitrarily fire everybody who resists policy and process changes. It's expensive, there are legal ramifications -- and you risk destroying the very corporate infrastructure you're trying to save.

  29. Re:Yep by mankey+wanker · · Score: 4, Insightful

    Is there no way to moderate a post simply "odd"?

  30. Hmm... by Greyfox · · Score: 2, Interesting

    From what I can gather of the airline industry in general, it's a bunch of assorted systems that are sort of held together by duct tape and spit. If ever an industry needed open standards, mandated interoperability and thorough design and code auditing, I'd say that'd be the one. It seems to me that there really needs to be one central IT shop which rolls out all the software for airline and FAA IT needs and all airlines should go through that single central clearinghouse.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  31. Old? by Nemi · · Score: 3, Insightful
    Age of the software should make no difference. The problem in this particular case was that the system could only handle 32,000 transactions a month (the programmer obviously used the wrong data type). That could be a problem with software of any age. Age had nothing to do with it failing.

    This article rings more as a sales article than anything else - only it isn't selling anything. Which puts it squarely in the "wtf" category for me.

  32. Some flaws in the article... by CatsupBoy · · Score: 3, Insightful
    Ok, the bottom line, they should have upgraded. Fine, we can all agree on that.

    Now, first the article states:
    [The application] was the only system left that ran on the airline's old IBM AIX platform (all other applications ran on HP Unix).
    First off, IBM AIX platform can be very new. Just because the application is old and possibly has bugs in it, doesnt mean the OS and hardware inst updated, or that HP Unix is any better.

    Secondly, the following scenario makes perfect business sense:
    SBS came in to make a pitch for its new Maestro crew management software [...] The existing crew management system wasn't exactly elegant, but all the business users had grown adept at operating it, and a great number of Comair's existing business processes had sprung from it.
    The article sets this up as the root of all thier problems. Good grief!!! dont waste resources on an inferior product for goodness sakes! If the product doesnt perform any better, and there are no known issues with the current product, forget it, its a waste of money.

    Then a series of unfortunate events lead to 4 more years of no funding for a replacement product. So what, the business is under a financial crunch, why go back and fix something that isnt broken (that they know of)? The business still needs to survive dont they? I'm guessing they maintained the hardware and OS, otherwise we'd be here talking about how stupid they were for not updating maintenance contracts.
  33. Application lifecycles by ehiris · · Score: 2, Insightful

    IT people know that technology will be obsolete in a short time but most business people always see technology as flashy cost reducers and they never plan on retiring the systems from the get-go. It's an annoyance but it is not suprising in an industry where duct taping old systems is preferred over structural improvements through architecture.

  34. Re:Yep by alienw · · Score: 2, Insightful

    That's exactly the same reasoning that leads to problems like this. We've all heard that 640k should be enough for everybody. A good rule for counters and bit values is to go several orders of magnitude above what you think will be the maximum possible value for that counter.

    One or two changes per flight is unlikely, but possible. Yeah, it's insanely high. Yeah, such a thing might only occur once every 15 years. However, the value should have been a 32-bit unsigned integer instead of a 16-bit signed integer, because a thousand of changes in a month is well within the domain of possible values. Also, these types of limits should be conspicuously published in a specifications sheet, just like every other industry does.

  35. Airlines have been using IT for 40+ years. by Richard+Steiner · · Score: 2, Insightful

    They've also historically had fairly large IT shops. That has given them a lot of time and manpower over the past four decades to write custom software for themselves, and that has resulted in many unique airline-specific systems, sometimes running on interesting combinations of hardware.

    One of the main problems with a "central IT shop" for the airlines is the fact that, operationally, each airline is somewhat unique in terms of the internal operational procedures they use, and many of the software applications at each airline are very tightly tied to that airline's own local set of procedures and business rules.

    I worked for ten years at Northwest Airlines on a flight operations system that was originally written at United Airlines in the mid-1960's, and we had to make a lot of fundamental changes to displays and other things so our pilots and flight dispatchers could use their own in-house terminology, and so that the software would match the largely paper-driven procedures that it was replacing.

    Even were the airline industry not in its current financial bind, the prospect of replacing some of those systems isn't one to be taken lightly -- not only are the systems at a major airline closely intertwined with unique procedures, but they also tend to be tightly tied together in terms of data with lots of real-time message passing going on not only between the airline's internal systems but also between the airline and various third parties (ACARS messages, weather info, flight plan information, reservations info, etc.).

    It's a very interesting industry from an IT perspective, at least when it isn't in a death spiral...

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  36. Unmaintained code (and shoddy work) is the problem by Anonymous Coward · · Score: 2, Insightful

    "As the article says, a lot of resistance to upgrades comes from employees who know how to do things a certain way, and won't retool without much screaming and kicking."

    And why is that a bad thing? If the software is a good tool for the task at hand, they should keep using it. In fact, the article clearly says that this program was in many ways superior to newer programs on the market - which is why they didn't upgrade earlier. They say they were able to create good workflows based around the software - extending the ideas of the software's design to other processes.

    What the article fails to discuss is that you could have a brand new piece of software which fails just as badly. Software doesn't age, and this wasn't a hardware failure. If they tried to do 32,769 crew changes the first month they used the software....it would have failed just as it did now. And buying something new (just because it is new) doesn't mean it is bug-free. If anything, conventional wisdom would imply that the older software is less buggy than new software because it has years of usage. Whoever wrote this program was obviously an idiot and didn't consider "what happens if there are more than 32,768 changes a month?" But most people write shoddy software, and managers don't catch them on it. Do you think that's changed in 20 years? Have programmers become better? I doubt it. The new software they bought almost certainly has some bug lurking in it, ready to cause havoc.

    The real issue is software that is not maintainable, mostly because noone has (or can use) the source code for it. In that sense, just because software is old, doesn't make it a Legacy Application. Lack of maintainability makes it a Legacy Application. What confuses me is, it sounds like they had the source code for the current application. How hard would it have been to go hire a Fortran programmer to review it, since noone in the organization was familiar with Fortran? And, it certainly should serve as a warning to anyone willing to use software critical to a business process without source code. You can't count on software being maintained if the company discontinues support, or goes bankrupt, or just doesn't feel like it. And if you can't count on someone else to support a critical system for you, you better make sure you can support it yourself. (It doesn't have to be FOSS, but you ought to have access to the source code for your own use)

  37. The truly relevant cautionary tale... by EricTheGreen · · Score: 2, Insightful

    ...IMHO, can be found in the following single line from The Fine Article:


    But after nearly 15 years in use, the business had grown accustomed to the SBS system, and much of Comair's crew management business processes had grown directly out of it.

    (emphasis added)

    Talk about putting the cart in front of the horse. This system would never have been replaced before it's crash--the cost of readjusting process and any other attached technology would have dwarfed simply updating the software. There was no business case you could make that would appear to justify the expense. Other than the little matter of "your company won't function if something goes wrong", of course...

    Also, you'd never find a decent replacement product--since it's functionality would have to mirror those same system-driven business processes.

    The truly major oversight was in letting the package drive how Comair did this part of it's business in the first place. Done otherwise, the meltdown might still have happened, for plenty of reasons outlined in the article. But left this way, this result was pre-ordained. No amount of planning or "risk assessment" was going to counter the inertia created by this process/technology inversion.

  38. Not a lot. At all. by Tangurena · · Score: 2, Interesting

    You have 2 flight crew and some "flight attendants." Let's call the number of crew on the plane 6. When a flight is rescheduled, you have 6 transactions removing them from the old flight, and 6 more transactions adding them to the new flight. Total 12 transactions. When you have bad snow days causing cancellation or rescheduling of 1,000 flights, then you just used up 1/3 of your transactions for the month. Since all the transactions are serialized, restoring from back up tapes would just have a crash again.

  39. Re:Yep by Shotgun · · Score: 5, Insightful

    I worked for IBM, coding in the mainframe networking department. Their motto should have been, "Don't change anything...it's working."

    I got irritated. I would find stuff that was just STUPID. Horrendously mangled logic. Algorithms from other parts of the code applied completely wrong. Whenever I tried to improve the code I got the "It's working. Don't change anything" line. I left, determined to find a job where I could actually write code.

    That was several years ago. I've gotten smarter since. I've worked on several large-scale, 5-9's systems. After several major and minor fuck-ups, now I know....

    If it's working, don't change anything.

    --
    Aah, change is good. -- Rafiki
    Yeah, but it ain't easy. -- Simba
  40. "Old software breaks down" is not BS by susano_otter · · Score: 2, Insightful

    First, the longer a piece of software is in use, the greater the chance of finding an obscure or unlikely error condition. The older a piece of sofware, the more of its bugs will become apparent, and the more likely it is that a crippling bug will be found. Old software breaks down.

    Second, operating constraints change over time. If a piece of software meets its initial demands, greater and greater demands are placed on it over time. If a piece of software is kept in use for many years, it will likely find itself handling a workload far in excess of what was imagined when the software was first created. When Comair first began using this software, it probably didn't have the business volume to make the transaction limit a problem. Because Comair's business grew over many years, but the software was not grown along with it, what was originally an unimportant design constraint turned out to be a major bug. Old software does not grow to meet new demands. Old software breaks down.

    Old software doesn't rust. It doesn't develop stress fractures. It doesn't corrode or go stale. But in its own very real and very important way, old software does degrade over time; if not in itself, in its relationship to the constant growth in the demands placed upon it. Old software breaks down.

    --

    Any sufficiently well-organized community is indistinguishable from Government.

  41. You're too young to understand by Anonymous Coward · · Score: 3, Insightful

    These systems were written when a computer had maybe 4M of main memory. So if you double the size of your counter, that means you can hold....1/2 as many events.

    So as a programmer, you make a choice. You either make the counter smaller, or you limit the system in some other way.

    Computers today have 3 orders of magnitude more memory, and the choice between a short and a long is easy to make. But back then, it wasn't.

    To help you understand, if a programmer from that era used a long int, he'd better have a damned good reason. Although, he should have made it an unsigned int and got double the space . See? You're not old enough to feel in your gut the need to save *BITS*.

    Back when I learned to code in the late 70's, we used assembler (BAL 360), and we saved space by making all number packed and then stripped off the sign byte. You did a MVO to the same memory location, and it had a side effect of shifting the packed number on nibble (1/2 byte) to the right, erasing the sign bit. We did that because a 40M disk pack on an IBM 370/148 cost about $40,000 and we couldn't waste it. Now I have a thumb drive with 1G on it. You just don't understand.