I'm not suggesting a rewrite of the code based on it's maintainability or the amount of effort required to fix bugs. I suggest a rewrite because a lot of the concepts used in these systems are antiquated in and of themselves. Not to mention training people on systems like this is a huge undertaking because of the way the environment has been modeled, and a lot of times, trying to change the concepts behind a large bulk of code just doesn't work out to be as cheap as a whole rewrite. These systems aren't well understood by its users and that is a problem. You can't pick people up off the streets and pay them the typical airline pay and expect that type of person to learn and use these systems effectively. Having said that, I actually enjoy using a lot of these systems (most of my coworkers find them scary and painful to use), but I would definitely like a lot more consistency across the various programs that the airlines expect their employees to use. I don't know if a whole rewrite is required, but from an end user's perspective, some really big changes need to be made.