Przychodzi informatyk do lekarza...

O kryzysie oprogramowania i jego objawach napisano już tak wiele, że chyba powoli zaczyna brakować chętnych do czytania o negatywnych przykładach pokazujących, jak nie należy postępować, komputeryzować, projektować, programować itd. Także ja, kiedy czytam w polskiej prasie fachowej artykuł traktujący o kolejnym nieudanym przedsięwzięciu, zauważam u siebie objawy 'znieczulicy społecznej'. Ot, kolejny nieszczęśnik, któremu się nie udało i idzie na dno razem ze swoim okrętem. Dobrze, że my jeszcze żyjemy!

O kryzysie oprogramowania i jego objawach napisano już tak wiele, że chyba powoli zaczyna brakować chętnych do czytania o negatywnych przykładach pokazujących, jak nie należy postępować, komputeryzować, projektować, programować itd. Także ja, kiedy czytam w polskiej prasie fachowej artykuł traktujący o kolejnym nieudanym przedsięwzięciu, zauważam u siebie objawy 'znieczulicy społecznej'. Ot, kolejny nieszczęśnik, któremu się nie udało i idzie na dno razem ze swoim okrętem. Dobrze, że my jeszcze żyjemy!

Około 25 lat temu nasi dziadkowie informatycy już usłyszeli pierwsze głosy o kryzysie oprogramowania. Ich wnuki optymiści twierdzą, że dzisiaj jest znacznie lepiej. Pesymiści natomiast nie chcą się dać przekonać i na potwierdzenie swoich tez wysuwają argumenty podobne poniższym:

  • systemy wytwórcze naszych projektów są chore

  • kanały informacyjne, nerw każdego przedsięwzięcia, są wąskimi gardłami zarządzania

  • działania koncentrują się na leczeniu skutków błędów zamiast na ich profilaktyce

  • diagnostyka niezawodności systemów pozostawia wiele do życzenia

  • dobro klienta rzadko leży nam na sercu

  • wiele projektów kończy się przed osiągnięciem celu.
Z racji moich zainteresowań zagadnieniami jakości oprogramowania i podnoszenia wydajności systemów wytwórczych wielokrotnie zastanawiałem się, gdzie leżą przyczyny trudności we wdrażaniu i stosowaniu opracowywanych od lat w różnych ośrodkach naukowych i przemysłowych całego świata wszelkiego rodzaju terapii leczących, wzmacniających i pomagających trwale wyzdrowieć z naszych chorób "wieku dziecięcego" informatyki. Odsetek nieudanych projektów wymagających poprawy dorównuje nieudanym projektom informatycznym, a liczba firm, które żyją w stanie ciągłego chaosu organizacyjno-projektowego, czyli znajdujących się na poziomie pierwszym w pięciostopniowej skali CMM, osiąga obecnie 80%. Wobec takiej skali zjawiska można zaryzykować stwierdzenie, że te firmy, które jako pierwsze uporządkują swoje procesy, zyskają znaczną przewagę konkurencyjną. Tylko... dlaczego nie chcą?

Pamiętam jedną z dyskusji panelowych na konferencji PTI w Szczyrku w 1998 r. Zawód informatyka porównano tam do zawodu lekarza weterynarii, który musi pomagać stawać na nogi różnym pacjentom, którzy nie potrafią wyrazić słowami tego, co ich boli. Tamto stwierdzenie, które głęboko zapadło mi w pamięci, stało się główną inspiracją do napisania tego artykułu. Szukając analogii, która w najtrafniejszy sposób pozwoliłaby wytłumaczyć, o co chodzi w dziedzinie doskonalenia procesów wytwórczych oprogramowania, zauważyłem, że język, którym posługujemy się do opisywania negatywnych zjawisk z dziedziny inżynierii oprogramowania, ma wiele wspólnego z medycyną. Dziedziny tak na pierwszy rzut oka odległe posługują się dość specyficznymi stereotypami myślowymi, dającymi się skutecznie zaaplikować zarówno do nauk medycznych, jak i do inżynierii oprogramowania.

Medycyna jednak w odróżnieniu od informatyki jest nauką bardziej dojrzałą, ma wypracowane stabilne kanony postępowania w sytuacjach typowych (standardy leczenia) oraz metody postępowania z nowymi problemami i może wiele nauczyć nas o tym, jak "leczyć" choroby systemów wytwórczych oprogramowania. Tysiące lat tradycji, wielowiekowe doświadczenia, możliwość korzystania z dostępnej każdemu człowiekowi intuicji opartej na niezliczonych chorobach, wizytach lekarskich i wyzdrowieniach, które każdy z nas przechodzi w ciągu swojego życia - ma dla mnie wysoką wartość dydaktyczną. Tłumaczy także dobrze kilka mechanizmów, które nasze starania o poprawę czynią mniej skutecznymi.

Jestem chory?

Typowe objawy choroby to gorączka, ból, kaszel, katar, osłabienie. Mówiąc o systemach wytwórczych oprogramowania, wymienilibyśmy zapewne: nieterminową realizację projektów, zwiększone koszty, niezadowolenie klienta, brak dokumentacji itp. Częstym objawem jest praca w soboty, niedziele, a nawet święta. Wydaje się logiczne, że pojawienie się objawów choroby powinno wywołać u nas zaniepokojenie i skłonić do podjęcia środków zaradczych. W praktyce, nieczęsto tak się dzieje. Od uświadomienia choroby do podjęcia decyzji o jej leczeniu długa droga. Każdy z nas posiada doświadczalnie wypracowany zbiór argumentów, które mają nas utwierdzić w tym, że nie potrzeba podejmować żadnych działań, gdyż nie mamy czasu, objawy nie są takie groźne, mamy ważniejsze problemy, wiemy, że jest źle, ale na razie można z tym żyć, jakoś to będzie itd. Przykładem "klinicznym" jest tutaj ból głowy. Wszyscy wiemy, że jest on jedynie objawem groźniejszego schorzenia. Głowa zawsze boli z jakiegoś powodu, by zasygnalizować, że coś z naszym organizmem dzieje się niedobrego. Do bólu głowy jesteśmy jednak tak bardzo przyzwyczajeni, że w ogóle nad nim się nie zastanawiamy. Jedna tabletka przeciwbólowa załatwia sprawę.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200