Blog IT, Blog Marketing

Dług technologiczny. Jak z nim walczyć?

Dług technologiczny. Jak z nim walczyć?

Joanna Wasiak , 05.10.2022 r.

Czym jest dług technologiczny? To, w skrócie mówiąc, wszystkie projekty tworzone przez zespoły IT, które zawierają kod pisany byle jak, na szybko i byleby zdążyć przed terminem. Te projekty działają, ale nie zostały odpowiednio zoptymalizowane, nie skorzystano w nich z najlepszych możliwych (i dostępnych) rozwiązań, co oznacza, że działają „na kredyt” i przyjdzie moment, gdy będzie trzeba cały projekt przepisywać od nowa, z lepszymi rozwiązaniami. Jak można walczyć z długiem technologicznym i jakie są jego przyczyny – dowiesz się, czytając dzisiejszy artykuł.

W artykule wymieniono:

  • Dług technologiczny. Przyczyny
  • Jak można uchronić się przed długiem technologicznym?
  • Co zrobić, jak masz dług technologiczny?

QA Engineer

Praca zdalna
Aplikuj

Konsultant wewnętrzny SAP (FI/CO)

Karlino
Aplikuj

Dług technologiczny. Przyczyny

Ward Cunningham, programista z USA trafnie porównał dług technologiczny do długu finansowego, tj. zaciągania kredytu, który prędzej, czy później będzie trzeba spłacić, co przyczyni się do zwiększenia kosztów projektowych w przyszłości. Jakie są najczęściej wymieniane przyczyny powstawania długu technologicznego?

1. Presja czasu

To niestety najczęściej wymieniany powód, dla którego kod wykorzystywany w projekcie technologicznym jest niedopracowany. Presja terminów, na które naciska klient, powoduje, że ciężko jest wdrożyć te optymalne rozwiązania i wybiera się tanie i szybkie, byleby działały. W ten sposób dług technologiczny się powiększa, niskojakościowy kod obniża jakość i efektywność projektu, ale zostanie oddany na czas, więc wszystko gra, prawda?

2. Brak analiz jakościowych projektu

Często w projektach brakuje poprzedzenia ich głęboką analizą jakościową, która uwzględniałaby wszystkie aktualizacje, jakie będą konieczne do zachowania 100% wydajności projektu w przyszłości. Takie projekty często zbyt mocno koncentrują się na nowych funkcjonalnościach, a nie na elastycznym dostosowywaniu rozwiązań do konkretnych problemów, które mogą się pojawić w czasie użytkowania produktu.

3. Nastawienie na nowe sztywne rozwiązania

Dostarczanie nowych funkcjonalności do produktu/projektu powinno być zaplanowane jeszcze przed jego rozpoczęciem, z uwzględnieniem zmian, które mogą się pojawić w trakcie jego codziennego użytkowania. Skupianie się tylko i wyłącznie na opracowywaniu coraz to nowych aktualizacji i usprawnień, bez optymalizacji starszych rozwiązań spowoduje, że produkt nie będzie działał prawidłowo po pewnym czasie lub będzie trzeba tworzyć kod źródłowy projektu od początku.

Developer .NET (mid)

Praca zdalna
Aplikuj

Programista Full Stack (.Net Core) 24000 - 28000 PLN

Praca zdalna
Aplikuj

4. Opieranie się na najtańszych i najłatwiejszych rozwiązaniach

Tanio, dobrze i szybko? Niestety, tylko w pragnieniach. Rzeczywistość wygląda tak, że możesz mieć tanio, szybko i niedbale, albo długo, ale solidnie. Niestety, klienci zdają się tego nie rozumieć, wywierają presję na zespołach projektowych, efektem czego deweloperzy wybierają tanie i łatwo dostępne rozwiązania, żeby wyrobić się w terminie. To oczywiście w przyszłości będzie miało swoje konsekwencje w postaci długu technologicznego, ale póki wszystko działa zgodnie z założeniami, nikt o tym nie myśli.

