The 42 Principles · Principle XXIII

Design for Failure

Resilience, graceful failure, recovery, preparation, visibility, and accepting failure as a design constraint.

This one belongs near the center of an engineering philosophy because it separates hope from preparedness.

High availability matters.

Redundancy matters.

Fault tolerance matters.

Monitoring, clustering, replication, backups, and resilient architecture all matter.

But none of them eliminates failure.

They reduce its likelihood.

They limit its impact.

They buy time.

They do not make a system immortal.

Eventually, something will fail in a way the original design did not predict.

A dependency will become unavailable.

A certificate will expire.

A region will experience disruption.

A configuration change will behave differently than expected.

A backup will be needed.

A recovery process will have to work under pressure.

That is why disaster recovery cannot be treated as a document stored somewhere for an emergency.

It must be prepared.

Tested.

Measured.

Practiced.

A recovery plan that has never been exercised is not a recovery plan.

It is a theory.

The real question is not whether an outage will ever happen.

The question is whether you will be ready when it does.

How quickly will the problem be detected?

How long will it take to make a decision?

Who has the authority to declare a disaster?

Are the backups usable?

Are the credentials available?

Are the recovery steps current?

Does the team know what to do without searching through old emails?

Can the business survive long enough for the technology to return?

That last question should shape the entire strategy.

Disaster recovery is not designed around what the infrastructure team finds convenient.

It is designed around how long the client can continue operating without the service.

Some organizations can tolerate several days of downtime.

Others begin losing revenue within minutes.

Some systems are inconvenient when unavailable.

Others affect patient care, payroll, financial transactions, or public safety.

The correct recovery design begins with understanding that difference.

How much data can the client afford to lose?

How long can the client afford to remain offline?

Those answers define the recovery objectives.

The technology must then be designed to meet them.

If the business can survive four hours without a system, a recovery strategy that takes three days is not a strategy.

It is an apology waiting to happen.

And if the required recovery window cannot be achieved with the budget, staffing, or tools provided, leadership must understand that clearly.

Risk does not disappear because no one funded the solution.

It is simply being accepted, whether consciously or not.

Resilience is not proven by avoiding every failure. It is proven by recovering before the failure becomes irreversible.

There is also a strong human lesson here.

During an outage, people rarely rise to the level of their intentions.

They fall to the level of their preparation.

That is why drills matter.

That is why restore tests matter.

That is why contact lists, escalation paths, clean documentation, and clearly assigned responsibilities matter.

The middle of a crisis is the worst possible time to discover that no one knows the next step.

A calm environment gives teams the opportunity to practice decisions before stress narrows their thinking.

Testing may feel unnecessary when everything is stable.

That is exactly when it should be done.

You test the recovery process while you still have time to correct it.

You measure how long it actually takes.

You find the missing permissions.

You discover the outdated instructions.

You identify the backup that was never being validated.

You learn which assumptions were wrong.

Then you improve the plan before lives, livelihoods, or the business depend on it.

This Principle also follows Complexity Is a Cost beautifully.

Complex systems create more ways to fail.

That does not mean we avoid necessary complexity.

It means every layer we add must include an answer to one question:

How do we recover when this layer stops working?

Build for availability.

Prepare for interruption.

Practice recovery.

Measure the time.

Know what the business can survive.

Failure is inevitable. Being unprepared is a choice.


Related Principles

Continue the idea.

These Principles share themes with Principle XXIII.