Nadzór nad postępem projektu

Pisanie kodu jest dziś bajecznie proste. Dlaczego za kilka lat zapłacimy za to fortunę?

Zastanawiasz się, dlaczego tanie pisanie kodu przez AI może kosztować Twoją firmę miliony? Choć sztuczna inteligencja obniża koszty oprogramowania, błyskawicznie generuje też dług technologiczny i dług biznesowy. Łatwość wdrażania nowości sprawia, że firmy tworzą funkcje, których nikt nie używa. Nasze doświadczenie pokazuje, że taki przerost paraliżuje systemy i budżety. W artykule wyjaśniamy, jak audyt jakości kodu i mądre badanie potrzeb pomagają uniknąć ukrytych kosztów oraz jak chronić rozwój oprogramowania przed pułapką AI.

u2844336958 coder and macbook in office on desk --ar 43 --raw - 3dc89b5e-5d3e-46e0-bf68-fc7d64f41cbd
Damian Tokarczyk
8 minut czytania

Spis treści

Zobacz podsumowanie tego artykułu wygenerowane przez AI

Przez ostatnie trzydzieści lat inżynieria oprogramowania rządziła się jednym, brutalnym prawem: pisanie kodu było drogie, powolne i wymagało sztabu specjalistów. Choć narzekaliśmy na te koszty, pełniły one niezwykle ważną funkcję bufora ochronnego. Zmuszały firmy do rygorystycznego priorytetyzowania pomysłów. Zanim programista napisał choćby linijkę skryptu, pomysł musiał być obrócony z każdej strony, przeliczony i zatwierdzony.

Dziś, wraz z nadejściem generatywnej sztucznej inteligencji, ta naturalna bariera zniknęła. Koszty wnioskowania modeli językowych spadły drastycznie, a kodowanie przestało być wąskim gardłem. To niesamowita szansa, ale też początek nowej, bardzo niebezpiecznej pułapki. Zaczęliśmy masowo przechodzić od luźnego pomysłu do pełnego wdrożenia, całkowicie pomijając etap walidacji problemu. Używając AI, błyskawicznie budujemy potężne statki kosmiczne dla klientów, którzy tak naprawdę potrzebowali tylko prostego roweru.

Trzy twarze długu w erze sztucznej inteligencji

Aby zrozumieć zbliżające się zagrożenie finansowe, musimy podzielić problem na trzy kategorie. Błędne nazywanie każdego problemu technicznego po prostu błędem prowadzi do przepalania budżetów na niewłaściwe działania ratunkowe.

Po pierwsze, mamy do czynienia z nowym rodzajem długu technologicznego. Współczesne narzędzia wspierające programistów nie tworzą oczywistego, brzydkiego kodu, który od razu rzuca się w oczy. Generują kod pozornie elegancki i poprawny. Niestety, pod płaszczykiem tej poprawności kryją się luki logiczne, brak obsługi nietypowych błędów czy fatalna wydajność bazy danych, która ujawnia się dopiero pod dużym obciążeniem. Obserwujemy zjawisko zaniku pętli sprzężenia zwrotnego. Programista, który dawniej sam rozwiązywał problem, uczył się na błędach. Dziś, akceptując gotowe podpowiedzi, często staje się nieświadomym operatorem cudzej myśli. Dlatego regularny i dogłębny audyt jakości kodu staje się obecnie bardziej krytyczny niż kiedykolwiek wcześniej - pozwala wyłapać te pozornie idealne, a w rzeczywistości kruche fragmenty architektury.

Po drugie, narasta dług produktowy. To sytuacja, w której tworzymy funkcje niezgodne z realnymi potrzebami klienta. AI ułatwia wdrażanie każdej zachcianki, przez co interfejsy stają się nieczytelnymi labiryntami, a użytkownicy gubią się w gąszczu opcji.

Wreszcie, ostateczną stawką jest dług biznesowy. Utrzymanie niefunkcjonalnego, przerośniętego systemu pochłania ogromne środki, zamraża budżety na innowacje i niszczy elastyczność finansową firmy.

Klątwa nieużywanych funkcji

Najbardziej widocznym objawem tego długu jest niekontrolowany rozrost aplikacji. Dodawanie kolejnych modułów wydaje się niemal darmowe, ale w dłuższej perspektywie staje się nowotworem pożerającym zdrową tkankę biznesu.

Statystyki są bezlitosne. Badania rynkowe pokazują, że aż 80 procent wszystkich funkcji stworzonych w przeciętnym produkcie cyfrowym jest używanych niezwykle rzadko lub wcale. Firmy płacą miliony za utrzymanie elementów, z których klient nie czerpie żadnej wartości. Co gorsza, każda z tych niepotrzebnych nowości zwalnia cykl dostarczania oprogramowania. Każdy drobiazg musi przejść testy regresyjne. W takich warunkach odpowiednie testowanie aplikacji staje się wyzwaniem, ponieważ sieć zależności między zbędnymi bibliotekami wydłuża czas łatania krytycznych luk bezpieczeństwa. Użytkownicy są zmęczeni przebodźcowaniem i odchodzą.

