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

2012 birželio 22 d. 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.