Terhubung ke apa pun yang bukan Anda yang menjalankan berarti Anda ikut mengambil hari-hari buruknya, bukan cuma hari baiknya. Ia akan kehabisan waktu, akan mengembalikan galat yang belum pernah Anda lihat, akan lambat persis di jam trafik Anda memuncak, dan sesekali akan menjawab dengan yakin tapi keliru.
Tidak ada yang aneh dari itu. Yang membedakan antar sistem adalah apakah ada yang memikirkannya lebih dulu.
Putuskan apa arti kegagalannya
Pertanyaan pertama bukan pertanyaan teknis. Melainkan: kalau panggilan ini gagal, apa yang harus dilakukan perusahaan?
Kadang jawabannya berhenti. Kalau pembayaran tidak bisa diotorisasi, pesanannya tidak boleh lanjut, dan pelanggannya harus diberi tahu dengan jelas.
Sering jawabannya lanjut saja. Kalau layanan tarif kurir mati, pesanan tetap bisa diterima dengan tarif cadangan. Kalau sistem akuntansi tak terjangkau, fakturnya tetap bisa diterbitkan dan sinkronisasinya menunggu.
Ini perilaku yang berbeda, dan bedanya milik pemilik usahanya, bukan milik penulis kodenya. Mendapatkan jawabannya lebih dulu adalah sebagian besar pekerjaannya.
Pisahkan urusannya dari permintaannya
Apa pun yang bisa menunggu jangan dikerjakan sementara pelanggan menatap ikon memuat. Taruh di antrean: permintaannya mencatat apa yang perlu terjadi, dan pekerja terpisah yang mengerjakannya, mencoba ulang, dan menyerah dengan cara yang disadari seseorang.
Percobaan ulangnya perlu mundur bertahap — layanan yang sedang kesulitan tidak butuh sistem Anda menghantamnya setiap detik — dan perlu batas. Percobaan ulang tanpa batas terhadap galat permanen adalah mesin yang mengulang kesalahan selamanya.
Dan antreannya butuh ujung mati yang terlihat. Pekerjaan gagal yang tidak dilihat siapa pun lebih buruk daripada kegagalan yang dilihat pelanggan, karena setidaknya pelanggan akan memberi tahu Anda.
Jangan percaya jalur mulus yang sudah Anda uji
Kegagalan tersulit adalah yang ambigu: permintaannya kehabisan waktu, jadi Anda tidak tahu apakah ia diterima. Karena itu aturan sebelumnya penting — semua yang Anda kirim harus punya identitas yang memungkinkan Anda bertanya “apakah yang ini sampai?” alih-alih menebak, dan semua yang Anda terima harus aman diterima dua kali.
Kehabisan waktu bukan kasus tepi. Itu kondisi operasi normal dari jaringan yang bukan milik Anda.