Znajomość i odpowiednie zarządzanie długiem technologicznym może mieć wpływ na sukces lub porażkę Twojej firmy, a także danego projektu, który realizujesz razem ze swoim zespołem. Ignorowanie długu technologicznego może generować dodatkowy koszt, w postaci straconego czasu, a przez to osiąganie niższych korzyści biznesowych. Jak zatem widzisz, stawka jest na tyle wysoka, że warto pochylić się nad pojęciem długu technologicznego.
W niniejszym artykule skupimy się nad tym, aby dokładnie wyjaśnić, co oznacza ten termin, jak przekłada się na branżę e-commerce i jakie są jego najpopularniejsze rodzaje. Przedstawimy sposób zarządzania długiem technologicznym oraz jak firmy powinny go unikać, aby nie generować zadłużenia, jakie ze sobą niesie. Pokażemy także, co ma wspólnego z komunikacją między działem IT, a zarządem Twojej firmy.
Czym jest dług technologiczny?
Dług technologiczny (znany również jako dług techniczny lub dług kodowy) jest to zbiór nieprawidłowości, jakie powstają podczas tworzenia oprogramowania. Zaliczyć do nich możemy wszelakie błędy w kodzie, jego przestarzałość, a także brakującą dokumentację. Po raz pierwszy termin ten użył Ward Cunningham (jednego z autorów Manifestu Agile) podczas próby wyjaśnienia interesariuszom „nietechnicznym” WyCash, dlaczego warto przeprowadzić refaktoryzację oprogramowania, aby utrzymać odpowiednią funkcjonalność ich systemu.
Jedną z głównych przyczyn powstawania długu technologicznego jest tzw. „droga na skróty” podczas tworzenia oprogramowania. Kosztem poprawnie utworzonego kodu, wybierane jest szybsze rozwiązanie, które w krótkiej perspektywie może okazać się lepsze dla firmy, ale w perspektywie długoterminowej generuje duży problem. Ward Cunningham zwrócił uwagę na podobieństwo długu technologicznego do długu finansowego. Na dzień jego zaciągnięcia (tworzenia kodu) oszczędzisz trochę czasu, ale to droga na skróty. Dług wygeneruje odsetki, które trzeba będzie zapłacić podczas projektu, wdrażając poprawki czy aktualizując oprogramowania.
Dług technologiczny w e-commerce
Jak zatem dług technologiczny związany jest z branżą e-commerce? Otóż sklepy internetowe wykorzystują rozwiązania i platformy, których biblioteki kodów nie zawsze są na bieżąco aktualizowane. Kiedy zatem nadchodzi np. czas wyprzedaży lub świątecznych promocji, dział IT z reguły pracuje nad wprowadzeniem nowych funkcjonalności, nierzadko pod dużą presją. Bardzo często brakuje wtedy czasu na testy nowego rozwiązania i podczas startu promocji, kiedy ruch w sklepie internetowym jest duży, strona jest obciążona i przestaje działać. W takich sytuacjach praca specjalistów IT może pójść na marne, ponieważ działali oni w pośpiechu na kodzie, który był już przestarzały.
Aby zapobiec takim sytuacjom dział IT, w porozumieniu z zarządem firmy, może zadecydować o zmianie platformy na taką, która nie jest obciążona długiem technologicznym. Platforma ta pozwoli na sprawne wprowadzanie zmian i dostosowywanie się do zwiększonego ruchu w sklepie bez wpływu na użytkownika końcowego, czyli klienta. Decydując się na zmianę systemu, warto zwrócić uwagę na stabilność, jaką on oferuje. Sprawdzone technologie, takie jak na przykład Java, niwelują problem „drogi na skróty”.
Dzieje się tak, gdyż zespół programistów opracowując nowe rozwiązania w tym języku programowania, jest zmuszony do wprowadzenia dobrej jakości kodu. Zmieniając dotychczasową platformę na bardziej stabilną i przyszłościową, warto również sprawdzić, jak będzie wyglądała kwestia jej skalowalności. Działanie nowego systemu powinno opierać się nie na rewolucjach w kolejnych wersjach, a na ewolucjach obecnego rozwiązania. Takie podejście zapewnia bezpieczną skalowalność Twojego biznesu, w którym nie występują problemy z platformą, na której jest on oparty.
Przykładem systemu e-commerce opartego na wspomnianej technologii Java, spełniającego wszystkie te standardy jest stworzona przez nas i rozwijana przez lata platforma do zadań specjalnych. Oferuje ona szereg sprawdzonych rozwiązań, w tym wspomnianą wcześniej stabilność działania.
Dług technologiczny w e-commerce – rodzaje
Osoby zajmujące się tematyką długu technologicznego, przez lata próbowały sklasyfikować jego rodzaje. Najpierw Steve McConnell przedstawił klasyfikację długu na zamierzony i niezamierzony. Kilka lat później Martin Fowler dopracował tę klasyfikację, dodając do tego dług zaciągnięty lekkomyślnie i zaciągnięty z rozwagą. Jest to tzw. „Technologiczny Kwadrant Długu”.
Dług zamierzony zaciągnięty lekkomyślnie
Dług ten powstaje, kiedy programiści dysponują odpowiednią wiedzą do napisania kodu, ale ich głównym priorytetem jest szybkie dostarczenie aplikacji. Czas w tym przypadku gra znaczącą rolę, przez co jakość dostarczonego kodu jest niska.
Dług zamierzony zaciągnięty z rozwagą
Celowe i rozważne zadłużenie występuje w sytuacjach, w których decyzja o szybkiej realizacji produktu lub aplikacji powoduje świadome radzenie sobie z ewentualnymi konsekwencjami nowych problemów w przyszłości.
Dług niezamierzony zaciągnięty lekkomyślnie
Występuje najczęściej w sytuacjach, gdy zespół IT próbuje stworzyć najlepszy (ich zdaniem) kod aplikacji, nie mając do tego odpowiedniej wiedzy i umiejętności.
Dług niezamierzony zaciągnięty z rozwagą
Ten rodzaj długu występuje wtedy, kiedy zespół tworzy aplikację, której kod jest bardzo dobry jakościowo, jednak po jej wdrożeniu, znajdują oni nowe, lepsze rozwiązanie.
Zarządzanie długiem technologicznym
Zarządzanie długiem technologicznym może być złożonym problemem, ponieważ im dłużej on istnieje, tym bardziej się pogarsza. Jak zatem należy „spłacić” ten rodzaj długu?
- W pierwszej kolejności Twoja organizacja powinna zdać sobie sprawę z istnienia długu technologicznego i stopniowo go zmniejszać, bez odwlekania tego procesu w czasie.
- Monitoruj postępy procesu i na bieżąco sprawdzaj, czy nie pojawiają się jakieś nowe problemy pogłębiające dług.
- Zadbaj o zespół (wewnątrzfirmowy lub podwykonawczy), który będzie nie tylko wdrażał nowe aplikacje lub produkty na rynek, ale będzie również prowadził prace konserwacyjne wcześniejszych wersji kodu.
- Ustal standardy jakości pisanego kodu, które będą obowiązywały podczas pisania nowych aplikacji. Spowoduje to oszczędność czasu na naprawę błędów powstałych wskutek zaniedbań.
- Nie nadawaj z góry nierealnych terminów realizacji projektu. Zadbanie o odpowiedni czas na przygotowanie produktu zmniejszy koszt naprawy nowych błędów, powstałych na skutek pośpiechu podczas pisania kodu.
Jak unikać długu technologicznego?
W dobie coraz szybszych zmian w świecie cyfrowym, a co za tym idzie także pogonią za dostarczeniem klientowi końcowemu coraz to nowszych produktów, organizacje mogą mieć problemy z całkowitym uniknięciem długu technologicznego. Są jednak sposoby na zmniejszanie ryzyka jego wystąpienia. Jak to zrobić?
Przede wszystkim dużo zależy od wyboru odpowiedniej firmy, która będzie dostarczała nam swoją platformę. Dzięki niej koszt wprowadzania nowych produktów będzie niższy, a czas pisania kodu będzie krótszy.
Kolejną ważną sprawą jest to, aby wewnątrz Twojej firmy komunikacja między zarządem a działem IT przebiegała prawidłowo. Niejednokrotnie obie strony wzajemnie się nie rozumieją oraz mają inne priorytety, przez co ich współpraca nie przebiega prawidłowo. Rozwiązaniem tego problemu może być zatrudnienie UX designerów, którzy stanowiliby pomost pomiędzy oczekiwaniami i wzajemnym zrozumieniem obu stron. Na koniec warto również uświadomić całej firmie, że wszyscy jej pracownicy grają do jednej bramki i od pracy ich wszystkich zależy końcowe zadowolenie klienta.