Bir sistem tasarlarken yapılabilecek en tehlikeli hata, kullanıcıların talimatları okuyacağını, geliştiricilerin hiçbir ayrıntıyı atlamayacağını ve sunucuların daima sözünde duracağını varsaymaktır. Bunların üçü de teknik gereksinim değil, iyimserlik biçimidir. İnsan yanlış düğmeye basar, parolasını unutur, aynı işlemi iki kez gönderir; makine ise diski bozar, paketi düşürür, zaman aşımına uğrar. Hata toleransı, bu kusurları yok etmeye çalışmak yerine onları sistemin doğal iklimi kabul etme sanatıdır.
Hata istisna değil, girdidir
Acemi tasarımcı mutlu yolu çizer: Kullanıcı formu doldurur, ödeme gerçekleşir, sipariş kaydedilir. Deneyimli tasarımcıysa karanlık sokaklara bakar: Ödeme alınır ama yanıt gelmezse ne olur? Kullanıcı sabırsızlanıp düğmeye tekrar basarsa iki sipariş mi oluşur? Veritabanı yazma sırasında çökerse hangi kayıt gerçektir? Sağlam yazılım, yalnızca doğru adımların sonunda doğru sonuç üretmez; yanlış, eksik veya yinelenmiş adımlar karşısında da anlaşılır bir duruma döner.