Thursday, January 29, 2009

Fail Gracefully

Tim Berry's blog post today on "failing forward" reminded me of one of my favorite engineering/application design phrases: fail gracefully.

What does this mean? It means that you should design your applications and web sites to provide the end user with useful and informative information when it runs into a problem. Failing gracefully means:
  • Providing useful 404 pages on your web site
  • Not displaying only error codes when your application crashes. Provide information that will help the user fix the problem.
  • Not letting engineers write your error messages. (see point 2)
  • Making sure errors behind the scenes don't bring everything else to a screeching halt
Beyond writing code and developing applications, the "fail gracefully"concept is useful in business. This means:
  • Having good backup plans if things don't go as you originally planned.
  • Knowing what your alternatives are.
  • Planning ahead for optimistic and pessimistic scenarios
  • Learning from your mistakes
Not that any of us ever want to fail, but it's inevitable in business, entrepreneurship and life. So, failing gracefully is a much better option than just failing.

No comments: