Once upon a time, the software code was the only thing that mattered. Everything else was added as an afterthought, including testing (of any description), integration, security, and considerations like IT disaster recovery. Now, enlightenment is slowly spreading through the coding community. It started with testing and integration.

Here, extreme programming (actually, quite reasonable) and continuous integration came in to help untangle some of the huge knots that programmers were tying the programs into. Agile programming to reduce development phase lengths and even IT-security-from-the-start came in. So, it must about time for disaster-recovery-from-the-start, right?

The basic idea would be to include disaster recovery as a design parameter in any IT project during project specification, and test for satisfactory disaster recovery at each stage of development.

That would include unit-level testing, which is done on individual blocks, routines or modules of code, before they are glued together (integration) to form a complete system. Once again, if this can be done for IT security in design specification, unit testing, integration testing, etc., it makes sense to do it for DR too.

After all, disaster recovery is there to get enterprises out of a jam after catastrophic IT failure, making it just as important as IT security.

There’s just one thing, however. Disaster recovery is also a very personal thing, from the point of view of an individual enterprise. In other words, my DR will not look like your DR, because I have different data, different systems, a different budget, and above all, different business objectives.

Commercial applications will only be able to build in and test DR functionality or modules that are generally applicable. But that’s the same with IT security. Modular, generally applicable features are then used in specific ways by enterprises with their own IT security agenda. Ditto for disaster recovery. Friends, colleagues, IT departments of the world, stand up with us and demand that DR be designed in to IT systems from the start!