Korisnikovi zahtevi– zapovest, sugestija ili šum?

“Da sam pitao kupce šta je to što im treba, rekli bi mi da žele brže konje.”,
Henry Ford

Slušati ili ne korisnika kod izrade knjigovodstvenog programa

U članku o tome zašto su S+S desktop knjigovodstveni programi pravi put, Neđo je ostavio komentar gde se pita da li su zahtevi koje on ima stvarno “normalni”, kad nijedan program ih ne podržava u potpunosti.

Ja sam načelno o ovoj temi već pisao ovde, ovde i ovde.

Za one koji nisu stigli da pročitaju te tekstove, oni se svode na to da:

  • programi treba da se prave po meri korisnika, a ne po meri programera.
  • program treba da se prilagodi korisnikovom poslu, a ne obratno
  • kupovina gotovog programa je u većini slučajeva mirenje sa činjenicom da nećete baš sve moći da radite kako vi želite već ćete morati da se prilagodite “proseku”.

I da li to znači da je “korisnik uvek u pravu”?

Evo dva primera iz moje prakse koji možda daju odogovor na to pitanje…

Korisnik je uvek u pravu

Kada sam radio program 2002-e, kao i svaki drugi progamer nisam baš mnogo mario za korisnike već sam sve arogantno naravno radio onako kako sam “znao zasigurno” da treba. Jedan od modula tog knjigovodstvenog programa je bila “prodajna kasa za prodavnice”.  Modul je radjen namenski za poznatog kupca koji je imao više prodavnica sasvim pristojene veličine, te nakon mesec dana rada jednog ponedeljka smo ga pustili u upotrebu u 9 sati ujutru u jednoj od prodavnica. Nije prošlo ni dva sata, mobilni zvoni, ja se javljam a sa druge strane vlasnik prodavnice urla da smesta dodjem do njih. Ja otrčim do prodavnice prepitujući se uz put šta bi moglo da “pukne”… Na vratima poradavnice ga pitam da li je program pao, on kaže da nije (ja sav zbunjen odgovorom) i samo me  sprovede do kase za naplatu na kojoj me dočekuje kasirka sva crvena od suza. Ja je pitam je šta je bilo – ona mi samo pokaže red ljudi koji ceka na naplatu. Naravno svi namrgodjeni, psuju kompjutere i “majstora” i prodavnicu. Neki odlaze ostavljajući korpe što vlasniku radnje naravno "diže pritisak na 300.
Ja je malo smirim i napokon čujem sta je razlog: nakon ukucanog bar koda mora da se pritisne enter. Prvih 30 sekundi mislim da se šali sa mnom dok mi ne pokaže kako to izgleda u praksi. Prevuče artikal na traci preko bar koda na pultu, okrene se za 180 stepeni, pritisne enter, 180 stepeni itd… Produktivnost na nuli.

Poenta ovog primera je da za mene kao programera koji testira aplikaciju to pretiskanje entera nakon unesenog bar koda na numeričkoj tastaturi je podrazumevajuće. Za stvarnog korisnika u stvarnom svetu, to je i te kakav problem.

Sve to nastalo usled moje arogancije prema krajnjem korisniku: ja znam najbolje šta tebi treba.

Korisnik nije uvek u pravu

Druga jedna prodavnica, 6 meseci kasnije program već “fercera” na nekoliko mesta. Dolazi vlasnik prodavnice koji ima “server” Pentium II na 233 Mhzmašinu i “stanice” Pentium I na 133 Mhz. Naravno i 20.000 artikala koje hoće da prodaje. Čisto ilustracije radi u to vreme konfekcijska konfiguracija je bio Pentium IV na 1200 Mhz. Na moje sugestije da kupi nove mašine, korisnik samo odgovara:”Ali ja njih koristim sa programom koji već imam. Šta je problem?” Naravno moj program spor na tim mašinama, ja potrošim 3 meseca prepravljajući kod da radi sa memorijskim matricama umesto sa bazom. Naravno kreiram time i 100 grešaka zbog kojih su i ostali klijenti ispaštali.Na kraju, kada sve to proradilo nekako on odustane i odluči se da kupi drugi program,  naravno kupivši tri nove mašine na zahtev autora tog programa. Smile

