.st0{fill:#FFFFFF;}

Garbage In, Garbage Out 

 18 lipca, 2023

Tomasz Dzierżek

„Garbage In, Garbage Out” to powiedzenie, które powstało w oparciu o nazwy systemów kolejkowych takich jak FIFO i LIFO. Nasz dzisiejszy bohater dotyczy jednak czegoś zupełnie innego, a jego znaczenie wykracza poza informatykę.

 

Co to znaczy Garbage In, Garbage Out?

„Garbage In, Garbage Out” (GIGO) znaczy, że jakość tego z czym zaczynamy proces będzie miało odzwierciedlenie w rezultatach. Rozpoczęcie ze śmieciami (ang. garbage) spowoduje, że na końcu też będziemy mieli śmieci. Po polsku ten sam sentyment znajdziemy w powiedzeniu „z piasku bicza nie ukręcisz”, chociaż GIGO jest nieco szersze znaczeniowo.

Tę prawidłowość znajdziemy w każdej dziedzinie życia i pracy. Na przykład, kiepskie materiały na początku produkcji spowodują niską jakość produktu końcowego. Jest to coś, czego nie uda nam się przeskoczyć żadnym procesem technologicznym. Podobną zależność znają wszyscy zajmujący się przetwarzaniem i analizą danych. Jeśli dane wejściowe są niedokładne albo wręcz zawierają błędy, to jakiekolwiek raporty czy zostawienia również będą obarczone tymi samymi błędami. A bardzo często będą one spotęgowane przez kolejnymi operacje, których na tychże danych dokonujemy.

Co istotne, ta zależność nie działa w drugą stronę. To znaczy, że rozpoczynając z perfekcyjnym materiałem, procesem, danymi, itd., nie mamy gwarancji, że z tak samo wysokiej jakości rezultatem skończymy. W każdym procesie istnieje mnóstwo sposobów na to, żeby coś zepsuć bądź nieodwracalnie uszkodzić (np. wprowadzając błęd, bądź niedokładności). Natomiast bardzo rzadko uda nam się coś naprawić. „Garbage In, Garbage Out” mówi, że jest to wręcz niemożliwe. Nie da się przecież wyprostować nieprecyzyjnych danych czy uszlachetnić wadliwe komponenty bądź kiepskiej jakości surowiec.

 

GIGO na co dzień

Również w życiu codziennym znajdziemy prawidłowość „Garbage In, Garbage Out”. Nie da się stworzyć rewelacyjnego posiłku z przeterminowanych składników. A jeżeli mamy kiepski kawałek mięsa, to niemożliwe będzie zrobić z niego rozpływający się w ustach stek. Kupując rozpadający się samochód trudno nam się będzie ścigać na torze z dopieszczonymi maszynami. Podobnie jak będąc kiepskim kierowcą (Garbage In) prędzej rozbijemy bolid Formuły 1 (Garbage Out) niż powalczymy o dobry wynik.

Zapewne życiowo znaleźlibyśmy pewne wyjątki od tej reguły, gdzie na przykład ktoś z kiepskich jakościowo ubrań jest w stanie stworzyć wyjątkowo piękne dzieła sztuki. Nie zmieni to jednak faktu, że zgodnie z zasadą „Garbage In, Garbage Out” dalej pozostaną one niskiej jakości – nie zmienimy przecież materiału. Bo to właśnie o to chodzi, że nie da się przeskoczyć niektórych rzeczy, niezależnie od tego jak bardzo będziemy się starali. Dlatego ważny jest dobry surowiec, komponenty, itd.

O tej zasadzie musimy pamiętać szczególnie w momentach, kiedy nam coś nie idzie. Jeżeli bardzo nam na tym czymś zależy, to standardową odpowiedzią na niepowodzenia jest zintensyfikowanie prób i robienie więcej. Na przykład, gdy nie możemy schudnąć, zaczynamy ćwiczyć dwa razy częściej. W ogóle jednak nie zastanawiamy się nad tym, czy te ćwiczenia w ogóle mają sens i czy kiedykolwiek doprowadzą nas do obranego celu.

 

Garbage In, Garbage Out w wymaganiach i skalowaniu

W naszym środowisku powiedzenie Garbage In, Garbage Out najczęściej jest stosowane w dwóch kontekstach. Jeden to wymagania, a drugi to skalowanie podejścia.

W przypadku wymagań sprawa jest bardzo prosta. Jeżeli źle zidentyfikujemy potrzeby biznesowe i źle będzie nam się wydawało czego potrzebują klienci, to stworzymy może i nawet ładny produkt, ale zupełnie bezwartościowy. Źle zidentyfikowane wymagania na wejściu to bezużyteczny produkt na wyjściu. O tym jak tego uniknąć, rozmawiamy zarówno na naszym warsztacie Product Discovery jak i naszych szkoleniach dotyczących User Stories i wymagań.

Ze skalowaniem podejścia zwinnego sprawa jest troszeczkę bardziej skomplikowana. To, co mamy na wejściu, to jest proces z którym zaczynamy. Jeżeli nasze zespoły nie pracują skutecznie, jeżeli nasz proces nie jest efektywny, jeżeli nie potrafimy dostarczać iteracyjne, to dokładając kolejne osoby i budując kolejne zespoły skończymy z jeszcze większym śmietnikiem niż zaczęliśmy.

Aby robić coś w dużej skali najpierw należy opanować proste przypadki. W szczególności dotyczy to tych miejsc, gdzie już tą małą skalę mamy. Jeżeli nie radzimy sobie z jednym zespołem, to skąd pomysł że poradzimy sobie z kilkoma czy kilkudziesięcioma? To zawsze jest bardziej skomplikowane, a co za tym idzie – trudniejsze. Przeniesienie nieefektywnego procesu z jednego zespołu na cały dział czy całą organizacje spowoduje dokładnie to co zawarliśmy w tytule dzisiejszego materiału – Garbage In, Garbage Out.

Jeżeli chcecie przeprowadzić swoje skalowanie porządnie, zapraszamy zarówno na szkolenia, jak i na konsultacje. Pomożemy uniknąć śmietnika upewniając się, że na „wejściu” jest porządek.

Tomasz Dzierżek


21+ lat doświadczenia w IT, 13+ lat doświadczenia w Scrum i agile, PSM I-III, konsultant zwinnych procesów i zespołów, Agile Coach, trener

Your email address will not be published. Required fields are marked

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}