Kaip pranešinėti apie programinės įrangos klaidas?

2012 Birželio 22 d  •  Remigijus Jarmalavičius  •  Atviras kodas

Programinės įrangos klaidų pranešinėjimas yra labai įprastas dalykas.
Praktiškai visoje programinėje įrangoje būna klaidų/defektų, kurie buvo
nepastebėti laiku iki jos išleidimo. Gerai bent jau tai, kad dažniausiai
šios klaidos taisomos nemokamai. Tačiau čia labai svarbu padėti patiems
programuotojams greičiau išspręsti šias problemas.

Man gaila įmonėse dirbančių support žmonių kurie dažnai susiimdavo už
galvos pamatę kokį klientas atsiuntė klaidos pranešimą ir bebandydami su
piktu klientu išsiaiškinti kas negerai. Iš tiesų, šis straipsnis skirtas
būtent jų klientams :)

Tvarkinga PĮ - klientų pagalba. Klaidų programinėje įrangoje
dažniausiai būna visada, jokia nuostaba. Jos nebūtinai atsiranda dėl
darbuotojų kompetencijos trūkumo. Tai gali būti laiko, testavimo ar
išsiblaškymo problema. Bet jeigu norite gauti tvarkingą PĮ - privalote
gerai aprašyti kas konkrečiai veikia nekorektiškai. Taip darbuotojai
nepraleis laiko ieškodami kas prastai veikia, nereikės papildomai
komunikuoti dėl to paties. Taigi - laikas bus sutaupytas abiems šalims.

Atminties trūkumas? Dažnai pasitaikydavo praktikoje ir matydavau
kitų projektuose, kad patys klientai mano, jog Jūs puikiai žinote apie
ką eina kalba ir į detales nereikia smulkintis. Todėl klientai vienu dar
dviem žodžiais nusako problemą. Tačiau dažnai tie patys programuotojai
turi net ne vieną projektą, arba per pastarąjį pusmetį dirbo prie kelių,
todėl gali tiesiog neatsiminti smulkių detalių apie Jūsiškį.

Neaiškios nuotraukos. Esu ne kartą matęs, kaip klientai atsiųsdavo
langą, kuriame nieko blogo iš pirmo žvilgsnio nesimatė. Ir pasirodo:
klientas pamatydavo, kad vienoje eilutėje šriftas kitoks, arba kad kur
nors mažytės linijos neprasitęsia per visą reikalingą bloką.

Neaiški problema. Dar viena didžiulė bėda - nepaaiškinimas kur yra
problema ir kokia. Tikrai ne kartą esu matęs tokį klaidos pranešimą kaip
„Blogai veikia X.“, o atidarius „X“ nerasdavai nieko blogo.

Tai kaip apie jas pranešinėti? Man visada patiko „bug trackeriai“
atviro kodo pasaulyje. Jų formose dažniausiai prašoma tokios
informacijos, kas mano manymu, jeigu šią pildytų visi klientai ir
formato laikytųsi, klaidos būtų taisomos žymiai greičiau. Ten prašoma
atsakyti į tris klausimus prieš pildant klaidos pranešimą. Manau, kad ši
informacija yra labai reikalinga efektyviai ir greitai išspręsti
problemas. Plačiau apie juos.

Kokie veiksmai iki klaidos buvo vykdomi? Dažnai tai būna operacijų
sąrašas iki pamatant klaidos pranešimą. Kokie buvo veiksmai vykdomi,
kokiu klientu buvo prisijungta prie PĮ, kokia tvarka buvo vykdomos
operacijos, kokia informacija buvo pildyta formose ir pan. Tai turi būti
nuoroda kokius veiksmus reikėtų atlikti, kad atkartoti klaidą.

Kokio rezultato tikėtasi? Būtina nusakyti, kad programa atliktus
prieš tai išvardintus veiksmus turėjo lankytojui gražinti konkretų
rezultatą X, tačiau…

Koks rezultatas buvo gražintas? Klientas pastebėjęs nekorektišką
vietą privalo kuo detaliau ją aprašyti: kas ir kurioje vietoje
neteisingai atvaizduojama. Galbūt toks atvaizdavimas nekorektiškas būna
ne visada, o tik atliktus kažkokius konkrečius išskirtinius veiksmus?

Kartais klaidos pasirodo tik naudojant tam tikrą operacinę sistemą,
kokią nors naršyklę (arba net jos versiją), Internet Explorer (Internet
Explorer nėra naršyklė, tai programa neteisingai atvaizduojanti
interneto puslapius) arba į kompiuterį įdiegus įvairias programas
(pavyzdžiui antivirusines), kurių „pagalba“ blokuojamas kažkoks
funkcionalumas.

Klaidų neturi būti. Esu nusistatęs, kad klaidų neturi būti tuo metu,
kai kažką darai naujo. Pirmiausiai reikia ištaisyti klaidas - vėliau
kurti funkcionalumą. Čia daugumos Lietuvos įmonių, su kuriomis teko
susidurti, problema. Persipildę „bug trackeriai“ dažnai įmonės vardą
neša žemyn, klientai būna nepatenkinti, o ir pati įmonė nespėja visko
laiku.

Taigi, pagailėkite support žmonių. Padėję jiems, padėsite greičiau savo
projektams korektiškai veikti.