Rachunki za chmurę, które przyprawiają o zawrót głowy

Rozrost funkcji to także potężny cios dla budżetów infrastrukturalnych. Wygenerowany bez głębszej refleksji kod generuje zjawisko martwych zasobów w chmurze.

Mówimy tu o środowiskach testowych, do których nikt nie zaglądał od miesięcy, zawieszonych instancjach czy potężnych maszynach wirtualnych odłączonych od głównego ruchu, które po cichu naliczają comiesięczne rachunki od gigantów technologicznych. Często okazuje się, że korporacje wyrzucają w błoto około 30 procent swoich wydatków na chmurę tylko na utrzymanie tych wirtualnych zombie. Dodatkowo, modele AI potrafią wygenerować skomplikowane zapytania do hurtowni danych, które z powodu braku optymalizacji mielą informacje przez wiele godzin, drastycznie zawyżając opłaty. Nasze doświadczenie pokazuje, że przemyślana modernizacja i utrzymanie aplikacji muszą opierać się na bezlitosnym wycinaniu takich nieaktywnych procesów.

Jak uciec przed technologicznym bankructwem?

Rozwiązaniem tego patowego układu jest radykalna zmiana podejścia. Skoro produkcja kodu stała się najtańszym elementem procesu, nasza uwaga musi przesunąć się na etap ciągłego odkrywania produktu.

Dziś największą rynkową wartością programisty czy menedżera nie jest umiejętność szybkiego stworzenia rozwiązania, ale odwaga i wiedza, by uzasadnić, dlaczego danego rozwiązania w ogóle nie powinniśmy budować. Walidacja hipotez we wczesnym etapie to klucz. Zanim zaczniemy cokolwiek kodować, musimy zbadać, czy funkcja jest opłacalna, wykonalna i pożądana przez użytkownika. Narzędzia mapowania rozwiązań i przejrzyste wizualizacje problemów pomagają uciąć polityczne dyskusje w firmach i skupić się na tym, co naprawdę ważne. Wymaga to jednak dyscypliny i rygoru od samej góry organizacji.

Kiedy doradzamy firmom i wspieramy je poprzez wybór wykonawcy IT, zwracamy szczególną uwagę na to, czy dany zespół potrafi kwestionować pomysły biznesowe, czy tylko ślepo je realizuje. Podobnie jest z kontrolą projektów - rzetelne monitorowanie postępów powinno mierzyć realną wartość biznesową, a nie tylko liczbę wypuszczonych w świat linii kodu.

Rozsądnie wdrażane automatyzacje i AI dla firm to potężny oręż, o ile narzędzia te pełnią rolę wsparcia analitycznego i weryfikatora hipotez, a nie bezmyślnej fabryki niepotrzebnych funkcji.

Co to oznacza dla Twojego biznesu?

Złudzenie taniego oprogramowania może kosztować firmy miliony w perspektywie kilku lat. Prawdziwa innowacja polega dziś na ascezie - na wiedzy, z czego zrezygnować, by utrzymać lekkość, przejrzystość i elastyczność. Tani kod to równia pochyła, jeśli nie stoi za nim żelazna logika biznesowa.

Zastanów się przez chwilę: jak wiele z funkcji w Twojej aplikacji czy systemie firmowym jest faktycznie używanych na co dzień przez zespół lub klientów? Może nadszedł czas na wielkie wiosenne porządki w architekturze? Daj znać w komentarzu, jakie są Twoje doświadczenia z narzędziami generującymi kod. Czy faktycznie przyspieszyły Waszą pracę, czy przysporzyły więcej problemów na etapie utrzymania?

Spodobał Ci się ten artykuł?

Zapisz się do newslettera i otrzymuj dwa razy w miesiącu skondensowaną porcję praktycznej wiedzy o projektach IT w formie przyjaznego newsletteru - bez spamu i zbędnych informacji.

Damian Tokarczyk

Umawianie bezpłatnej konsultacji i wyceny

Damian Tokarczyk

Na 30 minutowym spotkaniu: omówimy Twój pomysł, wyzwania i kolejne kroki. Po rozmowie wyjdziesz z konkretami:

  • świeżym, zewnętrznym spojrzeniem na Twoje wyzwania i priorytety,
  • wstępną analizą projektu i możliwych rozwiązań,
  • orientacyjnymi kosztami oraz propozycją dalszych kroków.

Bez zobowiązań - za to z jasnym obrazem, co warto zrobić dalej.