Integrările se strică: important e să afli tu primul
O legătură între două sisteme nu este o lucrare care se termină. Trebuie să știi când se oprește, înainte să îți spună un client.
O integrare între două sisteme nu e o lucrare care se predă și se termină. E un lucru viu care depinde de software-ul altora: un API schimbă versiunea, un certificat expiră, furnizorul programului de gestiune actualizează și mută un câmp, parola unui serviciu e schimbată de cineva care nu știa că servea și acolo.
Mai devreme sau mai târziu se oprește. Diferența dintre un deranj și o pagubă e cine observă primul.
Cazul cel mai rău
Cazul cel mai rău nu e legătura care se rupe cu o eroare vizibilă. E aceea care se oprește în tăcere: comenzile încetează să ajungă în gestiune marți, nimeni nu observă pentru că nu e nimic de observat, iar vineri sună un client să întrebe unde e livrarea. În acel punct sunt trei zile de comenzi de recuperat manual și o persoană care trebuie să afle care au trecut deja și care nu.
Tot ce urmează servește la evitarea acelui telefon.
Ce trebuie să existe
Repetare fără dublare. Dacă o comandă e trimisă de două ori, în gestiune trebuie să rămână un singur document. E proprietatea care face sigură reîncercarea după o eroare — fără ea, fiecare recuperare e un risc.
Reîncercări automate, cu pauze crescânde. Majoritatea defecțiunilor durează minute: sistemul de dincolo e ocupat, rețeaua a avut un sughiț. Reîncercarea singură după un minut, apoi cinci, apoi douăzeci, rezolvă majoritatea cazurilor fără ca nimeni să observe.
O coadă vizibilă. Ce nu a trecut încă trebuie să stea undeva unde se poate privi, număra și retrimite. Dacă data eșuată dispare, singurul mod de a o regăsi e să o cauți în sistemul de plecare, de mână.
O alarmă pe cantitate, nu doar pe eroare. O eroare izolată poate fi normală. Zero comenzi importate în șase ore de zi lucrătoare nu e, chiar dacă nicio eroare nu a fost înregistrată. A doua verificare e cea care prinde defecțiunile tăcute.
Jurnale lizibile. Nu «Error 500», ci care comandă, care câmp, ce răspuns a venit. Diferența dintre a rezolva în zece minute și a pierde o după-amiază ghicind.
Întrebarea de pus celui care ți-o construiește
Una singură, iar răspunsul spune tot: «Dacă integrarea asta se oprește la noapte, cine află și cum?»
Dacă răspunsul e «ne dăm seama când ne sunați», integrarea e făcută pe jumătate. Legătura care mută datele e partea ușoară; partea care valorează e cea care îți spune, înaintea clientului, că datele au încetat să se mute.