Većinu vremena, nije do ljudi koji stvaraju kašnjenja — umjesto toga, problem je sustav u kojem su prisiljeni graditi.
Skrivena kočnica na brzini vašeg inženjeringa
Mnogi timovi pokazuju prstom na spora zapošljavanja, mijenjajuće prioritete ili sastanke. Ipak, študije i brojevi iz stvarnog svijeta upućuju na manje očigledan problem. Nezdrav kod.
Istraživanja u softverskom inženjeringu pokazuju da kako programi postaju kompleksniji, programeri se usporavaju tijekom vremena. Nekoliko poznatih okvira sugeriše da ovaj uspon nije stabilan. Ubrzava se kako se nered nakuplja.
To sugeriše da bi vaš tim zapravo mogao brže raditi. Okruženje u kojem djeluju je pravi problem.
Pogledajte detaljnije kako se stvari usporavaju, vidjite kako se to pojavljuje tijekom vašeg dana i primijetite obrasce koji se ponavljaju. Provjerite što je zapravo moguće promijeniti umjesto pogađanja. Isprobajte male korake koji pristaju stvarnom životu. Pazite na suptilne pomake, zatim prilagodite prije nego što se frustracija akumulira.
1. Cijena kompliciranosti. Zašto osnovne stvari traju vječno?
Složeni softver ima više grešaka, teže se popravlja i usporava timove. Istraživanje za istraživanjem pronalazi da zapleteni kod povezuje s većim brojem grešaka i težim održavanjem.
To je što plaćate za komplicirane stvari. Prepuštate je svaki put kada se pojavi nešto novo.
Praktičan primjer Nova funkcionalnost. "Primijeni kupon" pri plaćanju.
U urednom postavu:
- Promijenite način rukovanja narudžbama
- Spojite se s cijenama
- Dodajte testove
- Pošalji
Vrijeme: 1 dan.
U neurednom postavu:
- Tri modula za cijene
- Zbunjujući signali koji ostaju zauvijek jer nitko ih ne briše
- Klase od 2.000 redaka
- Greške koje se javljaju zbog nesrodnih problema
Vrijeme: 3–4 dana.
Funkcionalnost je bila mala. Poreza kompleksnosti nije.
2. Tehnički dug. Što duguješ svakom sprinta
Tehnički dug nije nejasan pojam.
Provjere industrije pokazuju isti obrazac. Usporava rast, povećava greške i nakuplja se tijekom vremena.
Izvještaj koji je istaknula ITPro sugeriše da poslovanja godišnje bace skoro 370 milijuna dolara boreći se s naslijeđenim sustavima i akumuliranim tehnološkim dugom.
Česti znakovi s kojima se tvoj tim bori dnevno:
- Sprintovi prepuni "stabilizacijskih" zadataka
- Sitne izmjene koje dovode do grešaka u udaljenim dijelovima — jer jedna ispravka može nešto potpuno drugo pokvariiti
- Novi zaposlenici se pitaju zašto su stvari tako složene
- Iskusni inženjeri voze umjesto da grade
Kako godine prolaze, cijena plaćanja kamate na prethodne brze korigacije završi gore nego vrijeme koje su tada uštedjeli.
3. Problemi koda. Mali znakovi upozorenja koji se nakupljaju
Neuredan kod — recimo, funkcije koje traju previše dugo, klase koje rade previše, ili ponavljajući dijelovi logike — neće nužno srušiti tvoj projekt.
Ipak, studije sugeriše da ovi elementi obično stvaraju probleme održavanja dok komplikuju kako razumijemo kod.
Neki povratni signali pokazuju da ova sredstva nisu uvijek dobra predviđanja na cijelim sustavima, ovisno o situaciji — ali kada se pronalaze lokalni problemi, dobro rade.
Praktičan primjer
Dokument "UserService" koji:
- Autentificira
- Šalje e-poštu
- Razgovara s bazom podataka
- Formatira izlaz sučelja
Sada svaka izmjena utječe na ovu datoteku.
Konflikti pri spajanju se povećavaju.
Ispravka prijave pokvari e-mail predloške.
Problem nije vaš tim — krivnja leži drugdje.
To je loša separacija briga koja množi trud.
4. Trenje pri uključivanju. Zašto se novi zaposlenici polako uključuju
Istraživanja o učinkovitosti programera često otkrivaju da većinu dana provode istražujući, pregledavajući ili pokušavajući razumjeti stari kod umjesto gradnje novih funkcionalnosti. Neka istraživanja postavljaju ovo na 60–70% vremena inženjerstva.
Neuredna gomila koda čini stvari težim — napredak se usporava, napetost se gradi.
Kako se pojavljuje
- Novi inženjeri bace dane pitajući se — čiji je to posao? Ali zatim počinju sami tražiti odgovore.
- Nisu sigurni trebaju li se dirati glavnih dijelova — pa ih izbjegavaju.
- Iskusni inženjeri bace sate objašnjavajući stare odluke.
- Ako jednoj osobi trebaju mjeseci da počne kodirati bez dvojbovanja, problem je vaš neuredan sustav — njihova vještina nije problem.
5. Četiri jasna znaka da je vaša osnova koda sada problem
- Male izmjene znače rad s puno datoteka. To signalizira čvrsto spajanje.
- Ispravke grešaka kvare različite dijelove. Pokazuje jaz u testiranju, plus nestabilnu postavku.
- Više zaposlenih ne ubrzava stvari. Veći timovi trebali bi brže napredovati. Kada se to ne dešava, zapleteni radni tijekovi usporavaju stvari.
- Samo malobrojni znaju kako ključni dijelovi funkcioniraju. To je problem pouzdanosti koji usporava stvari.
Ako vam ovo zvuči poznato, vaš tim se u biti bori sa sustavom svaki put kada radi na kodu.
6. Što zdrave osnove koda rade drugačije
Od Googlа do Shopifyja do Mete, poznate navike se pojavljuju ponovno i ponovno. Ova poduzeća, izgrađena na solidnim tehnološkim temeljima, kreću na sličan način bez kopiranja jedni drugih.
Vode stvari jasno dok održavaju stalan tijek
Dokumentacija inženjerstva Googlа navodi da je primarni cilj pregleda koda poboljšanje dugoročnog zdravlja osnove koda.
Zdravi timovi:
- Drže funkcije malima
- Osjetljivi na uobičajene formate dok vode provjeravače koda
- Provoditi jasno imenovanje
- Pogledajte kako je jasno, ne samo je li ispravno
Provjeravaju koliko su kompleksne stvari, zatim to jasno pokazuju
Visoko učinkoviti timovi:
- Prate mjerenja kompleksnosti
- Identificiraju gdje se kupci muče kako sustavi postaju neuredni
- Rješavaju probleme prema tome koliko utječu na poslovanje
To refaktoriranje čini pametnim potezom umjesto samo biti dobro imati.
Čiste kod tijekom izgradnje novih stvari
Ne kao neki samostalni "period popravke".
Oni:
- Isprave kod malo svaki put kada radite na njemu — ostavljajući stvari bolje nego kada ste ih našli
- Ispravite testove — ili napišite nove — prije velikih ažuriranja
- Često brišu mrtav kod
Mali poboljšanja brzo se zbrajaju.
7. Praktični koraci koje možete voditi ovaj kvartal
Ne trebate ponovno napisati.
Trebate jasan način da se uredi.
1. Identificirajte žarišne točke
Odaberite pet glavnih dijelova koji često se mijenjaju ali stvaraju problem.
Počnite odatle.
2. Postavite sigurnosne žice blizu ključnih procesa
Povećajte automatske provjere pri plaćanju, također prijava, osim koraka plaćanja.
Fokusirajte poboljšanja na stvarne tokove korisnika, ne generičke popravke.
Sigurnost povećava brzinu.
3. Skratite zahtjeve za spajanje
Mali PR-ovi — ispod 300 redaka — brže se pregledavaju dok smanjuju greške.
4. Usvojite Boy Scout pravilo
Učinite svaku diranu datoteku malo boljom.
5. Postavite tihe sate za složene zadatke
Komplicirani skripta, zajedno s čestim promjenama zadataka, povećavaju kašnjenja.
Još nešto. Kod nije samo alat — to je nešto što koriste i ljudi
Korisnici koriste vašu aplikaciju. Razvojni inženjeri rade unutar vašeg koda.
Ako se interni dijelovi lako slome, nisu jasni i teško se navigiraju, slanje se usporava, greške se povećavaju i novac se baca na izbjeglive problema.
Uložite trud u čist kod.
Postavite svoj tim s urednijom postavkom za rad.
Brzina ide gore kada su duhovi visoki — kvaliteta ide zajedno.
Želite li graditi visoko učinkovit udaljeni tehnički tim?
Pogledajte MyNextDeveloper, platformu gdje možete pronaći najboljih 3% softverskih inženjera koji su duboko strastveni prema inovaciji. Naša rješenja za softverski talent na zahtjev, namjenjena i temeljita pružaju sveobuhvatan odgovor na sve vaše softverske potrebe.
Posjetite našu web-stranicu kako biste istražili kako možemo vam pomoći pri sastavljanju vašeg savršenog tima.



