Pe rapoarte eficiente bug

Ai pus ibricul pe aragaz, porniți lumina de fundal pe ea, pentru a vedea ce gustoase într-o tigaie din apropiere te-soț și ceva lumină și acolo. După cum i-ai spune despre asta?

„Dragă, schimba un bec în bucătărie“ sau „Darling, există acest lucru nu strălucește“? În acest moment, favorit delves în cea mai recentă versiune de subversiune, încercând să dau seama cum să fuzioneze cele doua arhive și lumina ta să-l - la bec.

Cum să-i spun despre iluminat? Mai precis, așa că hai să ne întrebăm: ce a spus despre lumina, astfel încât el a auzit, observat și să înțeleagă în mod clar care este problema?

Aceasta se numește un „raport de eroare» (raport de eroare), raportați defectul. Acest concept vine din domeniul dezvoltării de software, dar se referă la comunicarea umană în general. Nu că a fost foarte mult o parte importantă din viața noastră, dar bine să știe cum să acorde o atenție la oameni și colegii de la problema. Mai mult decât atât, pentru că noi nu urmăresc să atragă atenția asupra pur și simplu problema, chiar faptul existenței sale. Este important ca interlocutorul nostru a înțeles, ce anume esența ei și că, pe fundalul minții lui filat imediat soluții de căutare.

Fuzzy raport de eroare ( „în cazul în care acest lucru nu strălucește“) va avea în continuare pentru a reduce (rafina) la distincte. Dar va lua timp și clarificări suplimentare ( „Ce lucru? Și de ce crezi că ar trebui să strălucească?“) Pentru a ajunge la nu vor funcționa fără nervi. Iar nervii ar trebui să fie protejate.

Programatorii obișnuiți să formuleze în mod clar gândurile (bine, bine, asta e un compliment), a ajuns la o formulă simplă prin care puteți comunica reciproc despre problemele de mai mulți ani dezvoltarea industriei.

Formula rapoarte de erori perfecte

Formula rapoarte de erori perfecte este format din trei puncte de simplu:

Ce să fac?
(Pași necesari pentru a reproduce problema)

Ce se întâmplă?
(Rezultatele reale)

Asta se așteaptă pentru a obține?
(rezultate așteptate)

În plus, nevoia de a spune exact în cazul în care a apărut problema, în ce condiții și pentru a da numele erorii.

„Dragă, am pornit lumina de deasupra sobei pentru a vedea ce ai pregătit delicioase, și nu arde. N-ai putut vedea ce a fost? "

Ceea ce a făcut. pas cu pas instrucțiunile specifice ce trebuie să faceți pentru a reproduce defectul.

Acesta a primit. Acest lucru a fost obținut ca urmare a acestei instrucțiuni. De fapt, defectul.

Ce să se aștepte. Ce ar fi fost, în funcție de reporter, care rezultă în punerea în aplicare a acestor instrucțiuni.

Condiții. Ceva ce nu este o acțiune, dar ceea ce este important. De exemplu, o aplicație Web trebuie să menționeze browser-ul / OS.

Nume. Aceasta este o foarte scurtă descriere a problemei sau a unei părți a acesteia, care numai pot fi formulate. Folosit pentru comunicare orală, pentru rapoarte și liste de erori, etc.

Aceasta este - o formă foarte utilă:
  1. Este transparent. Ea nu permite un reporter să se abată de la difuzare stilul narativ sau fluxul conștiinței;
  2. Pentru că este dificil să se scrie altceva decât rapoarte de erori. Ca urmare, scade nivelul de zgomot în informațiile de lucru;
  3. Este ușor de verificat. Ie urmând acești pași, putem obține același rezultat și confirmă existența defectului; sau pentru a obține un rezultat diferit, și de a crea un nou raport de eroare; sau pentru a atinge rezultatele așteptate și de a respinge raportul de eroare;
  4. Acest raport de eroare arată în mod clar, în cazul în care este valabil, de exemplu, dacă această situație este un defect. Dintr-o dată, și este necesar să se lumina pe aragaz nu arde, pentru că acolo nu este furnizat, iar comutatorul de mers în gol, din motive necunoscute set misterioase din China?
  5. Această formă de comunicare elimină excesul (întrebări extrem de enervant Limpezire comune);
  6. Acest formular este ușor de a instrui utilizatorii narcotizant; Doar două sau trei zile, accese de furie si colegii tai vor învăța să comunice în mod clar;
  7. vă spune să rapoarte de erori, care este de așteptat să vadă utilizatorul, este astfel, deoarece confirmă faptul că el deține sistemul și să înțeleagă modul în care ar trebui să funcționeze în acest caz;
  8. Acest raport de eroare nu motivează persoana responsabilă să-l conectați într-un colț de departe și să uitați cât mai curând posibil;

Și acum - slide-uri

O greșeală tipică făcută de către utilizator a spus:

Nu se poate conecta

Mă așteptam să primesc:
1. „parolă incorectă“ formular de autentificare cu diagnosticul sau
2. Pagina principală a sistemului pentru utilizator

Termeni și condiții:
MSIE 4.01 / Windows ME

O greseala tipica a fost observat de către administratorul de sistem:

Ceea ce a făcut:
Lansat repornire /etc/init.d/exim4 pe serverul lopata.something.com

