A failure analysis method. In this process, developers start from a particular failure of interest as the intended consequence and try to devise ways to assure that the failure always happens reliably. T hen the developers use that information to develop ways to better identify steps to avoid the failure.