How Technical Debt Hampers Modernization Efforts for Organizations
Recent crew-scheduling challenges for Southwest Airlines highlight the need for companies to fix old software to avoid incurring technical debt.
When Southwest Airlines had to cancel more than 16,700 flights following a winter storm, old crew-scheduling software became the focus of attention.
“This problem -- relying on older or deficient software that needs updating -- is known as incurring technical debt, meaning there is a gap between what the software needs to be and what it is,” wrote Columbia University professor Zeynep Tufekci in a Dec. 31 New York Times opinion piece.
Technical debt stems from aging code as well as new software written in a fast and careless way. “As you might expect, quicker is cheaper,” Tufekci wrote.
Instead of reporting their absence through software, employees were left on hold calling for hours, according to Tufekci.
“When you develop an application, you take certain shortcuts for which you're going to have to pay the price back later on,” explains Olivier Gaudin, cofounder and CEO of SonarSource, which develops open-source software for continuous code quality and security. “You accept that your code is not perfect. You know that it will have a certain cost when you come back to it later. It will be a bit more difficult to read, to maintain or to change.”
Although the crew scheduling software didn’t fail altogether, it couldn’t handle the number of crew and schedule changes, Andrew Watterson, chief operating officer for Southwest Airlines, told the US Senate Committee on Commerce, Science and Transportation on Feb. 9.
“Without updated crew schedules, the crew decision-support software could not reassign crews to solve for flights with crew coverage issues,” Watterson says. “Of the three moving parts in our point-to-point network -- the flight network, the aircraft network, and the crew network -- and as far as our technology is concerned, the disruption primarily revealed a need to add functionality to our crew-scheduling software to solve for a large backlog of broken crew pairings.”
Debrup Ghosh, senior product manager in the Software Integrity Group at Synopsys, notes that scheduling software is a core piece that must stay in tune with other components to keep the company operating properly.