Łączenie paradygmatów

We współczesnej informatyce nieodzowna jest koegzystencja różnych modeli opisu świata.

We współczesnej informatyce nieodzowna jest koegzystencja różnych modeli opisu świata.

Rzeczywistość, którą należy wyspecyfikować w kategoriach informatycznych, jest zbyt złożona, aby można to robić za pomocą jednej metody. Widać to wyraźnie na przykładzie rozwiązań w zakresie baz danych.

Permanentny kryzys

Mimo ponad 40-letnich doświadczeń w organizacji przedsięwzięć informatycznych, niekorzystne zjawiska, charakterystyczne dla tego typu działalności, stale dają znać o sobie. W tym kontekście można wręcz mówić o ciągłym kryzysie branży IT (permanent crisis of Information Technology). Czy jest to zdanie uzasadnione? Wyobraźmy sobie, że od wybranego dealera chcemy kupić nowy samochód. Zgadzamy się na cenę 30 tys. zł i miesięczny termin dostawy. W końcu, jako klienci, mamy prawo żądać, aby nasze cacko miało akurat zielony lakier w pomarańczowe gwiazdki. Co się dzieje dalej?

Samochód możemy odebrać po trzech miesiącach (urlop już dawno minął). W zamian za to płacimy dwa razy drożej. Z gwiazdek rezygnujemy, bo musiałyby jeszcze drożej kosztować, o czasie realizacji nie wspominając. Wraz z nowym autem otrzymujemy pokaźną listę wad „dostrzeżonych w toku produkcji". Wytwórca „gratuluje udanego zakupu", stwierdzając w instrukcji obsługi wyraźnie: „W przypadku nieprawidłowej pracy silnika, należy zjechać z drogi, zatrzymać auto i chwilę odczekać, po czym można kontynuować jazdę". Tak więc w praktyce kilka razy dziennie: zjeżdżamy, zatrzymujemy i kontynuujemy. I nie jest to czysto fikcyjny opis motoryzacyjnego bubla. Owszem, takich samochodów dziś nie produkuje się, ale wystarczy przyłożyć prezentowany przykład do cech współczesnego oprogramowania, żeby przekonać się, czy jest on tak bardzo odległy od rzeczywistości.

Przypomnijmy sobie, jak często musimy korzystać z „małpiego chwytu" (CTRL+ALT+DEL), bo nasz komputer właśnie się "zawiesił". To prawda, że błędy ochrony pamięci pod Windows 95 są rzadsze niż pod 3.1, ale oprócz starych problemów przybyło nowych. Nie chodzi zresztą o pastwienie się nad konkretnymi pakietami mniejszego czy większego kalibru. Spójrzmy na kwestię z menedżerskiego punktu widzenia: ile projektów informatycznych realizowanych jest zgodnie z planem i kosztorysem, przy zachowaniu założonej jakości? Faktycznie. Wdrażanie takich projektów rozgrywa się w „polu sił" trójkąta, którego wierzchołki wyznaczają: czas, koszty i jakość. Powiążmy zatem z tymi elementami główne symptomy wymienionego kryzysu i ich przyczyny:

CZAS – długi czas projektowania, przekraczanie terminów odbioru projektu i realizacji jego poszczególnych faz, zbyt długi czas związany z usuwaniem nieuzasadnionych błędów, błędy szacowania czasu, przecenianie technicznych aspektów zadania, źle zaplanowane szkolenie i testowanie systemu;

KOSZTY – zbyt wyskokie koszty projektu, przekraczanie planowanego pułapu kosztów, niewystarczająca wiedza członków zespołu, nierealistyczna ocena kosztów ze względów pozamerytorycznych, źle wykorzystane środki sprzętowe i pomocnicze, brak kontroli kosztów, błędy w metodach planowania;

JAKOŚĆ – zawodność, nieeregonomiczność, ograniczona funkcjonalność, słaba wydajność, system słabo rozszerzalny i niestandaryzowany, niewystarczająca specyfikacja wymagań użytkownika, złe praktyki testowania i odbioru, niekorzystanie z technik zarządzania jakością, brak dokumentacji.

Prezentowaną listę można by rozszerzać i modyfikować; jedno jest wszak pewne: jej istnienie wynika z obowiązującego modelu rozwiązań stosowanych w zarządzaniu informatyką, czyli z przyjętego w tej dziedzinie paradygmatu.

Cykle wokół nas

Pojęcie paradygmatu spopularyzował amerykański filozof Thomas Kuhn, widząc w nim pewien supermodel postępowania w obrębie określonej dziedziny. Jego zmiana oznacza potężne konsekwencje dla całego rozważanego obszaru. Warto więc zapytać, jak to wygląda w odniesieniu do technologii informacyjnej? Nie możemy przy tym zapomnieć o związkach informatyki z ekonomią i zarządzaniem. Implementacja każdego algorytmu i podłączenie każdego komputera to także środki finansowe i metody organizacji realizowanego projektu.

Wszelkie istnienie i rozwój są zawsze związane z cyklicznością. Odnajdziemy ją w oddychaniu i dobowym rytmie naszej aktywności, w wymianie pokoleń i przebiegu historii, w ruchach planet czy w pracy tłoków silnika. Otaczające nas cykle mają różną długość i różne amplitudy, ale spotkać je można niemal wszędzie. Również w postępie technicznym. Informatyka jest młodą dziedziną i trudno byłoby tu znaleźć prawidłowości dla dłuższych cyklów rządzących jej rozwojem, choć sama cykliczność nie jest jej obca – wystarczy choćby wskazać na Prawo Moore'a dotyczące kolejnych generacji mikroprocesorów. Skorzystajmy zatem z doświadczeń ekonomii.