Gdyby cieśle budowali domy tak, jak programiści tworzą programy, to pierwszy dzięcioł, który by nadleciał, przyniósłby koniec cywilizacji
-- drugie prawo Weinberga, rzekomo (okazuje się, że pochodzenie cytatu samo w sobie jest ciekawe)

Wyobraźcie sobie. Mieszkacie w Wielkiej Brytanii i pracujecie dla tamtejszej poczty - nie na szczycie hierarchii firmowej, ale macie własną placówkę, zatrudniacie pracowników, robicie coś pożytecznego i robicie to dobrze, uczciwie, rzetelnie. Złego słowa nikt o Was do tej pory nie powiedział.

Więc idziecie do biura, słuchając przeróbki znanego wiersza o nocnym pociągu pocztowym w wykonaniu Aphexa Twina a tam jesteście proszeni na dywanik przez samego Dyrektora Regionalnego.

Dalsze słowa wprowadzają Was w takie osłupienie, że nic z nich nie rozumiecie. Poza "malwersacje finansowe", "przywłaszczyłeś", "duże sumy pieniędzy", "audyt komputerowy". Mówicie, że to nieprawda, ale równie dobrze moglibyście się tłumaczyć, że nie jesteście kosmitami.

No i, oczywiście, padają słowa "zwolnieni bez wypowiedzenia" i "zarzuty karne", po czym eskortuje Was policja na zewnątrz budynku prosto na komisariat.

To, jak straszna jest to historia, determinują trzy fakty, o których po kolei. Po pierwsze: macie rację. Nic nie przywłaszczyliście.

Po drugie, w takiej sytuacji stanęły setki pocztowców z Wielkiej Brytanii. Niekoniecznie wszyscy słuchali Aphexa Twina, reszta się zgadza. Część z nich zmuszona była do pokrycia fikcyjnych strat z własnej kieszeni. 236 osób skazano na więzienie, jak się okazało - niesłusznie. Historię powiązano także z trzynastoma dokonanymi skutecznie samobójstwami.

Jak więc do tego mogło dojść? Odpowiedzią było tragicznej jakości oprogramowanie, którego brytyjska poczta używała do księgowości. Oprogramowanie to - Horizon, autorstwa Fujitsu - po prostu źle liczyło. Dla ciekawych, w formie mema, fragment programu w pseudokodzie z raportu odnośnie jakości tego oprogramowania. Raport był druzgocący:
Pomimo że fragmenty EPOSS (systemu Horizon - przyp. red.) są dobrze napisane, istotne sekcje są kombinacją niskiej jakości projektu technicznego, złego programowania i nieprzemyślanych korekcji istniejących błędów. Negatywny wpływ tych czynników będzie narastał tak długo, jak kultura PINICL (zespół odpowiedzialny za produkt - przyp. red.) pozostanie niezmieniona. Wynika to częściowo z natury/rozmiaru zadania naprawy błędów i częściowo z jakości i profesjonalizmu pewnych członków zespołu.

Oficjalny raport poczty brytyjskiej jednak ubiera to w bardzo łagodnych słowach:
1.3 Przed uruchomieniem [systemu], niektórzy pracownicy Fujitsu odkryli że Legacy Horizon był zdolny do produkowania danych, które były fałszywe. Doprecyzowując, pracownicy ci byli świadomi, że oprogramowanie mogło pokazywać zyski lub straty na kontach oddziałów lub placówek, które były iluzoryczne, nie rzeczywiste.

1.5. W 2010, Legacy Horzion został zastąpiony wersją (...) Horizon Online. (...) Tak jak poprzednik, Horizon Online również, od czasu do czasu, był dotknięty błędami, problemami i defektami, które objawiały się pojawianiem zysków i strat (...) które były iluzoryczne.

Skazanych uniewinniono, część z nich w procesie cywilnym otrzymała odszkodowanie. A co z winnymi?