Pored tog drastičnog primera situacije koja vapi za jednim “Ne!” korisniku, bilo je to milion situacija “dodaj meni ovu mogućnost koju ću ja da uključim u opcijama pa neće drugima da smeta” što rezultuje papazjanijom od koda i smanjenom upotrebljivošću aplikacije. Opet primer kada treba reći “Ne!” korisniku.

I? Slušati ili ne?

Moje pravilo je “Posmatraj sve, a slušaj pomalo”.

Sve odluke o funkcionisanju i izradi knjigovodstvenog programa treba da donese autor programa iz prostog razloga što je to njegov proizvod za koji on lično garantuje svojom stručnošću. To naravno uopšte ne znači da treba ignorisati korisnika, već da se prema tim zahtevima treba odnositi kao prema sugestijama koje vi treba da razmotrite da li je implementiranje toga u interesu vaših korisnika ili ne.

Korisnici često u svojim zahtevima od autora zadiru u sferu implementacije “Kreiraj mi tabelu u FAK bazi za rabate”, “Dodaj mi meni za to sa stavkom tom”….  Nisu oni krivi, programeri su ih navikli lošim kvalitetom svojih aplikacija da svako od njih mora da zna da “vrši manje opravke” na svojoj aplikaciji.

Korisnici često svoje zahteve baziraju na bazi shvatanja formiranih korišćenjem svojih trenutnih (često loših) programa. “Vidiš kako ovde pretisnem F6 pa mi se pojavi šifarnik kupca, pa unesem šifru i 2x enter? E isto tako!”

Takve zahteve treba po meni veoma kritički prihvatati – granica mora da postoji. Korisnici su eksperti u vršenju svoje poslovne delatnosti, mi smo eksperti u izradi informacionih sistema. Dijalog treba fokusirati uvek na konkretne primere obavljanja poslovne delatnosti:”Kako radite to bez kompjutera?” na primer. Često kada niste iskusni u usmeravanju tih razgovora (kao što programeri misle da korisnici nemaju pojma, tako i korisnici misle da programeri nemaju pojma samo komplikuju stvari pa će oni da im objasne kako da odrade svoj posao) jedino što vam preostaje je da odete kod klijenta ujutru, popijete kafu uzmete stolicu i sednete u ugao kancelarije tako da za sat vremena zaborave da ste tu. Tad posmatrate koje probleme imaju u vršenju svoje delatnosti i dodjete do raznih zaključaka šta ne štima u stvarnosti.

Efekti observacije na funkcionalnost knjigovodstvenog programa po mom ličnom iskustvu su fantastični po korisničku produktivnost i uopšte zadovoljenost programom. Mi smo na kraju merili koje se opcije najviše koriste i koliko klikova, menija i tastera korisnik treba da pritisne do tamo. I taj proces ponavljati iterativno dok se efektivnost korišćenja aplikacije ne podigne na realno dostižan makismalan nivo.

Svaki put kad se korisnik uhvati za olovku da zabeleži podatak iz vašeg programa, propust u vašem programu. Svaki put kad knjigovodja koji unosi kalkulaciju od 10.000 stavki dotakne miša tokom tog unosa, propust u vašem programu. Svaki put kad korisnik odštampa cenovnik u wordu, računa porez u excellu da popuni formular, pretura po stolu prepunom papirića da nadje neki podatak koji mu treba za rad – vaša greška. Svaki put kad vam korisnik zahteva da dodate u program neku mogućnost koju u najboljem slučaju možda samo on bude koristion, i vi to prihvatite – vaša greška. 

Nije nijedan korisnik kriv što su nam aplikacije manjkave u jednom delu ili prenatrpane u drugom funkcijama. Krivi smo mi što ga ili nismo slušali ili što smo bili arogantni ili što možda nismo dovoljno stručni da to što treba odradimo kvalitetno i jednostavno.

Ja sam lično otvorio “4 oka i 4 uha” i upijam sve što čujem, pa tako eto – izvoljevajte – sad je pravi trenutak za to što se mog programa za knjigovodtvo tiče. Smile

