Ako AI može da napravi aplikaciju, zašto firme i dalje plaćaju razvoj softvera?

Pre samo nekoliko godina, razvoj aplikacije podrazumevao je tim ljudi, nedelje ili mesece rada i ozbiljan budžet. Danas je situacija dosta drugačija. Uz pomoć AI alata moguće je za veoma kratko vreme napraviti prototip, povezati bazu podataka, generisati interfejs, napisati veliki deo koda i dobiti nešto što na prvi pogled izgleda kao sasvim funkcionalan proizvod.

Piše: Nemanja Pavlović  ·  CEO / Osnivač

5 min čitanja

Ako AI može da napravi aplikaciju, zašto firme i dalje plaćaju razvoj softvera?

Zbog toga je sasvim logično pitanje koje se sve češće postavlja: ako AI može da napravi aplikaciju, zašto bi firma i dalje plaćala razvoj softvera?

Odgovor je uglavnom u razlici između aplikacije koja radi u kontrolisanim uslovima i proizvoda koji treba da funkcioniše svakog dana, sa stvarnim korisnicima, stvarnim podacima i stvarnim posledicama kada nešto pođe po zlu.

AI je promenio način na koji se softver pravi

Uticaj AI alata na razvoj softvera već je veoma vidljiv. Developeri ih koriste za pisanje delova koda, pronalaženje grešaka, generisanje testova, dokumentaciju i rešavanje zadataka koji su ranije oduzimali dosta vremena. Istovremeno, pojavili su se alati koji omogućavaju i ljudima bez velikog tehničkog iskustva da naprave jednostavne aplikacije uz pomoć tekstualnih instrukcija.

To je veliki pomak i nema mnogo smisla ignorisati ga. Deo posla koji je ranije trajao satima danas može da bude završen za nekoliko minuta, a prvi prototip proizvoda često može da nastane mnogo brže nego ranije.

Problem se javlja kada se početni rezultat pomeša sa gotovim proizvodom.

Aplikacija može da ima lepo dizajniran interfejs, registraciju korisnika, nekoliko funkcionalnosti i bazu podataka, a da iza toga i dalje postoje ozbiljni problemi koje korisnik na prvi pogled ne može da vidi.

Demo i produkcioni sistem nisu ista stvar

Kada se aplikacija pravi za prezentaciju ideje ili interno testiranje, veliki broj stvari može privremeno da se pojednostavi. Kada istu aplikaciju počne da koristi nekoliko stotina ili nekoliko hiljada ljudi, zahtevi postaju potpuno drugačiji.

Potrebno je razmišljati o tome šta se dešava kada više korisnika istovremeno pokušava da izvrši istu akciju, kako se podaci čuvaju, ko ima pristup kojim informacijama, šta se dešava ako neka integracija prestane da radi i kako sistem reaguje kada dobije podatke koje niko nije predvideo tokom razvoja.

Tu dolaze i stvari koje korisnik uglavnom ne vidi direktno: arhitektura sistema, bezbednost, backup, monitoring, upravljanje greškama, performanse i način na koji se aplikacija kasnije menja i nadograđuje.

Kod jednostavnog prototipa često je sasvim dovoljno da funkcionalnost radi. Kod poslovnog softvera potrebno je da radi pouzdano i predvidivo, čak i kada se pojave situacije koje nisu deo idealnog scenarija.

Poslovna logika se ne rešava jednim promptom

Većina ozbiljnijih softverskih projekata nema problem samo u pisanju koda. Mnogo veći deo posla često je razumevanje procesa koji taj softver treba da podrži.

Ako se pravi sistem za prodaju, potrebno je razumeti kako firma radi sa kupcima, kako se formiraju cene, ko odobrava popuste, šta se dešava sa reklamacijama i kako se podaci razmenjuju sa drugim sistemima.

Kod e-commerce projekta to mogu biti ERP, kurirske službe, sistemi za plaćanje, lageri i različiti nivoi cena. Kod internog poslovnog softvera mogu postojati različite korisničke uloge, pravila pristupa, izveštaji, procedure odobravanja i veliki broj izuzetaka koji su nastali tokom godina rada firme.

AI može značajno da ubrza implementaciju kada su zahtevi dobro definisani, ali neko i dalje mora da postavi prava pitanja i da razume šta se zapravo gradi.

U praksi, veliki broj problema u softverskim projektima nastaje mnogo pre nego što developer napiše prvu liniju koda.

Šta se dešava kada nešto krene drugačije od plana?

Jedna od stvari koju je teško proceniti na osnovu prototipa jeste ponašanje sistema u nepredviđenim situacijama.

