{"id":21738,"date":"2021-01-21T12:12:12","date_gmt":"2021-01-21T11:12:12","guid":{"rendered":"https:\/\/altkomsoftware.com\/dlug-technologiczny-chytry-dwa-razy-traci\/"},"modified":"2025-04-01T10:53:04","modified_gmt":"2025-04-01T08:53:04","slug":"dlug-technologiczny-chytry-dwa-razy-traci","status":"publish","type":"post","link":"https:\/\/stg.altkomsoftware.com\/pl\/blog\/dlug-technologiczny-chytry-dwa-razy-traci\/","title":{"rendered":"D\u0142ug technologiczny: chytry dwa razy traci"},"content":{"rendered":"<p><strong>Przy systemach legacy cz\u0119sto, je\u015bli nie zawsze, spotykamy si\u0119 z poj\u0119ciem &#8222;d\u0142ug technologiczny&#8221;. Najpro\u015bciej m\u00f3wi\u0105c, oznacza on nagromadzenie wielu zr\u00f3\u017cnicowanych problem\u00f3w technicznych, kt\u00f3re powstaj\u0105 podczas praktycznie ka\u017cdego projektu informatycznego.<\/strong> Ignorowanie ich wp\u0142ywa na jako\u015b\u0107 i tempo realizacji przedsi\u0119wzi\u0119cia. To jak rata kredytu, kt\u00f3ra\u00a0systematycznie niesp\u0142acana, z czasem generuje niebotyczne odsetki, kt\u00f3re mog\u0105\u00a0doprowadzi\u0107 nas do bankructwa.<\/p>\n<h2>Bezlitosny d\u0142ug technologiczny<\/h2>\n<p>Nara\u017ca on nas na podatno\u015bci bezpiecze\u0144stwa, ogranicza mo\u017cliwo\u015bci dalszego rozwoju oraz zwi\u0119ksza koszty z tym zwi\u0105zane. Oprogramowanie oparte o starsze technologie stwarza ryzyko pojawienia si\u0119 luk bezpiecze\u0144stwa. Wszyscy wiemy, \u017ce lepiej zapobiega\u0107 ni\u017c leczy\u0107. Profilaktyka zwi\u0105zana z d\u0142ugiem technologicznym obni\u017cy koszty rozwoju, a mo\u017ce u\u0142atwi\u0107 r\u00f3wnie\u017c ewentualn\u0105 migracj\u0119 do chmury, kt\u00f3ra nabiera w obecnym czasie coraz wi\u0119kszego znaczenia. Nie warto by\u0107 m\u0105drym po szkodzie.<\/p>\n<p>D\u0142ug technologiczny mo\u017ce zacz\u0105\u0107 narasta\u0107 ju\u017c na etapie powstawania projektu. Ka\u017cdy dodatkowy rozw\u00f3j jest obarczony dodatkowym ryzykiem jego wygenerowania, zw\u0142aszcza gdy idziemy \u201ena skr\u00f3ty\u201d: minimalizuj\u0105c jednostkowe koszty b\u0105d\u017a zmiany realizowane s\u0105 przez zesp\u00f3\u0142 niedo\u015bwiadczony lub s\u0142abo znaj\u0105cy rozwi\u0105zanie. Na d\u0142ug technologiczny warto r\u00f3wnie\u017c spojrze\u0107 z punktu widzenia starzenia si\u0119 aplikacji. Zmienia si\u0119 otoczenie, powstaj\u0105 nowe frameworki, u\u017cyte biblioteki staj\u0105 si\u0119 przestarza\u0142e, powstaj\u0105 ich nowe wersje, a w poprzednich wykrywane s\u0105 takie czy inne podatno\u015bci. Z czasem r\u00f3wnie\u017c zastosowana architektura aplikacji zaczyna by\u0107 ci\u0119\u017carem.<\/p>\n<h2>Od mono do mikro<\/h2>\n<p>Jeszcze niedawno budowali\u015bmy du\u017ce, monolityczne aplikacje. Dzi\u015b zmierzamy w stron\u0119 mikroserwis\u00f3w i rozwi\u0105za\u0144 przystosowanych do uruchomiania w \u015brodowiskach kontenerowych czy chmurowych. Dzisiaj sytuacja zmusi\u0142a nas do ograniczenia kontakt\u00f3w mi\u0119dzyludzkich. To z kolei wp\u0142ywa na wi\u0119ksze u\u017cycie kana\u0142\u00f3w zdalnych. Aplikacje legacy cz\u0119sto nie s\u0105 na to przygotowane.<\/p>\n<p>Niezale\u017cnie od \u017ar\u00f3d\u0142a stajemy przed nag\u0142\u0105 konieczno\u015bci\u0105 modyfikacji systemu. Je\u017celi jeste\u015bmy obarczeni du\u017cym d\u0142ugiem technologicznym, ewentualne zmiany i rozw\u00f3j mog\u0105 stanowi\u0107 istotny problem. Nale\u017cy zdawa\u0107 sobie z tego spraw\u0119, gdy\u017c wtedy istnieje nadzieja, \u017ce b\u0119dziemy mogli sobie z tym poradzi\u0107.<\/p>\n<h2>Sp\u0142acaj d\u0142ug technologiczny i rozwijaj system<\/h2>\n<p>Bardzo cz\u0119sto w biznesie, czy nawet zespo\u0142ach IT, istnieje pogl\u0105d, \u017ce likwidacja d\u0142ugu nie wnosi w zasadzie wi\u0119kszej korzy\u015bci biznesowej. Racja, jest to typowy zabieg technologiczny, czysta profilaktyka. W zwi\u0105zku z tym organizacje maj\u0105 bardzo du\u017ce opory, aby po\u015bwi\u0119ci\u0107 czas czy wydatkowa\u0107 bud\u017cet na systematyczne pozbywanie si\u0119 tych zaleg\u0142o\u015bci. Niestety, takie podej\u015bcie powoduje, \u017ce z ka\u017cdym rokiem przysz\u0142e koszty likwidacji tego zad\u0142u\u017cenia b\u0119d\u0105 ros\u0142y. W tym wypadku nie warto m\u0105drze\u0107 dopiero po szkodzie.<\/p>\n<p>Z naszych dotychczasowych obserwacji wynika, \u017ce mimo wszystko pozbywaj\u0105c si\u0119 na bie\u017c\u0105co d\u0142ugu technologicznego, zapewniamy sobie mo\u017cliwo\u015b\u0107 dalszego rozwoju systemu, ale przede wszystkim mo\u017cliwo\u015b\u0107 znacznego ograniczenia kosztu, czy mo\u017ce bardziej ograniczenia ryzyka powstania znacznego kosztu w najmniej spodziewanym momencie. Ka\u017cde oprogramowanie, je\u015bli przestanie by\u0107 wspierane, b\u0119dzie starza\u0142o si\u0119 szybko. Systemy nierozwijane maj\u0105 tendencj\u0119 zar\u00f3wno do narastania d\u0142ugu jak i do utraty warto\u015bci biznesowej. W takiej sytuacji pr\u0119dzej czy p\u00f3\u017aniej migracja do nowego systemu staje si\u0119 przede wszystkim nieuchronna.<\/p>\n<h2>Staro\u015b\u0107 (nie) rado\u015b\u0107<\/h2>\n<p>Musimy mie\u0107 \u015bwiadomo\u015b\u0107, \u017ce ka\u017cdy system si\u0119 starzeje.\u00a0\u00a0Je\u015bli tylko mamy wp\u0142yw na to, \u017ceby reagowa\u0107 i minimalizowa\u0107 szkody, to po prostu r\u00f3bmy &#8211; tak naprawd\u0119 nie ma jednego prostego podej\u015bcia do legacy. Nie ma \u017cadnego antidotum &#8211; ka\u017cdy system jest inny: b\u0119dzie te\u017c r\u00f3\u017cni\u0142 si\u0119 architektur\u0105, technologi\u0105 i wiekiem. Nale\u017cy wykona\u0107 du\u017c\u0105 <a href=\"https:\/\/stg.altkomsoftware.com\/pl\/blog\/jak-zarzadzac-dlugiem-technologicznym-za-pomoca-analizy-kodu\/\" target=\"_blank\" rel=\"noopener\">prac\u0119 zwi\u0105zan\u0105 z analiz\u0105<\/a>, ewentualnie zatrudni\u0107 firm\u0119, kt\u00f3ra wykona prace za nas.<\/p>\n<p>Co mo\u017ce sygnalizowa\u0107 problemy?<\/p>\n<ul>\n<li>w u\u017cywanych wersjach komponent\u00f3w stwierdzono luki bezpiecze\u0144stwa.<\/li>\n<li>audyty stwierdzaj\u0105 niezgodno\u015bci ze standardem.<\/li>\n<li>pojawiaj\u0105 si\u0119 odg\u00f3rne regulacje, kt\u00f3re wymuszaj\u0105 na nas szybkie zmiany<\/li>\n<li>u\u017cywanych przez nas wersji nie zaktualizowano do najnowszych.<\/li>\n<li>zmieni\u0142y si\u0119 warunki, w jakich system dzia\u0142a: na przyk\u0142ad ilo\u015b\u0107 jednocze\u015bnie korzystaj\u0105cych u\u017cytkownik\u00f3w<\/li>\n<li>pojawi\u0142y si\u0119 wymagania biznesowe, kt\u00f3re skutkuj\u0105 konieczno\u015bci\u0105 wprowadzenia zmian<\/li>\n<\/ul>\n<h2>Chytry dwa razy traci<\/h2>\n<p>Przypadek z \u017cycia: jeden z podmiot\u00f3w finansowych zarz\u0105dzi\u0142 odg\u00f3rne regulacje dla ca\u0142ej organizacji: wszystkie wersje oprogramowania musz\u0105 zosta\u0107 podbite do aktualnych, bezpiecznych \u201ena ju\u017c\u201d. Dostosowanie si\u0119 to tej sytuacji stanowi naprawd\u0119 ogromne wyzwanie. Pojawiaj\u0105 si\u0119 wymagania, kt\u00f3re s\u0105 trudne do spe\u0142nienia w przypadku starszych wersji.<\/p>\n<p>W naszych ostatnich do\u015bwiadczeniach cz\u0119sto spotykali\u015bmy si\u0119 z regulacjami i wymogami wynikaj\u0105cymi z wewn\u0119trznych audyt\u00f3w. Pojawiaj\u0105 si\u0119 r\u00f3\u017cne wytyczne jak dyrektywa PSD2, kt\u00f3ra wdra\u017cana jest instytucjach finansowych. Rekomendacje Komisji Nadzoru Finansowego stawiaj\u0105 przed bankami konkretne wymagania, kt\u00f3re musz\u0105 spe\u0142nia\u0107 tak\u017ce aplikacje legacy. Szybkie dostosowanie do takich wymog\u00f3w mo\u017ce stanowi\u0107 do\u015b\u0107 du\u017cy problem.<\/p>\n<p>Ci\u0105g\u0142e dbanie o jako\u015b\u0107 kodu aplikacji i aktualizacje wersji poszczeg\u00f3lnych komponent\u00f3w wydaje si\u0119 kosztowne, a jednocze\u015bnie \u201enie wnosi\u201d \u017cadnej warto\u015bci biznesowej. Firmy cz\u0119sto maj\u0105 powa\u017cne opory przed ponoszeniem takich koszt\u00f3w. Je\u015bli z r\u00f3\u017cnych przyczyn dochodzi do zmian w tym zakresie, zazwyczaj s\u0105 to zmiany punktowe i mo\u017cliwie najta\u0144sze. Taka oszcz\u0119dno\u015b\u0107 cz\u0119sto jest tylko pozorna, bo przy wprowadzaniu kolejnych zmian w aplikacji zaoszcz\u0119dzony koszt i tak trzeba ponie\u015b\u0107 i to zwykle \u201ez odsetkami\u201d.<\/p>\n<h2>Podsumowanie<\/h2>\n<p>Warto zastanowi\u0107 si\u0119 nad innym, proaktywnym podej\u015bciem i minimalizacj\u0105 d\u0142ugu technologicznego na bie\u017c\u0105co. W\u00f3wczas koszty b\u0119d\u0105 istotnie ni\u017csze, a rozw\u00f3j z pewno\u015bci\u0105 szybszy, prostszy i pozbawiony op\u00f3\u017anie\u0144. Pozb\u0119dziemy si\u0119 te\u017c niepotrzebnych nerw\u00f3w, czyli skutk\u00f3w naszych zaniecha\u0144. W obecnych czasach w\u0142amanie si\u0119 do systemu z do\u015b\u0107 powa\u017cnymi podatno\u015bciami bezpiecze\u0144stwa to ju\u017c nie kwestia dni, a pojedynczych godzin\u2026<\/p>\n<p>Je\u015bli nie mamy w\u0142asnych do\u015bwiadcze\u0144 w tej materii lub po prostu nie wiemy co z danym systemem Legacy zrobi\u0107, najlepiej jest zwr\u00f3ci\u0107 si\u0119 do firm, kt\u00f3re \u015bwiadcz\u0105 takie us\u0142ugi: zar\u00f3wno utrzymania jak i rozwoju. Ignoruj\u0105c t\u0119 kwesti\u0119, mo\u017cemy wpa\u015b\u0107 w pu\u0142apk\u0119 niemocy. Albo po prostu przegapimy ten moment, \u017ce jeszcze co\u015b da si\u0119 zrobi\u0107. Wtedy zostaniemy w sytuacji, \u017ce zostanie nam tylko kosztowna migracja do nowego systemu. Czas szybko po prostu biegnie, je\u015bli chodzi o technologi\u0119. B\u0105d\u017amy czujni.<\/p>\n<p style=\"text-align: right;\">Krzysztof Skowerski<br \/>\nPawe\u0142 Szutowicz<br \/>\nTomasz Turmowicz<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Przy systemach legacy cz\u0119sto, je\u015bli nie zawsze, spotykamy si\u0119 z poj\u0119ciem &#8222;d\u0142ug technologiczny&#8221;. Najpro\u015bciej m\u00f3wi\u0105c, oznacza on nagromadzenie wielu zr\u00f3\u017cnicowanych problem\u00f3w technicznych, kt\u00f3re powstaj\u0105 podczas praktycznie ka\u017cdego projektu informatycznego. Ignorowanie ich wp\u0142ywa na jako\u015b\u0107 i tempo realizacji przedsi\u0119wzi\u0119cia. To jak rata kredytu, kt\u00f3ra\u00a0systematycznie niesp\u0142acana, z czasem generuje niebotyczne odsetki, kt\u00f3re mog\u0105\u00a0doprowadzi\u0107 nas do bankructwa. Bezlitosny [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":21739,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[19],"topic":[],"blog-author":[],"class_list":["post-21738","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bez-kategorii","tag-utrzymanie-i-rozwoj-systemow-it"],"acf":[],"_links":{"self":[{"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/posts\/21738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/comments?post=21738"}],"version-history":[{"count":1,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/posts\/21738\/revisions"}],"predecessor-version":[{"id":39779,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/posts\/21738\/revisions\/39779"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/media\/21739"}],"wp:attachment":[{"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/media?parent=21738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/categories?post=21738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/tags?post=21738"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/topic?post=21738"},{"taxonomy":"blog-author","embeddable":true,"href":"https:\/\/stg.altkomsoftware.com\/pl\/wp-json\/wp\/v2\/blog-author?post=21738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}