Home SOFTWARENevidljiva pretnja: kako kvalitet softvera održava ili ruši naš svet

Nevidljiva pretnja: kako kvalitet softvera održava ili ruši naš svet

od itn
kvalitet softvera

Zamislite da živite u kući gde su zidovi sveže okrečeni, nameštaj je moderan, a prozori blistaju. Međutim, temelji te kuće su napravljeni od trulog drveta i jeftinog betona. Spolja sve deluje savršeno, ali jedan jači vetar ili manji zemljotres mogu sve srušiti.

Ovo je savršena analogija za današnji digitalni svet.

Svi smo opsednuti onim što vidimo na ekranima – dizajnom aplikacija, brzinom animacija i novim funkcijama na našim pametnim telefonima. Ali, ispod te blistave površine krije se „nevidljivi kod“ – milioni linija softvera koje niko ne vidi, a koje drže na okupu našu ekonomiju, zdravstvo, saobraćaj i bezbednost. Pitanje kvaliteta tog koda više nije tehničko pitanje za programere u podrumu; to je pitanje održivosti modernog društva.

kvalitet softveraIluzija stabilnosti i fenomen ledenog brega

Korisnici vide samo vrh ledenog brega: interfejs (UI). Ako dugme radi, pretpostavljamo da je sve u redu. Međutim, 90% softvera nalazi se ispod površine. Tu se odvijaju transakcije banaka, upravljanje elektroenergetskim mrežama i kontrola letenja.

Kada se desi katastrofa, retko je kriv „šminkerski“ deo aplikacije. Krivac je gotovo uvek strukturalni kvalitet onog nevidljivog dela. U industriji se ovo često naziva „tehnički dug“ (Technical Debt). Kompanije često žure da izbace proizvod na tržište („time-to-market“), svesno birajući brza i prljava rešenja umesto stabilne arhitekture. To je kao da uzimate kredit sa ogromnom kamatom – u početku imate novac (brzinu), ali kasnije kamata (održavanje i popravke) postaje toliko visoka da može bankrotirati firmu.

Kada loš kod postane opasan po život

Da bismo razumeli ozbiljnost situacije, ne moramo gledati daleko u prošlost. Setimo se nedavnog globalnog incidenta sa kompanijom CrowdStrike. Jedna loša linija koda, jedan nedovoljno testiran apdejt, uspeo je da prizemlji avione širom sveta, otkaže operacije u bolnicama i blokira bankarske sisteme.

To nije bio hakerski napad. To nije bila viša sila. To je bio nedostatak kvaliteta.

Ovaj događaj nam je brutalno pokazao koliko smo krhki. Naša civilizacija ne počiva na čeliku i betonu, već na softveru. Ako inženjering kvaliteta (Quality Engineering) nije prioritet, mi bukvalno gradimo kule od karata.

Zašto je teško „prodati“ kvalitet?

Problem sa kvalitetom softvera je taj što je on nevidljiv sve dok ne nestane.

  • Kada softver radi savršeno, niko ne primećuje inženjere koji su to omogućili. Menadžment to vidi kao trošak.

  • Kada softver padne, svi traže krivca.

U trci za profitom, mnoge kompanije tretiraju testiranje i kontrolu kvaliteta (QA) kao „nužno zlo“ ili poslednju stanicu pre lansiranja. To je pogrešan pristup. Kvalitet se ne može „naknadno ubaciti“ u softver, baš kao što ne možete naknadno ubaciti jaja u već ispečen kolač. Kvalitet mora biti utkan u svaki korak razvoja, od prve ideje do konačnog koda.

Etika kodiranja: nova odgovornost inženjera

Danas, programeri i inženjeri kvaliteta imaju odgovornost sličnu onoj koju imaju građevinski inženjeri ili hirurzi.

Ako arhitekta napravi most koji se sruši, on gubi licencu i ide u zatvor. U softverskoj industriji, posledice su često difuzne, skrivene iza korisničkih ugovora („Terms and Conditions“) u kojima se kompanije odriču odgovornosti. Međutim, kako AI i automatizacija preuzimaju vožnju automobila (kao što to radi Tesla ili Waymo) ili dijagnostiku bolesti, etika pisanja čistog, bezbednog i robusnog koda postaje moralni imperativ.

„Skriveni kod“ ne sme biti đubrište loših odluka. On mora biti održiv ekosistem.

kvalitet softveraBudućnost zavisi od onoga što ne vidimo

Zaključak je jasan: ne možemo više priuštiti „brzo i kuso“. Cena popravke greške u proizvodnji je 100 puta veća nego cena njenog sprečavanja u fazi dizajna. Ali cena sistemskog pada kritične infrastrukture ne meri se novcem, već haosom i ljudskim životima.

Investiranje u robusne procese testiranja, refaktorisanje starog koda i kulturu koja ceni stabilnost iznad brzine, jedini je način da osiguramo da se naš digitalni svet ne uruši pod sopstvenom težinom. Sledeći put kada vaša aplikacija radi besprekorno, setite se tihih heroja koji su se pobrinuli da „nevidljivi kod“ ostane jak.

Banner

Banner

Možda će vam se svideti i