With respect to resources on practices, I think most of the agile literature is reasonable. In all the domains I've worked in, the biggest challenge with doing things agile-ly has been testing: the domain complexity makes it very hard to comprehensively test the software. In the case of Crash, we just dealt with it with huge amounts of human testing (and we fixed the hundreds of reported buts). At ITA and Inky, we had/have more custom automated testing infrastructure.
One lesson is that a system like ITA's or Inky's basically can't be correct unless it's exhaustively tested.