Prosečni softverski inženjer provodi 6 sati nedeljno — skoro jedan radni dan — baveći se tehničkim dugom, pokazuje novi izveštaj State of Technical Debt 2021 kompanije Stepsize, dobavljača alata za razvoj softvera. Prosečno vreme provedeno na poslovima održavanja i starim (tzv. legacy) sistemima je 33 odsto, od čega se više od 50 odsto vremena troši samo na tehnički dug. To je vreme kada programer ne radi na svojim ključnim ciljevima.

Tehnički dug je koncept u razvoju softvera koji podrazumeva potrebu za dodatnim popravljanjem koda zbog implementiranja brzog i trenutnog rešenja, umesto dugoročnijeg. Kao i kod monetarnog duga, ako se tehnički dug ne „otplati”, može akumulirati kamate, što otežava sprovođenje promena i uvođenje novih funkcija. Tehnički dug koji nije rešen povećava entropiju softvera, što je ideja da softver vremenom trune kako se menja, ako se ne vodi dovoljno računa da se održi koherentnost sa dizajnom proizvoda i utvrđenim principima dizajna.

Tehnički dug uzrokuje greške i prekide i usporava tempo razvoja, kaže 60 odsto programera. To rezultira gubitkom produktivnosti, jer inženjeri troše više vremena baveći se pitanjima u vezi sa tehničkim dugom, nego pitanjima razvoja.

Pored toga, više od polovine (52%) anketiranih programera kaže da je bavljenje tehničkim dugom loše za moral tima.

Većina tehničkog duga stvara se prilikom backend programiranja, posebno u krajnjim tačkama veb servera, rekli su inženjeri. Aplikacije, veb lokacije i opšta infrastruktura su drugi delovi koji akumuliraju veliku količinu tehničkog duga.

Kada programeri moraju da se bave starijim tehnologijama zbog tehničkog duga, to utiče na iskustvo korisnika. Programeri se često osećaju prisiljeni da biraju između novih funkcija i poslova održavanja, a u nekim slučajevima tehnički dug može otežati primenu novih funkcija, namećući nezgrapna zaobilazna rešenja ili ograničenu funkcionalnost, navodi se u izveštaju.

Deo problema je i taj što mnoge kompanije nemaju uspostavljene procese za upravljanje tehničkim dugom. U anketi je 58 odsto programera reklo da njihovim kompanijama nedostaje takav proces, a 66 odsto je reklo da veruje da bi njihov tim bio delotvorniji ukoliko bi takvi procesi postojali. Sa druge strane, samo 2 odsto programera smatra da uspešno upravljanje tehničkim dugom ne bi uticalo na njihovu delotvornost.

Podaci sugerišu da je jedan od načina za povećanje produktivnosti „plaćanje” tehničkog duga u backend-u i opštoj infrastrukturi u kodnoj bazi.

Istraživanje je obuhvatilo više od 200 programera, uključujući inženjerske rukovodioce i tehničke direktore iz kompanija i startapa širom sveta.