Estrada recalls working on an app where there was a push to use HTML5, which seemed like the latest and best choice. But as the project went on inefficiencies became apparent -- it wasn't ready for prime time yet.
"We redid the project in C++, and it takes a lot more effort because C++ is a much lower level," Estrada said. "But we achieved better performance. If you create your platform correctly, you develop a process that makes it easy to add new features."
Consultants might be a good fit here, says Estrada, where you have an isolated technology that needs updating. But there's a caveat: He argues that bringing in consultants is typically a bad choice to fix an internal tool in need of new features. If the tool is tied into other systems, consultants won't have the big picture or a long-term investment in the outcome.
"Business process should drive the software," says Sweeton. "Sort out the right business process, then adapt the code to it."
If Sweeton's sentiments suggest a theme, there's good reason for it. Runaway projects tend to be missing one of three elements: a clear vision from management, project managers who communicate effectively, and strong tech leadership. Projects that don't have all three? They tend to need renovation on more than one level.
Sign up for CIO Asia eNewsletters.