Slušajući,

Nikola TheEmpath Malović

2 thoughts on “Korisnikovi zahtevi– zapovest, sugestija ili šum?

  1. Teoretski se slažem sa Vama 100%, samo to u praksi jako teško funkcioniše. A zašto. Mi Srbi ili bolje rečeno Balkanci imamo neodoljivu potrebu da sve uradimo sami (ako sam dobro shvatio Vaš trenutni posao se svodi koordinaciju timova na pojedinim projektima, pa će te Vi verovatno izbeći tu zamku) , a u većini slučajeva to ispadne loše ili puknemo negde u sredini ili pri kraju (čini mi se da je Blue Soft dobar primer za to) Nema osobe na svetu koja je u stanju da prati, a kamoli još i razvija sve opcije jednog programa. Primerice u Blue Softu niko, ali baš niko nije u stanju da Vam kaže kako šta radi, a ima i gomila dugmića za koju bi se dobro pomučili da Vam objasne šta znače, a kamoli dali i kako rad. Za iole ozbiljniji program moraju postojati pojedinci zaduženi za određene segmente programa (u svakom smislu te reči) kako za njegovo razvijanje, tako i pružanje pomoći i osposobljavanje onih koji pružaju implementaciju ili daju tehničku podršku. Sistem „svi-sve“ u iole ozbiljnijem programu vrlo brzo puca. Do sada sam se uverio da svi programi koje sam isprobao, ili bio na prezentacijama završavaju tako. Iskreno se nadam da Vaš neće. Vi ste u pripremu realizacije programa utrošili Više vremena, energije i znanja nego Blue Soft u razvijanje i poboljšanje svog programa u zadnjih par godina. Nadam se da će i rešenje koje treba da proiziđa iz takvih priprema biti adekvatno. Za sada nemam sumnje.
    PS
    Inače ja nisam u zadnjih par godina bio spreman da plaćam i pravim odelo po meri, nego sam tražio nešto konfekcijski, ali i to odelo mora da ima i džepove, i rukave (možda malo duže ili kraće ali ih ipak ima), jednom rečju mora da bude odelo i da vrši svoju osnovnu funkciju, a o komociji ću razmišljati u neka druga vremena.
    Znači bilo kakva logika, ali doterana do kraja i bez papira i olovke. Samo to.

  2. To je zato što današnji prosečan Srbin razmišlja šta je minimum koji mora da odradi da bi došao do „cash-pointa“, tj. da inkasira sredstva. A o „danu posle sutra“ ćemo razmišljati kad se dođe do toga (kao da je to godinama daleko. Tako je i u mom poslu, tako je kod većine pružaoca usluga.
    Ono što nikako ljudima ne ulazi u glavu je da korisnik ne plaća moj rad radi mog rada, već radi zadovoljenja njegovih potreba. Tako i kod budućeg savršenog (obećano) programa, korisnik prilikom kupovine programa ne plaća jer želi program već želi zadovoljenje svojih potreba.
    Zato mislim da će ovaj program napraviti razliku, jer je autor uočio konceptualni problem i pristupio poslu iz pravog ugla.
    Da se dalje osvrnem na tekst, bitna je i svesnost o tome da ne treba ići iz krajnosti u krajnost u smislu ispunjavanja „muzičkih“ želja. Pošto je odnos moje firme prema korisnicima koncipiran na sličan način kao i odnos autora ovog bloga, možda će mu biti interesantno da pročita: http://www.automatic-house.rs/postavljanje-instalacija.html
    Mom korisniku je omogućeno da mašta u nedogled sa zahtevima, neki će biti neposredno sprovedeni u delo, neki prilagođeni tehničkim i zakonskim propisima (čitaj: normalnosti) pa sprovedeni u delo dok će ostali biti na licu mesta odbačeni ali OBAVEZNO uz obrazloženje.
    Nidžo, još jednom thumbs up uz savet da proširiš teren na kojem vršiš sondiranje.

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *

Real-user monitoring for Accessibility, Performance, Security, SEO & Errors (SiteLint)