Dług technologiczny – jakie niesie za sobą zagrożenia.

Dług technologiczny – jakie niesie za sobą zagrożenia.

Lipiec 30, 2019 0 przez admin

Sharing is caring!

Czym jest dług technologiczny?

Definicja: Dług techniczny (znany również jako dług techniczny lub dług kodowy) opisuje wyniki, które zespoły programistów podejmują, aby przyspieszyć dostarczenie funkcjonalności lub projektu, który później wymaga refaktoryzacji. Innymi słowy, jest to wynik priorytetowego traktowania szybkiego dostarczania rozwiązań, ponad jakość oprogramowania.

Jeśli pracujesz w branży it od jakiegoś czasu, są szanse, że w pewnym momencie usłyszałeś termin „dług techniczny”. Zwrot ten jest często stosowany. Ale czym właściwie jest dług techniczny? I dlaczego tak go nazywamy?

Dług technologiczny to fraza pierwotnie stworzona przez twórcę oprogramowania, Warda Cunninghama, który oprócz tego, że jest jednym z 17 autorów Manifestu Agile, jest także autorem pomysłu na wiki. Najpierw użył tej metafory, aby wyjaśnić nie-technicznym interesariuszom WyCash, dlaczego zasoby muszą być zapisane w budżecie.

Nie zdawał sobie wtedy sprawy, ale stworzył nowe słowo w społeczności programistów, które później stało się przedmiotem niezliczonych badań naukowych, debat i dyskusji.

Po latach Cunningham opisał, w jaki sposób wpadł na techniczną metaforę długu :

Z pożyczonymi pieniędzmi możesz zrobić coś wcześniej, niż mógłbyś, w przeciwnym razie, dopóki nie zwrócisz tych pieniędzy, będziesz płacić odsetki. Myślałem, że pożyczanie pieniędzy to dobry pomysł. Pomyślałem, że rzucanie oprogramowania na zewnątrz, aby zdobyć trochę doświadczenia, było dobrym pomysłem, ale oczywiście w końcu wrócisz i gdy dowiesz się o tym oprogramowaniu, zwrócisz to pożyczka poprzez refaktoryzację programu, aby odzwierciedlić twoje doświadczenie w trakcie jego zakupu. “

Czy istnieje uproszczona definicja długu technologicznegi?

Ponieważ metafory są z natury abstrakcyjne, prawdziwa definicja długu technologicznego zależy od interpretacji. Różni ludzie opracowali dla nich własne definicje na przestrzeni lat. Z biegiem czasu rozwinęło się kilka bardzo szczegółowych wyjaśnień, ale na wysokim poziomie możemy zobaczyć kilka tematów, które mogą pomóc nam zbudować konkretną definicję długu technicznego.

To narzędzie

Podobnie jak ktoś może zaciągnąć pożyczkę na nieruchomości, aby dostać się na dynamicznie rozwijający się rynek nieruchomości, zanim zostanie wyceniony, dług techniczny jest często wykorzystywany jako narzędzie „do zrobienia kroku w przód”. . Jego definicja jest prosta: „dług techniczny to każdy dodany kod, który wymaga więcej pracy, ale odłożonej w czasie – zazwyczaj w celu osiągnięcia szybkich zysków”.

Niesie za sobą pewne konsekwencje

Definicja długu technicznego Shauna McCormicka koncentruje się bardziej na konsekwencjach w dłuższej perspektywie: „Uważam dług techniczny za kod, który zmniejsza zwinność w miarę dojrzewania projektu.”Sugeruje on, że prawdziwy dług techniczny jest zawsze zamierzony i nie jest przypadkowy. Tym samym nie sugeruje, że dług technologiczny jest sam w sobie czymś złym.

Dług publiczny to nie bałagan.

Czasem, próbując zdefiniować nieco abstrakcyjną koncepcję, przydatne może być zrozumienie, czym dana rzecz NIE jest.

Techniczne decyzje dotyczące zadłużenia technologicznego, są podejmowane w oparciu o rzeczywiste ograniczenia projektu. Są ryzykowne, ale mogą być korzystne. Decyzja o zrobieniu bałaganu nigdy nie jest racjonalna, zawsze opiera się na lenistwie i nieprofesjonalizmie i nie ma szans na zapłacenie w przyszłości. Bałagan to zawsze strata

Akademicka definicja długu technicznego

Dzięki szerokiej gamie opiniotwórczych definicji długu technicznego, kilka prac naukowych próbowało przedstawić obiektywną, konkretną definicję tego abstrakcyjnego pojęcia. Na przykład artykuł w czasopiśmie Technology and Software Technology Journal definiuje dług techniczny w bardzo specyficzny sposób:

„Dług techniczny opisuje konsekwencje działań związanych z tworzeniem oprogramowania, które celowo lub nieumyślnie nadają priorytet wartościom klienta i / lub ograniczeniom projektowym, takim jak terminy dostaw, bardziej techniczne aspekty wdrożenia i projektowania…”

Ten sam artykuł rozwija metaforę długu technicznego: „Koncepcyjnie, dług techniczny jest analogią długu finansowego, z powiązanymi pojęciami, takimi jak poziomy zadłużenia, narastanie zadłużenia w czasie i jego prawdopodobne konsekwencje, a także presja na spłatę długu w jakiś czas. ”

Rodzaje zadłużenia technicznego

Ponieważ istnieje tyle definicji długu technicznego, istnieje tyle samo rodzajów długów technicznych. Od lat programiści poszukują nowych sposobów klasyfikowania i przekazywania długów technicznych.

W 2007 r. Steve McConnell zasugerował, że istnieją 2 rodzaje długów technicznych: celowe i niezamierzone . Według niego celowe zadłużenie techniczne to techniczny dług, który jest świadomie traktowany jako narzędzie strategiczne. W przeciwieństwie do niezamierzonego zadłużenia, które nazywa „niestrategicznym skutkiem złej pracy”.

Większość opinii jest zgodna co do tego, że dług techniczny nie jest z natury zły. W rzeczywistości większość, jeśli nie wszystkie produkty oprogramowania mają pewien stopień zadłużenia technicznego. Kiedy zastanawiasz się, ile kodu jest dostarczany każdego dnia (szczególnie w zwinnych środowiskach, w których działające oprogramowanie jest główną miarą postępu), nie jest to zaskakujące twierdzenie.

Z drugiej strony, wiele zespołów programistycznych pracujących ściśle w metodologii rozwoju oprogramowania Waterfall i innych platformach opartych na dokumentacji nie podziela tej perspektywy.

Jak wskazuje Steve McConnell, stosunek do zadłużenia technicznego różni się znacznie w zależności od nie tylko filozofii firmy, ale także różnych działów i ról.

„Okazało się, że pracownicy biznesu wydają się mieć większą tolerancję na zadłużenie techniczne niż personel techniczny. Dyrektorzy biznesowi zazwyczaj są skłonni do jego zwiększania, podczas gdy niektórzy pracownicy techniczni wydają się wierzyć, że jedyna prawidłowa kwota długu technicznego wynosi zero.

Trzeba pamiętać, że to rolą programistów jest wyjaśnienie długu technicznego pracownikom biznesowym, którzy mogą nie zauważyć natychmiastowych implikacji.

Tak więc na tym etapie kontekst ma znaczenie przy ustalaniu, czy dług techniczny jest dobry czy zły. Ogólnie rzecz biorąc, możemy myśleć o długu technicznym w taki sam sposób, jak o długu finansowym -nie jest problemem, dopóki nie zacznie nim być.


Share Button