Dług technologiczny w projektach internetowych

Dług technologiczny to pojęcie, które spędza sen z powiek większości zespołów deweloperskich. Zjawisko, tak, jak każde inne zaciągnięcie kredytu, niesie za sobą ryzyko niespłacalności i całkowitego upadku projektu. Wiele świetnie zapowiadających się produktów upadło przez wspomniany dług.

it-debt

W artykule mocniej skupimy się na tym pojęciu. Podpowiemy, w jaki sposób można wykryć w swoim projekcie owo zjawisko, jak generuje się dług technologiczny, jaki ma wpływ na biznes, jakie są rodzaje długu, a także co należy zrobić, aby z nim walczyć.

Jak wykryć dług technologiczny?

Dług technologiczny to dosyć elastyczne pojęcie, które trudno ubrać w określone ramy. Przyczyny jego powstawania możemy wypatrywać w wielu problemach związanych z funkcjonowaniem projektu. Na ogół zjawisko kreuje się poprzez spowolnione rozwijanie się oprogramowania oraz nieprawidłowe funkcjonowanie aplikacji.  Tworzenie aplikacji, czy outsourcing IT to dziedziny szczególnie narażone na występowanie długu technologicznego. Częstymi aspektami związanymi z generowaniem się długu technologicznego są:

  • powracanie tych samych błędów;
  • wydłużanie się czasu implementowania nowych rozwiązań w projekcie;
  • wolne działanie kodu;
  • niezadowolenie członków zespołu podczas pracy nad projektem;
  • problemy z aplikacją, których nie sposób obejść;
  • zbyt szybkie wdrażanie nowych rozwiązań.

Jak tworzony jest dług technologiczny?

Dług technologiczny jest najczęściej wynikiem lenistwa, nietrzymania się planu, a także wynika z niechęci wobec wdrażania nowych rozwiązań związanych ze środowiskiem lub komfortem pracy. Wszystkie te aspekty przyczyniają się do powolnego narastania omawianego problemu.

Bez znaczenia jest, czy wiemy o długu, czy nieświadomie pielęgnujemy negatywne działania i złe praktyki – odsetki ciągle rosną. Zwykle ich narastanie jest najszybsze w projektach pozostawionych samych sobie, czyli w takich, w których nie wykonujemy regularnych raportów, nadzorów i analiz.

Na zjawisko długu podatni są zarówno młodzi, jak i doświadczeni programiści. Działania „na szybko”, prowizorka w kodzie, czy cięcie budżetu prowadzą w prostej linii do zaciągnięcia długu. Zwłaszcza jeśli w grę wchodzi programowanie na zlecenie. Pamiętajmy, że im szybciej dług zostanie zdiagnozowany i spłacony, tym mniej nas będzie kosztował, zarówno środków finansowych, jak i nakładów pracy do odkręcenia jego zgubnych skutków. Pisząc w skrócie, dług technologiczny generuje się w związku z takimi zjawiskami:

  • nieodpowiednia ilość testów oprogramowania;
  • droga na skróty podczas tworzenia projektu;
  • zbyt duża ilość błędów w tworzonym oprogramowaniu;
  • przestarzałe oprogramowanie i technologie, z których korzystamy podczas pracy nad projektem;
  • problemy związane z wdrażaniem projektu.

Dług technologiczny a rozwój

Wiedząc już, w jaki sposób generuje się dług, oraz jak go rozpoznać, możemy przewidywać, jak może wpływać on na nasz biznes. Dług technologiczny położył niejedną firmę. Przykładem może być np. biznes Knight Capital, który z powodu długu utracił blisko 440 milionów dolarów w niecałą godzinę. Wszystko za sprawą wadliwego algorytmu sprzedawanego przez firmę i nieprawidłowych struktur zarządzania nim. Innym przykładem długu może być Friendster – pierwszy portal społecznościowy. Projekt spalił na panewce poprzez zagmatwanie się w ciągłych poprawkach kodu oraz implementowanych funkcjonalności, konkurencja szybko prześcignęła Friendster, który nie był w stanie wygrzebać się z problemów związanych z zaciągniętym długiem.

Rodzaje długu technologicznego

Omawiane zjawisko nie jest jednorodnym tworem, a tym samym nie możemy mówić o ujednoliconym długu. Biorąc pod uwagę kryterium świadomości i nieuchronności długu, możemy wyróżnić aż trzy jego odmiany.

  • Strategiczny dług technologiczny

Powstaje w momencie, gdy decydujemy się na zaciągnięcie długu, będąc świadomym jego konsekwencji, które okazują się mniejsze, niż zysk ekonomiczny związany z zadłużeniem się. Podczas operowania strategicznym długiem technologicznym niezbędne jest wyczucie oraz duża doza ostrożności. Zwykle jest to igranie z czasem i zasobami.

  • Nieunikniony dług technologiczny

Związany z niemożnością dokładnego przewidzenia sytuacji projektu w przyszłości. Nieunikniony dług technologiczny jest sumą składową wszystkich błędnych decyzji lub niezależnych od nas zrządzeń losu negatywnie wpływających na projekt.

  • Mimowolny dług technologiczny

Tworzony jest przez zaniechania i niechlujstwo podczas pracy nad projektem. Jeżeli zostanie odpowiednio szybko wykryty i zwalczany, projekt nie powinien mieć większych problemów z „podniesieniem się”. Najlepszą metodą na zapobieganie i niwelowanie mimowolnego długu technologicznego jest edukacja zespołu.

Jak walczyć z długiem technologicznym?

Jeżeli zamierzasz poważnie zacząć spłacać dług, wówczas musisz zacząć od poważnej rozmowy z zespołem. Odpowiednia edukacja na temat omawianego zjawiska, a także zrozumienie wokół zagadnienia przyczynią się do lepszego określenia poziomu długu projektu. Słuchajcie siebie nawzajem i wyciągnijcie trafne wnioski, ponieważ to od nich zależy skuteczność działania.

Najskuteczniej poradzisz sobie z długiem poprzez opracowanie odpowiedniego planu walki z nim. Plan powinien być kompletny i podzielony na odpowiednie elementy, które podlegać będą refaktoryzacji. Refaktoryzacja oraz testy wdrażanych rozwiązań i kodu tworzonej aplikacji powinny być częste, regularne i rzetelne. Należy zwracać szczególną uwagę na jakość kodu, zwłaszcza gdy Twoja firma tworzy aplikacje na zamówienie.

Odpowiednie wdrażanie oraz analizowanie automatycznych testów związanych z powstałymi problemami podczas tworzenia aplikacji powinno być nadrzędnym działaniem mającym na celu zmniejszenie odsetek długu. Pamiętaj, prace naprawcze powinny być przeprowadzane metodycznie, powoli i sumiennie. Nie każ członkom zespołu pracować w pośpiechu. Pamiętaj również, że stagnacja to pierwsza oznaka przejmowania sterów przez dług technologiczny.

Napisz komentarz

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