Am primit:
atingeți: `/ var / lib / exim4„: directorul nu a fost găsit

Ce să se aștepte:
exim repornite, mesajul Ubuntu standard despre repornirea cu succes a serviciului

O greseala tipica a fost observat de către un programator:

Ceea ce a făcut:
utilizați dbPeerAccessor;
utilizați DBI;

mi $ dbh = DBI-> conecta ( "dBi: mysql: TELME", "TELME", "TELME");
mi $ dbAccess = $ dbPeerAccessor-> nou ($ DBH);

Am primit:
$ DbAccess-> versiune () == undef

Ce să se aștepte:
$ DbAccess-> versiune () == "1.3.0";

Termeni și condiții:
încredere: htdocs Egor $ mysql -utelme -ptelme TELME
Bine ați venit la monitor MySQL. Comenzile se încheie cu; sau \ g.
Dvs. conexiune id MySQL este 302
Versiune server: 5.0.51 Sursa de distribuție

De tip „ajutor;“ sau „\ h“ pentru ajutor. „\ C“ de tip buffer pentru a șterge.

Apropo, acest tip de rapoarte de erori (cod), în general, pot fi raportate sub formă de teste (redus de caz test), la fel ca aici, doar un singur întreg script. De exemplu:

utilizați dbPeerAccessor;
utilizați DBI;

mi $ dbh = DBI-> conecta ( "dBi: mysql: TELME", "TELME", "TELME");
mi $ dbAccess = $ dbPeerAccessor-> nou ($ DBH);
printf ( "dbPeerInstance este% s \ n",
definit $ dbAccess-> versiune (). „Definit“. "Nedefinită");

O greseala tipica a fost observat de către managerul de proiect:

„Am uitat parola“ ar trebui să funcționeze în mod diferit

Am primit:
1. „Vei fi trimis o nouă parolă“
2. Este o scrisoare care a fost generat de noua parolă
3. Această parolă nu funcționează, vechiul nu este de lucru

Ce să se aștepte:
În conformitate cu poveștile noastre de utilizator, scrisoarea nu a venit o nouă parolă, și un link către pagina de unde utilizatorul poate crea o nouă parolă

O greseala tipica a fost observat de CFO:

De ce un astfel de locuri scumpe?

Notă - text opțional la un raport de eroare a fost scris tocmai pentru această formă, dar este important ca exista informațiile necesare. Exemplul programator și ultimul exemplu ilustrează perfect modul de a scrie un raport bun bug cu informații complete, fără a recurge la „Ce am văzut?“, Etc.

Fără durere - nici un câștig

Ei bine, a înregistrat pacientul nu necesită anestezie.

Există un punct important care trebuie să fie luate în considerare în punerea în aplicare a acestei forme de rapoarte de erori de aici (de fapt - un proces de afaceri) în echipa ta. Faptul că nimeni nu se consideră un prost; dimpotrivă, găsi un bug, utilizatorul poate simți imediat creatorul sistemelor inteligente. Chiar și inconștient. Prin urmare, fiind în contextul defectului detectat, utilizatorul va fi complet confortabil si sa se simta increzator, completand formularul de raport de eroare „nu funcționează, perioadă.“

Prin urmare, introducerea formei formale stricte de rapoarte de erori va fi dureros pentru comunitate. Și dacă pentru personalul IT această durere este experimentat destul de repede, din moment ce toate - oamenii raționali, introducerea de echipa de IT la distanță va fi simtit foarte. Raportul Bug aduce transparență în muncă, și transparență necesită un efort. Și nu orice persoană care, în principiu, puterea de a realiza ceea ce „context“ și de ce cealaltă persoană nu înțelege, pentru că este atât de simplu, programul nu funcționează, a se vedea aici.

Am să pună în aplicare acest „proces de afaceri“, în întreprindere, în cazul în care utilizatorii comunică doar cu managerul pentru a lucra cu clientii. Acesta primește comentariile utilizatorilor și umplerea lor rapoarte de erori. Ca orice umanist, ea a crezut linii gratioase si scrie direct si tocit raport de eroare a fost foarte dificil. Acestea au fost lacrimi, istericale și insulte la mine, șeful unității. lacrimi Complet sincere! Și, cu toate că am fost rău pentru ea și nu a vrut să provoace o durere persoană, cu toate acestea, am refuzat un raport de eroare pentru raportul de eroare până când a învățat să nu scrie acest formular simplu. A fost nevoie de aproximativ trei zile. Printr-o câteva zile, ea a fost pe complet automate a scris rapoarte de erori frumoase, iar după o săptămână, s-a dat seama de valoarea acestei abordări și a devenit un susținător. Productivitatea muncii sale a crescut, iar clienții au început să rezolve probleme operaționale.

În acest sens, pot recomanda următoarele. Punerea în aplicare a acestei abordări ar trebui să aibă loc în cadrul companiei prin forță. Ar trebui să fie impusă pe cap, și numai atunci, când managerul personal să înțeleagă de ce este necesară această violență și ce va primi câștigurile de la compania.

Numele meu este Egor Egorov. I - tehdir și co-proprietar Treebune.net, Manager de proiect si programator cu peste 20 de ani de experiență, un specialist în sisteme de așteptare și de jurnalist prin formare. Citește mai mult.

articole similare