Był sobie król

Żaden poważny specjalista nie odważy się dać odpowiedzi na pytanie, co wystarczy zrobić, aby zagwarantować produkcję dobrego oprogramowania. Chętnie jednak odpowie, jakich błędów nie należy popełniać, aby nie zagwarantować sobie porażki.

Żaden poważny specjalista nie odważy się dać odpowiedzi na pytanie, co wystarczy zrobić, aby zagwarantować produkcję dobrego oprogramowania. Chętnie jednak odpowie, jakich błędów nie należy popełniać, aby nie zagwarantować sobie porażki.

Dlaczego więc te błędy są ciągle popełniane? Dlaczego często zachowujemy się tak, jakbyśmy tych oczywistych prawd nigdy nie znali lub ich nie uznawali? Temat jest złożony i jego pełne rozwinięcie starczyłoby na książkę a nie tylko na krótki artykuł. Stąd nieuniknione uproszczenia. Moje przemyślenia i tezy spróbuję zilustrować trzema bajkami. Pierwsze dwie rażą naiwnością. Ich celem jest zwrócenie uwagi na to, jak naiwne są nasze wyobrażenia na temat realiów rynku IT. Po tym wprowadzeniu przechodzimy do bajki trzeciej, która niepokojąco przypomina rzeczywistość…

Uczciwość nade wszystko

Za górami, za lasami, było sobie królestwo, którym rządził mądry król. Wszystko byłoby wspaniale, gdyby nie jeden problem - smoki. Bestie były nieprzewidywalne i trzymały lud króla w ciągłym strachu. Iluż to rycerzy oddało życie w walce z nimi. Na próżno. Smoki zdawały się być niepokonane. W końcu król doszedł do wniosku, że najbardziej skutecznym sposobem na zapewnienie sobie względnego spokoju jest podsyłanie każdemu smokowi raz na jakiś czas dziewicy. Okazało się jednak, że proces zaopatrywania smoków jest dosyć skomplikowany i musi być usprawniony. Po namyśle król rozpisał przetarg na system do ewidencji smoków i dziewic oraz wspomagający zadania z obszaru logistyki. Było jasne, iż system musi być niezawodny, bo gdyby smok w trakcie posiłku zorientował się, że zamiast dziewicy je mężatkę, tak mogłoby go to rozłościć, że spaliłby całą wieś (mamy tu do czynienia z systemem life ciritical).

Po rozpisaniu przetargu do króla zaczęły szerokim strumieniem napływać oferty. Na jego dwór ze wszystkich stron zaczęły zlatywać baby jagi, czarownicy, konsultanci i wszelkiej maści zaklinacze. Wszyscy łudzili króla wizją wyczarowania potrzebnego mu systemu w ciągu dwóch tygodni i za małe pieniądze. Wieść dotarła też do sąsiedniego królestwa, w którym mieszkał książę-informatyk. Był młody, dzielny, inteligentny i uczciwy. Przetarg zainteresował go, więc postanowił wziąć w nim udział. Przysiadł nad wymaganiami i wycenił projekt uczciwie, niczego nie ukrywając, jako że brzydził się fałszu. I wyszło mu, że jest to 1,5 roku roboty i będzie kosztowało dwa razy więcej niż oferty wszystkich czarownic i czarowników razem wziętych. Zdawał sobie sprawę, jak odstraszająca jest jego cena, ale nie zniósłby kłamstwa.

Król jak przeczytał ofertę księcia, to zadziwił się wielce, szczególnie ceną. Jednak spojrzał w oczy księcia i zrozumiał, że stoi przed nim mądry i uczciwy młodzieniec, któremu może bez obaw zaufać. Tak też zrobił. Nie dał się zbałamucić bezsensownym ofertom czarnoksiężników i konsultantów - zamówił system u księcia. Książę szczęśliwie wdrożył system nie przekraczając terminów i budżetu. I żył długo i szczęśliwie.

Na własnych błędach

W innym królestwie - za górami, za morzami - król też postanowił rozwiązać problem ze smokami w podobny sposób. Po ogłoszeniu przetargu też zleciały się baby jagi i inne ciemne typy. No i był też książę z sąsiedniego królestwa. Jako światły i mądry władca nie próbował wszystkiego robić sam, tylko zatrudnił sobie ludzi do pomocy. Między innymi kogoś, kto był odpowiedzialny za wszelkie sprawy związane z rozwojem oprogramowania - nazwał go szefem IT. Po otrzymaniu informacji o przetargu książę zaprosił szefa IT na naradę i zapytał, ile, jego zdaniem, zajmie stworzenie wymaganego systemu i ile to będzie kosztować. A szef IT, ponieważ był uczciwym i zacnym informatykiem, bezgranicznie oddanym księciu, udzielił odpowiedzi, jakiej tylko może udzielić informatyk rzetelny i kierujący się wyłącznie głosem prawdy - czyli nie doszacował budżetu i terminu dwukrotnie. Ale i tak wyszło drogo.

Królowi spodobał się młody, a już taki dzielny i mądry książę z sąsiedztwa. Wezwał go więc do siebie i w rozmowie w cztery oczy powiedział tak - "Dobrze Ci z oczu patrzy, młodzieńcze i naprawdę czuję, że nie będziesz próbował mnie oszukać. Ale cena jest nie do przyjęcia". Poszedł więc książę jeszcze raz do szefa IT z pytaniem, czy może jednak nie dałoby się tego zrobić jeszcze krócej i taniej. Szef IT znał księcia i widział, że mu bardzo zależy, a poza tym projekt wydał mu się interesujący. Dlatego po zastanowieniu doszedł do wniosku, że jak się sprężą, to powinno się udać zrobić szybciej i taniej. Ale dla króla cena wciąż była za wysoka. Koniec końców, książę tak wyśrubował terminy, że zrównał się swoją ofertą z tą od baby jagi.

Wdrożenie systemu było historią, którą i król i książę na długo zapamiętali. Budżet przekroczono 10-krotnie. W miesiąc po wdrożeniu z dymem poszło 15 wsi. Potem jakość systemu zaczęła się trochę stabilizować. W ciągu pół roku udało się go doprowadzić do takiego stanu, że miesięcznie smoki paliły 2-3 wsie (tego rodzaju miarę nazywamy gęstością błędów) i to z zasady zaraz po wdrożeniu kolejnej wersji systemu. Król był bardzo zagniewany. Zrozumiał, że systemów IT nie da się wdrażać szybko i tanio. Kazał czym prędzej wezwać do siebie księcia i oznajmił mu, iż zrywa kontrakt. Co więcej, ponieważ uważał, iż system przysporzył więcej szkód niż pożytku, zażądał zwrotu pieniędzy i dodatkowo zapłacenia kary umownej. Książę, ponieważ był uczciwy i honorowy, zapłacił pieniądze bez szemrania.

Po tej całej historii długo rozmawiał z szefem IT. Nie miał do niego żalu o nierealną wycenę. Razem doszli do wniosku, że nie warto zobowiązywać się do nierealnych terminów i że nie będą już tego więcej robić. Taką obietnicę złożył też cały zespół księcia, każdy jego pracownik. Bo każdy wiedział dokładnie, co się stało i dlaczego. Obiecano sobie, że to się więcej nie powtórzy. Król od tej pory od razu wyrzucał takich, co to obiecywali szybko i tanio. A książę dawał tylko uczciwe oferty. Na początku ciężko mu było, ale rynek docenił jego uczciwość, więc się w końcu dorobił. I żył długo i szczęśliwie.