izrada web stranica s jamstvom i edukacijom
"Dizajner je to savršeno napravio, partneri kojima smo pokazali web svi hvale kako je to napravljeno."
g. Mudri, sefir-promo.hr | Pročitajte više mišljenja naših klijenata...
Blog
Problemi u web projektima po mjeri: zašto nastaju, kako ih spriječiti i liječiti?
Tipična web stranica ili web projekt po mjeri uključuje barem nekakvo web programiranje po mjeri. Usluga programiranja po mjeri po prirodi je takva da u sebi sadrži određene rizike. Ako naručujete web aplikacije po mjeri, vrlo je bitno da znate da je rizik uvijek prisutan. Sve će biti ok ako rizicima upravljaju stručni i iskusni ljudi - tada rizik neće prerasti u problem. Saznajte odakle dolazi rizik, što se može dogoditi, kako minimizirati rizik i što napraviti ako rizik preraste u stvaran problem u vašem web projektu.
Općenito govoreći, rizik proizlazi iz činjenice da je razvoj kvalitetnog, upotrebljivog, stabilnog i sigurnog softvera iznimno kompleksan posao koji obavljaju ljudi. S jedne strane razvoja softvera nalazi se razvojni tim (programeri, dizajneri, project manager, testeri, tehnička podrška), a s druge strane naručitelji. I razvojni tim i naručitelj samo su ljudi, a ljudi imaju tendenciju da pogriješe i da nisu savršeni. Iz te činjenice proizlaze svi rizici - prihvatimo to od početka i već smo uklonili četvrtinu mogućih problema.
Ovo je priča o nekim čestim rizicima koji mogu biti dio web projekata po mjeri, načinima na koje kvalitetan razvojni tim presreće te rizike i čini projekt uspješnim.
Projekt koji je upao u probleme ima neke od ovih, a nažalost najčešće i sve ove karakteristike:
Sva tri problema duboko su povezana jedan s drugim te postoji nebrojeno mnogo razloga zbog kojih projekt prerasta u projekt iz pakla. Finalna posljedica takvog projekta jesu narušeni odnosi između naručitelja i razvojne tvrtke, što može rezultirati prekidom poslovne suradnje.
Sreća je u nesreći da je struka vrlo detaljno dokumentirala obrasce rizičnog ponašanja u softverskim projektima. Dovoljno je pročitati dvije ili tri knjige da bi se znalo o čemu se radi. Razvojne tvrtke točno znaju koji su najčešći, a koji su najveći izvori rizika i problema i rizik je doista moguće držati pod nadzorom.
No, ovaj članak nije nastao na temelju literature, već na temelju iskustva. Ovakve stvari nemoguće je naučiti na tuđim greškama. Da biste mogli ukloniti sve probleme i uživati u uspješnim projektima, morate prvo iskusiti neuspješan projekt na vlastitoj koži. Vrijednost leži u naučenim lekcijama i poboljšanom procesu razvoja softverskih projekata koji sprečava buduća neugodna iskustva.
Samo hrabro i bez panike! Ako i dođe do nekih problema, neki od njih su trivijalni, garantirano. Drugi problemi zahtijevaju drukčiji pristup - budimo fleksibilni. Sve ostalo riješit će se uz obostrano razumijevanje, ali odustanite od razvojnog tima i nađite bolji čim vidite da nema dobre volje s druge strane.
Ovaj problem gotovo je uvijek vezan uz web development tvrtku, njene ljude i njen razvojni proces - iako u rjeđim slučajevima i neke klijentove akcije mogu dovesti do bugova u zadnji čas.
Tvrtka mora imati visoko motivirane i kvalitetne ljude kojima nije svejedno kakav kôd ostavljaju iza sebe. Njihov rad mora biti temeljen na kvalitetnim razvojnim alatima i okolinama koje podržavaju brz razvoj, rano uočavanje bugova, brzo uklanjanje bugova i sprečavanje ponavljanja istih bugova iz projekta u projekt. Kvalitetni developeri moraju imati podršku ostatka tima koji dogovaraju i provode projekt od početka do kraja.
Puno se rjeđe događa da se bugovi naprave u zadnji čas, iz razloga što je klijent 5 do 12 ubacio novu značajku u projekt i zatražio brzo dovršenje projekta s novom značajkom uključenom u projekt. Takva značajka može destabilizirati čitav sustav, pogotovo ako se ugrađuje pod pritiskom vremena. Rješenje je da se sve nove značajke implementiraju naknadno, kada će se imati vremena testirati cijeli sustav s novom značajkom.
Svaki softver ima bugove i nemoguće ih je sve pronaći i ukloniti. Najbolje što možete napraviti jest odabrati tvrtku koja se čini da ima sređen razvojni proces i kvalitetne ljude jer će takva tvrtka generirati neusporedivo manje bugova. No, teško je znati unaprijed tko kako razvija softver. Možete se voditi instinktom i, najbolje, nazvati par klijenata iz referenci web dizajn tvrtke i pitati jesu li imali problema s bugovima.
Vi na vrijeme pripremite sve materijale i budite sigurni da razvojni tim ima sve što mu treba za rad. Tako će oni moći početi raditi ranije i neće se gubiti vrijeme na organizaciju sitnica. To će vrijeme biti investirano na bolju pripremu dokumentacije za softver, a to će rezultirati manjom količinom bugova.
Za početak, naučite kako kvalitetno prijaviti bug da bi bio brže riješen. Tu ćete uštedjeti puno vremena i truda.
Zatim smanjite vremenski pritisak na razvojni tim, ako možete. Razvojni tim pod pritiskom stvara još više bugova. Ako je očito da ne možete imati i stabilan softver, i ispoštovan rok, odlučite što vam je od toga bitnije. Prihvatite situaciju kakva jest bez panike i budite fleksibilni za vaše vlastito dobro, čak i ako to znači da nećete odmah dobiti sve što ste naručili. Ako je rok isporuke projekta krucijalan, sami odgodite neke nebitne značajke koje još nisu implementirane, jer je bitnije popraviti bugove u postojećim značajkama bez kojih ne možete raditi. Manje bitne značajke uvijek možete dodati nakon pokretanja projekta.
Odgovor je jednostavan: "pretpostavke" i princip rada "lako ćemo". Kvalitetan razvojni tim nikad ne pretpostavlja što klijent zaista treba te unaprijed zna da ovdje negdje vreba rizik. Dovoljno je upotrijebiti zdrav razum i klijentu postaviti nekoliko suvislih pitanja o krucijalnim aspektima web aplikacije. No, umijeće postavljanja pravih pitanja stvara se godinama.
Između naručitelja i razvojnog tima inicijalno postoji manji ili veći jaz. Razvojni tim nikad ne može razumjeti sve o poslovanju svog klijenta, niti klijent može znati sve o razvoju web projekata.
Zato iskusan tim od prvog dana radi na edukaciji klijenta o tome što se nudi i što se dobiva, a istovremeno od prvog dana pokušava saznati sve o poslovanju klijenta - koliko god je potrebno da bi se izradio kvalitetan web projekt. Edukacija počinje još u prodaji i idealno, i klijent i razvojni tim do faze će razvoja projekta doći solidno educirani. Ako od prvog kontakta s web development tvrtkom nailazite na pitanja i još pitanja, to je dobar znak.
Iskusan će tim klijentu doslovno nacrtati i napisati ono što se misli implementirati. Drugim riječima, izradit će se funkcionalna specifikacija projekta, u fazi projektiranja sustava. Razvojni tim posjeduje alate i iskustvo s kojima su projektiranje i izrada prototipa zabavni i učinkoviti. Klijentu se prezentiraju modeli funkcioniranja projekta na način koji je klijentu jasno razumljiv i koji klijentu omogućuje da rano uoči nedostatke u vlastitim zahtjevima.
Iznimno učinkoviti razvojni timovi ponekad brže programiraju čitav sustav nego što bi trajalo projektiranje. Čak i ako se gotov programirani modul pokaže potpuno ili djelomično krivim, razvoj softvera toliko je brz da se novi modul može brzo ponovno programirati od nule.
Uz obostrano razumijevanje i ograničenja u vremenu i opsegu posla, značajka se može programirati ponovno ili na drugi način. Razvojnom timu objasnite zašto vam je ta značajka važna i što s njome želite postići, kako će vaše poslovanje napredovati ako radite na točno taj način. Kad ste sigurni da vas je razvojni tim u potpunosti razumio, prihvatite konkretno softversko rješenje koje će razvojni tim ponuditi za tu značajku. Često se događa da se način funkcioniranja web aplikacije izmijeni usred projekta jer su na sunce izašle nove bitne informacije, poput načina na koji će vama kao klijentu neka značajka donositi novac.
Ovaj se slučaj događa kada se istovremeno poklope dvije činjenice: klijent nije dovoljno definirao koji problem zaista rješava softverom, a razvojni tim nije vidio ili nije mogao znati da će isprogramirati krivu, tj. nepotrebnu stvar. Klijent pretpostavlja da programeri znaju sve o njegovom biznisu, tj. smatraju da je neki način poslovanja tako očit i svima poznat, da nije potrebno "gubiti vrijeme" na razgovore o tome. Razvojni tim pak, pogotovo ako do sada nije naletio na ovakav problem, adoptira stav da se problemi ne očekuju i ne postavlja pitanja - neka od kojih su iznimno bitna jer totalno mijenjaju web projekt kako ga je klijent zamislio.
Vi kao klijent nemojte pretpostaviti da razvojni tim išta zna o problemima koje namjeravate riješiti narudžbom web projekta. Počnite komunicirati rano; počnite od najbitnijih stvari, one koje će imati najveći utjecaj na vaše poslovanje. To znači da diskusija o boji ikonice u stupcu gore desno nije bitna u trenutku kada tek treba definirati na koji način će web projekt stvarati novac, štediti vrijeme ili raditi ono što kupujete.
Idealno, razvojni tim će inicirati komunikaciju, voditi vas kroz cijeli projekt i predlagati rješenja. Ponekad će ta rješenja drastično odstupati od vaših inicijalnih zamisli i vi ćete ta rješenja prihvatiti ako ste se do tog trenutka uvjerili da razvojni tim ima na umu uspjeh projekta i zna o čemu priča. Znat ćete da radite s profesionalcima po tome što će razvojni tim vatreno i s puno samopouzdanja zagovarati da se cijeli projekt ili neka njegova mala značajka odradi na točno određeni način.
Brzo napravite kratak sažetak onog što se trebalo napraviti da bi se spriječio problem i odlučite želite li ili ne ići u popravak web aplikacije (ili njen razvoj nanovo). Jeste li načelno bili zadovoljni razvojnim timom, je li njihov stav bio na mjestu, je li ta tvrtka ok ili nije? Ako je tvrtka ok, ona je najbolji izbor da iz drugog pokušaja napravi web projekt kako je trebao biti napravljen od prvog trena. No, ako vam neke druge činjenice govore da ste do sada imali posla s amaterima, nađite bolji razvojni studio i krenite s njima.
Trenutno nema komentara. Neka tvoj bude prvi!