If you do not model your software for disaster recovery survivability and routinely test scenarios where you lose a data center, there will certainly be something bad that pops up when it happens in a real-world scenario. Once systems become too complex with too many interacting pieces you need to run real-world DR situations on a schedule to ensure something isn't missed.