Trzeci fakt: Fujitsu ma się dobrze. Horizon dalej jest wykorzystywany przez pocztę brytyjską ( https://www.bbc.com/news/articles/cgm8lmz1xk1o - stan na 2025 r.).

Zainteresowanych szczegółami odsyłam do bardzo dobrze uźródłowionego i opisowego artykułu na angielskiej Wikipedii: https://en.wikipedia.org/wiki/British_Post_Office_scandal

PS: Przepraszam jeśli źle taguję, ale nie mam pomysłu na lepsze tagi niż te niżej
#programowanie #wielkabrytania #ciekawostki
a92a6769-6c2e-4d9b-aae8-b809b1f70b45
21

Komentarze (21)

@Mechazaba Jeśli użyli tak gównianego kodu do zmiany znaku liczby, to aż boje się pomyśleć co musiało się dziać w bardziej skomplikowanych obliczeniach.

@Jarasznikos Właśnie. To rodzi pytanie - gdzie było code review? A skoro błędy były tak grube, że pojawiały się "iluzoryczne zyski i straty na kontach bankowych", to gdzie była piramida testów? No i skoro pracownicy wiedzieli, to gdzie był ktoś, kto powiedziałby "stop, do jasnej cholery, nie"?


No bo wiecie. Tych 13 osób, co popełniło samobójstwo - to już tylko św. Piotr wie, dlaczego. Ale 236 osób poszło siedzieć niewinnie.


Mam wrażenie, że gdyby w innych branżach - nawet nie np. w medycynie czy prawie, ale np. w inżynierii budownictwa coś takiego miało miejsce, to by wiele osób zasiadło samemu na ławie oskarżonych. A w programowaniu?


Stąd ten cytat na początku uznałem za stosowny.

@Mechazaba Urban legend głosi że Post Office płaciło Fujitsu za liczbę linijek kodu.

Gdyby cieśle budowali domy tak, jak programiści tworzą programy, to pierwszy dzięcioł, który by nadleciał, przyniósłby koniec cywilizacji


@Mechazaba Gdyby cieśle pracowali w takich samych warunkach jak programiści, to i wynik byłby ten sam. Słuchaj, wymagania się zmieniły i teraz ten pokój ma być na tyłach budynku, no przecież co za problem przenieść? Jak to, strop zajmie miesiąc? W tydzień zróbcie, bo już obiecałem klientowi. Nie mamy budżetu na testera dachu, na pewno będzie ok bez testów. W ramach oszczędności góra kazała zwolnić doświadczonego konstruktora, ale macie tu hindusa w zamian, co prawda koleś nic nie umie i nie da się z nim porozumieć, ale sztuka jest sztuka, co nie?

@Mechazaba - te błędy systemu zniszczyły setkom ludzi życie - a brytyjska poczta szła w zaparte.

Widziałem o tym niedawno dokument i do tej pory część ludzi nie została oczyszczona z zarzutów.

Ludzie przez państwową spółkę zostali potraktowani gorzej niż przez najgorsze korpo.

@koszotorobur Dokumentu nie widziałem - z chęcią zapiszę na listę do obejrzenia, jeśli podlinkujesz. Natomiast o próbie wyciszenia sprawy, obwinianiu i niszczeniu życia ludziom i "no ale jak to komputer może się pomylić" niestety czytałem. Bardzo smutna historia ogólnie i chciałbym, żeby była pewną przestrogą

@Mechazaba - widziałem kilka dokumentów łącznie z tym: https://youtu.be/MyhjuR5g1Mc

@Mechazaba Czytałem o tym, chyba też widziałem jakiś dokument z konkretnym case-study jednego z prywatnych podwykonawców poczty. To był skandal, ale zgodnie z zasadą "k⁎⁎wa k⁎⁎⁎ie łba nie urwie", właściwie obyło się bez konkretnych konsekwencji dla sprawców zaniedbań. Nie piszę tu o marnych koderach, którzy wyprodukowali ten shit na screenie, a o zarządzających w Fujitsu i poczcie. Bo to kultura zarządzających zaczyna mieć coraz większy wpływ na jakość systemów, na których opiera się coraz więcej interakcji i działalności społeczno-gospodarczych. A od czasu, gdy weszło AI (na szerszą skalę i pod strzechy, bo te techniki mają dobrze ponad 30 lat), zauważam trend wśród rozmaitych zarządów, że pozwoli to oszczędzić i tylko to się liczy. Niewielu jedynie zauważa problem z opanowaniem działania tych narzędzi, niewielu rozumie choćby w stopniu podstawowym, jak działają. Ale to okres przejściowy, nic nie trzeba robić, bo kadra zarządzająca jest w dużej mierze łatwa do zastąpienia :D.

@ataxbras Z doświadczenia, jestem prawie pewien dwóch rzeczy: że kierownictwo musiało o tym wiedzieć i że programiści (o ile kompetentni programiści w projekcie byli) nie mieli wiele do gadania.


Ważniejsze było po prostu dowieźć, a potem liczyć zyski/dostać awans/mieć zielony słupek w Excelu.


A takie gówno jak na screenie produkuje właśnie nie kto inny, jak kierownictwo. Brakiem kompetentnych lead deweloperów z narzędziami do powiedzenia "zrób to jeszcze raz". Brakiem odpowiednich testów i kultury reagowania na testy. Brakiem reakcji na coraz to bardziej alarmujące sygnały. Brakiem narzędzi dla pewnego rodzaju sygnalistów.


Co do AI - niestety. Stało się to popularnym buzzwordem. Tak jak 5G cztery-pięć lat temu i jak wiele innych, po kolei.

@Mechazaba Jakiś PM może wiedział, ale wyżej liczyły się milestones. Więc dowiózł gnój. Zapewne nie było też zatrudnionego na stałe architekta systemów, któryby dbał o spójność. Bo po co, przecież koderzy wiedzą co robią (right).


Kwalifikacje wymagane do pięcia się po drabince biurokracji nie są tymi, które pozwalają zrozumieć zależności logiczne w systemach informatycznych. Wręcz przeciwnie - to spektrum operowania emocjami i interakcji z innymi, podobnymi sobie. I to upośledzenie widać coraz lepiej.

Na szczęście, wnioskowanie statystyczne nadaje się wspaniale do emulowania tej sfery .

murarze robia testy swoich murów? czy jak stoi prosto to jest już sukces?

w zaleznosci od jakości prowadzenia projektu sa testy ktore pokrywaja funkcjonalności i jest to gwarant ze na prodzie nagle wszystko nie wysiądzie.


na projekcie na którym głównie pracuje, mamy jakies 10k+ testów i nie ma niespodzianek

@666 No i super, to znaczy, że macie dobrą kulturę pracy, w szczególności porządną kulturę testowania oprogramowania. A co do murarstwa - oczywiście zdarzają się błędy, natomiast bardziej chodziło mi o pewną kulturę stopień wyżej. Projekt budynku będzie obliczony pod kątem wytrzymałości, a jak widać sprawdzenie, czy oprogramowanie księgowe nie liczy fikcyjnych pieniędzy - już nie jest koniecznym założeniem projektowym.


Przy czym tutaj jest oczywiste pytanie - kto za to ponosi odpowiedzialność. Moim zdaniem kierownictwo, nie tworząc takiej kultury tworzenia oprogramowania, jaką opisujesz u siebie.

Jezusie, jak ja pisałem pierwszy raz dla klienta coś co miało liczyć pieniądze to mega obsrany byłem żeby wszystko się na pewno dobrze liczyło, sprawdzałem po milion razy plus testy jednostkowe a ci oddają takie coś i to jeszcze dla jednej z większych instytucji państwowych w kraju xD.

Czy nie mieli kamerek ustawianych na kasę, aby prześledzić różnice między stanem faktycznym, a systemowym? Przecież trzeba jakoś udowodnić, że coś znika, kto to robi i gdzie kasa trafia.

@976497 Można pewnie by było argumentować, z racji, że wszyscy oskarżeni byli dyrektorami placówek pocztowych, że "ten wiedział, że między 13:52 a 13:55 monitoring wykonuje czyszczenie dysku i uruchamia się ponownie, a tamta wiedziała, że za draceną nie widać". Oczywiście, niżej padło pytanie o gwarancje procesowe i z tego, co czytałem to wyrok często wydał komputer. Nikt nie dawał wiary tym ludziom, że tak duży system, tak poważnej instytucji, musiał się mylić.

Jest cos takiego jak odbiór programu przez klienta. Klient podpisuje się tam że uważa że program który widział i przetestował działa poprawnie i może go już odebrać

@kodyak Jest, chociaż w latach 90, w których system powstawał, mogło to nie być normą - no ale powinien być w wypadku Horizon Online, z XXI wieku. Zasadnym jest oczywiście zapytać o to, jak wyglądał odbiór w tym wypadku.


Pytanie, jakimi testerami dysponowała poczta, ile było czasu na odbiory i jakie procedury testowe wdrożono. Bo wydaje mi się, że procedurą testową mogło być "sam prezes poklikał, po czym powiedział, że mu się podoba"

@Mechazaba no to widzisz. Masz winnego

Najbardziej nieudolni są w tej historii mimo wszystko śledczy, którzy uznali, ze 236 osób robi dokładnie takie same wały.

@mordaJakZiemniaczek Zauważ, że w tej historii - o zgrozo - mógł to być sukces. Wystarczyło, że program pokazywał "ten wziął do kieszeni, tamten wziął do kieszeni" - bez szczegółów, jak. No i cyk podwyżka i awans dla kierownictwa od systemu, bo skutecznie zapobiegli setkom przypadków defraudacji!


A gwarancje procesowe? Na co komu gwarancje procesowe, jest komputer, przecież Pan widzi, że komputer powiedział, że Pan ukradł, to Pan ukradł.

Im więcej się o tym przeczyta, tym wychodzi że to grubsza sprawa.


Ogółem to szefostwo Post Office się chwilę zastanowiło jak ten ich biznes działa, i doszło do wniosku że... Takie franczyźniane biuro pocztowe to słaby pomysł na biznes jest, kto by się do tego zapisał? Trzeba włożyć w to trochę pieniędzy, a przychody marne. Ile da się na tym zarobić?

Dla takiego pana Johna z Upper Sconeshire to jak najbardziej dobry pomysł, poczta przecież zawsze będzie coś tam robić, można jakieś graty posprzedawać na poczcie, stała fucha i można tak robić do emeryturki i jest średnio, czyli super. Ale jak jest się panem Johnatanem z Londynu, dyrektorem poczty i zarabia tam krocie, to przecież nie będzie się człowiek fatygował i harował w nieludzkich warunkach wydając ludziom kwity żeby dostać śmieszne pieniądze co miesiąc.


No to szefostwo wymyśliło - ewidentnie tylko nieuczciwi ludzie się będą pchać w to i podkradać z kasy albo robić jakieś inne wałki. I dlatego powstał system Horizon, nie po to żeby poczta sprawniej działała albo żeby to mądrzej administrować, tylko żeby znaleźć dokładnie kto i ile kradnie i pociągnąć ich do odpowiedzialności.

I zaraz po odpaleniu systemu znaleźli to czego szukali. A przecież skoro według nich to tylko złodziej by się taką pracą zajął, no i znaleźli tych złodziei, no to elegancko! A po co sprawdzać skoro wyniki im pasują? Systemu do sprawdzenia że wszystko się zgadza przecież nie zamówili, a jakby nie dostali wyników no to Fujitsu ma problem bo system zrobili popsuty.


No a pan John co nigdy pensa nie ukradł teraz się musi ciągać po sądach bo tak wymyślił dyrektor z poczty.


A, no i oczywiście bonus na koniec. W brytyjskim systemie prawnym komputery się nigdy nie mylą i z góry jest założenie że są sprawne i trzeba im wierzyć, chyba że są ewidentnie popsute, więc jak komputer mówi że ukradłeś to ukradłeś. A wglądu do kodu źródłowego lub umiejętności do tego sprawdzenia to pan John z okienka na poczcie nie będzie miał, bo po co jemu. Czyli jednak złodziej!

Zaloguj się aby komentować