5. Brak odpowiednich kompetencji w zespole projektowym

Niestety, brak specjalistów na rynku IT powoduje, że czasami nie ma wykwalifikowanych programistów w zespołach projektowych, a to wpływa na jakość projektowanego kodu. Tam, gdzie nie ma odpowiedniego zaplecza programistycznego, wybiera się uniwersalne rozwiązania, które niestety nie sprawdzą się wszędzie.

Jak można uchronić się przed długiem technologicznym?

Istnieje kilka sposobów, które mogą zniwelować ryzyko powstania długu technologicznego. Kluczowe jest odpowiednie zaplanowanie poszczególnych etapów projektowych, by móc w późniejszych działaniach skupić się jedynie na ich realizacji, zamiast na łataniu nieprzewidzianych błędów. Co jeszcze możesz zrobić, by zmniejszyć ryzyko pojawienia się długu technologicznego w Twojej firmie?

!. Jakość nad terminowość

Mimo że klient naciska, presja czasu jest ogromna, to warto w każdej rozmowie z nim przekonywać go, że jakość świadczonych usług wiąże się z dłuższym oczekiwaniem na realizację projektu, czy wystąpieniem opóźnień we wdrożeniu go. Jest to trudne zadanie, bo klient zazwyczaj chce mieć szybko i terminowo oddany projekt, który będzie działać zgodnie z ustaleniami. Tam, gdzie się da, warto jednak szukać szybkich, ale elastycznych rozwiązań, aby uniknąć przykrych niespodzianek, związanych z nieprawidłowym działaniem produktu w przyszłości.

2. Regularne testowanie

W każdym zespole projektowym powinni być zatrudnieni testerzy oprogramowania, którzy będą sprawdzali efektywność i niezawodność projektu na każdym etapie. To właśnie dzięki ich pracy, programiści są w stanie poprawić projekt jeszcze zanim trafi on w ręce klienta. Code Review powinno być podstawowym procesem, który regularnie odbywa się w ramach codziennej pracy zespołów pracujących nad projektem.

3. Odpowiednie planowanie każdego etapu projektu

Odpowiednie rozplanowanie każdego etapu, podzielenie go na mniejsze części, podział obowiązków, ustalenie terminów to coś, co jest totalną podstawą pracy z projektem i powinno być wykonane jeszcze zanim przystąpi się do jego realizacji. Takie szczegółowe planowanie, włącznie z analizą ryzyka pozwoli na znacznie efektywniejszą pracę i przyspieszy procesy projektowe.

Co zrobić, jak masz dług technologiczny?

Co możesz zrobić, jeśli już odkryjesz, że dług technologiczny dotyczy i Ciebie? W pierwszej kolejności dobrze jest przeanalizować sytuację, wychwycić etap, w którym pojawiło się najwięcej błędów i o ile to możliwe, warto je skorygować. Dług technologiczny niekoniecznie oznacza ponowne tworzenie projektu od samego początku, najczęściej problem dotyczy konkretnego etapu prac projektowych. Możesz spróbować podzielić aplikację na mniejsze części, aby osobno poddać je refaktoryzacji.

Nietechnicznym rozwiązaniem jest dbanie o jakość usług zespołu projektowego, inwestycja w szkolenia pracowników oraz zwiększanie świadomości biznesowej wśród klientów. Dług technologiczny nie powstaje sam z siebie, a jego najczęstszą przyczyną jest presja klienta, który chce otrzymać gotowy projekt zgodnie z umową. Czasem, chciałoby się powiedzieć, że cierpliwość popłaca, ale nie każdy klient będzie skory do wydłużenia terminu oddania projektu.

Software Engineer .Net 23000 - 27000 PLN

Praca zdalna
Aplikuj

Specjalista/ka ds. Wdrożeń i Migracji Systemów SAP HR

Toruń
Aplikuj

Site Reliability Engineer (SRE)

Praca zdalna
Aplikuj

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej