조기 실패(Fail Fast)는 프로그램의 잘못된 상태를 발견한 자리에서 곧바로 드러내는 설계 원칙이다. 오류를 감춘 채 계속 진행하면 실제 원인과 멀리 떨어진 곳에서 문제가 나타날 수 있다. 짐 쇼어(Jim Shore)는 오류를 빨리 찾는 일과 서비스 전체를 안정적으로 유지하는 일을 함께 설계해야 한다고 설명한다. (Fail Fast)
늦게 알게 되는 일을 줄이기
- 예를 들어 인쇄용 파일을 만드는 작업이라면 필요한 원고가 없는 상태에서 빈 페이지를 만들어 성공으로 보고하지 않도록 할 수 있다. 무엇이 빠졌는지 먼저 알려주고 해당 작업을 멈추는 편이 원인을 찾기 쉽다.
- 멈추는 범위는 따로 정해야 한다. 한 파일의 오류 때문에 관련 없는 작업까지 모두 종료할 필요가 있는지 살펴보고, 실패의 경계를 기록해보자.
- 백업과 가역성도 함께 검토하자. 오류를 드러내더라도 이미 작성한 내용을 잃지 않게 하고, 사용자가 다시 시도할 방법을 마련하는 것이 좋다.