Dług technologiczny to zjawisko występujące między innymi w systemach informatycznych, które może być przyczyną spadku bezpieczeństwa systemu lub spowolnienia.
Jak rozumieć dług technologiczny?
Sam dług technologiczny możemy porównać do prostej sytuacji zakupu nowego samochodu. Kiedy już go kupimy to przez dłuższy czas jesteśmy go pewni i czujemy się bezpiecznie. Po czasie mamy dwa wyjścia dokonujemy serwisu lub nie. Jeżeli byśmy tego nie zrobili to samochód z czasem zacznie się psuć, a bezpieczeństwo jazdy nim będzie spadać. Przedłużając taką sytuację będziemy zmuszeni do kupna nowego, bo naprawa obecnego nie będzie już opłacalna.
Tak samo jest z oprogramowaniem – brak serwisu, pisanie niedopracowanego kodu i rozwijanie go w tym samym czasie. Może doprowadzić do spadku bezpieczeństwa, błędów, a nawet do konieczności kupna nowego.
Czym jest spowodowany dług technologiczny?
Jeżeli nie aktualizujemy naszej technologii w oprogramowaniu. To dług technologiczny będzie narastał, a braki będą coraz trudniejsze do uzupełniania, ze względu na ogólny, bardzo szybki postęp.
Sam dług jest również spowodowany błędami, które popełniamy podczas pisania kodu lub niedokładnym testowaniem, przez co nie wykrywamy niektórych problemów przed wprowadzeniem pełnych zmian.
Dochodzimy nawet do takiego momentu, że praca nad danym projektem może być nieopłacalna. Wtedy firmy podejmują decyzje o stworzeniu nowego kodu, ponieważ rozwijanie starego, opartego na obszernym długu technologicznym jest nieopłacalne.
Przykład długu technologicznego z branży finansowej
Jak wcześniej pisałem, dług technologiczny może doprowadzić do sytuacji, w której pojawią się znaczne problemy związane z aktualizacją oprogramowania.
Do zaprzestania działania w pewnym momencie doprowadziła aktualizacja systemu Windows. Oprogramowanie, które było oparte na wersji do instalacji, nie było rozwijane wystarczająco dobrze i po aktualizacji systemu Windows przestało działać. Dług technologiczny, który był związany z brakiem aktualizacji wymusił działania, które pochłonęły większe nakłady finansowe, aby zaktualizować oprogramowanie i przywrócić jego działanie.
W tym czasie bezpieczeństwo danych i funkcjonowanie programu było znacznie ograniczone.
Dlatego tak ważne jest to, aby ciągle pracować nad rozwojem systemu nie tylko w obszarze fornt-end (to co widzimy), ale i back-end (to czego nie widzimy, a odpowiada za ogólne funkcjonowanie oprogramowania).