Korisnik može dva puta da klikne na dugme za plaćanje. ERP može da pošalje nepotpune podatke. Kurirski servis može privremeno da bude nedostupan. Dva administratora mogu istovremeno da izmene isti proizvod. Kupac može da prekine proces poručivanja u trenutku kada je jedan deo podataka već upisan u bazu.

Svaki od ovih slučajeva zahteva neku odluku.

Kod koji generiše AI može da bude potpuno ispravan za scenario koji mu je opisan, a da pritom ne uzme u obzir deset drugih situacija koje se redovno pojavljuju kada proizvod počne da se koristi.

Iskustvo u razvoju softvera dobrim delom upravo znači prepoznavanje tih situacija pre nego što postanu problem u produkciji.

Bezbednost je posebno osetljiva tema

Kod aplikacija koje čuvaju podatke korisnika, omogućavaju plaćanje ili imaju pristup internim poslovnim informacijama, greške više nisu samo tehnički problem.

Pogrešno podešene korisničke dozvole mogu nekome da omoguće pristup podacima koje ne bi trebalo da vidi. Loše rešena autentifikacija može da otvori ozbiljan bezbednosni rizik, dok neadekvatno čuvanje podataka može da napravi probleme koji daleko prevazilaze sam razvoj aplikacije.

AI alati mogu da pomognu u pisanju sigurnijeg koda i proveri potencijalnih propusta, ali rezultat i dalje mora da bude pregledan i testiran u kontekstu konkretnog sistema.

Kod poslovnog softvera nije dovoljno da funkcionalnost radi. Važno je i da bude jasno ko može da je koristi, kojim podacima pristupa i šta sistem dozvoljava u svakoj situaciji.

Softver se retko završi prvom verzijom

Još jedna stvar koja se često zanemari jeste činjenica da većina aplikacija nastavlja da se razvija nakon lansiranja.

Promene se potrebe korisnika, uvede se nova usluga, promeni se način naplate, pojavi se nova integracija ili firma promeni deo svog poslovnog procesa. Nekada se promeni i tehnologija sa kojom aplikacija mora da komunicira.

Ako je početna verzija napravljena bez jasne strukture, svaka sledeća promena može da postane komplikovanija nego što bi trebalo. U jednom trenutku dodavanje male funkcionalnosti počinje da utiče na nekoliko drugih delova sistema, a tim sve više vremena troši na popravljanje posledica ranijih odluka.

Zato kvalitet razvoja nije vidljiv samo na dan kada aplikacija bude puštena u rad. Često se mnogo bolje vidi godinu ili dve kasnije.

Gde AI onda zaista pravi najveću razliku?

Najveća promena verovatno nije u tome što više nisu potrebni developeri, nego u tome koliko kvalitetan tim danas može da uradi za isto vreme.

Rutinski deo razvoja je brži, prototipi nastaju ranije, različita rešenja mogu da se testiraju uz manje ulaganja, a deo dokumentacije, testiranja i analize može da se automatizuje.

To otvara prostor da se više vremena posveti stvarima koje imaju veći uticaj na sam proizvod: razumevanju problema, arhitekturi, korisničkom iskustvu i planiranju načina na koji će sistem da raste.

U tom smislu, firme koje koriste AI kao deo kvalitetnog razvojnog procesa mogu da dobiju mnogo veću vrednost nego firme koje pokušavaju da biraju između AI-ja i razvoja kao da su to dve suprotstavljene opcije.

Pa zašto firme i dalje plaćaju razvoj softvera?

Zato što im uglavnom nije potreban samo kod.

Potreban im je sistem koji će da se uklopi u postojeće poslovanje, koji će moći da se poveže sa drugim alatima, koji neće praviti problem kada broj korisnika poraste i koji će moći da se razvija zajedno sa firmom.

AI je taj proces učinio bržim i dostupnijim, a granica između ideje i prvog funkcionalnog prototipa danas je mnogo manja nego ranije. Kada taj prototip treba da postane deo stvarnog poslovanja, i dalje postoji veliki broj odluka koje zahtevaju iskustvo, razumevanje konteksta i odgovornost za krajnji rezultat.

Verovatno ćemo zato u narednim godinama sve manje pričati o tome da li je softver napravio čovek ili AI, a mnogo više o tome koliko dobro tim koristi dostupne alate da napravi proizvod koji zaista rešava problem zbog kojeg je uopšte nastao.

AUTOR

Nemanja Pavlović · CEO / Osnivač

Piše o strategiji, prodaji i digitalnim proizvodima.