Fail-fast system

Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly flawed process.

Such designs often check the system's state at several points in an operation, so that any failures can be detected early.

The responsibility of a fail-fast module is detecting errors, and then letting the next-highest level of the system handle them.

Fail-fast-designed code decreases the internal software entropy and reduces debugging effort.

The term has been widely employed as a metaphor in business, dating back to at least 2001,[1] meaning that businesses should undertake bold experiments to determine the long-term viability of a product or strategy, rather than proceeding cautiously and investing years in a doomed approach.