Od czasu do czasu wypływa temat ciekawych błędów systemów informatycznych. Wracają - słynna sonda kosmiczna zagubiona przez zastąpienie kropki przecinkiem, myśliwiec obracający się na plecy po przekroczeniu równika, stojący w dryfie lotniskowiec, luksusowy samochód z zablokowanymi drzwiami i oknami.
Moim ulubionym przykładem jest historia pewnej amerykańskiej sieci hurtowni.
Przypomnę: po wdrożeniu nowego systemu informatycznego (który między innymi optymalizował dystrybucję towarów), jeden z magazynów sieci przestał być używany. Nic nie przyjeżdżało, niczego nie zabierano. Ludzie przychodzili do roboty i siedzieli bezczynnie. Nie robili rabanu, bo pensje wpływały poprawnie (zarządzał tym inny system), a bali się utraty pracy - myśląc, że ich magazyn jest naprawdę niepotrzebny. I trwało to ponad rok. A przyczyną sytuacji był jakiś durny błąd przy indeksowaniu tablicy, w efekcie którego pomijano jej ostatni element - jeszcze przed właściwym uruchomieniem całkiem wyrafinowanego i szczegółowo testowanego algorytmu optymalizacji.
Historyjka dosyć zabawna - ale z ważnymi podtekstami.
Pierwszy, to pytanie - ile takich sieci hurtownii - programów, które pewne specyficzne, brzegowe sytuacje obsługują źle - funkcjonuje obecnie? Analizy komputerowe są używane w ogromnej ilości dziedzin, od naprowadzania rakiet, śledzenia trendów giełdowych i diagnostyki medycznej, po układanie planów lekcji, dystrybucję reklam czy sterowanie pralkami. I nie chodzi wyłącznie o w pełni zautomatyzowane procesy. Ot, wyobraźmy sobie, że program prezentujący wykresy kursów akcji, niepoprawnie umieści etykiety na wykresie. Albo - niech program oceniający ryzyko kredytowe zapali czerwoną lampkę przy imiennikach oszusta. Hmm, to się akurat zdarzało (i owszem, uczciwi ludzie nie mogli dostać kredytu).
Drugi, ważniejszy, to kwestia reakcji ludzi na zauważone błędy. Informatycy zwykle wierzą, że jeśli nawet coś zadziała źle, użytkownicy zgłoszą problem. Ta wiara bardzo często zawodzi. Ludzie traktują systemy komputerowe magicznie, doszukują się w ich błędach głębszego sensu, mają swoje egoistyczne interesy, boją się przełożonych, są leniwi...
Bez morału. No, z jednym - drobnym. Używając jakiegokolwiek oprogramowania, warto mieć odwagę bycia krytycznym. A oprogramowanie pisząc, dobrze regularnie popatrzeć przez ramię korzystającym zeń ludziom. Także dosłownie.