Povești utilizator ( ing. Povestea utilizatorului ) - o modalitate de a descrie cerințele pentru sistemul dezvoltat, formulată ca una sau mai multe propoziții în limba de zi cu zi sau de afaceri a utilizatorului. Poveștile utilizatorilor sunt folosite de metodologiile agile de dezvoltare software pentru a specifica cerințele (împreună cu testele de acceptare ). Fiecare poveste de utilizator este limitată în dimensiune și complexitate. Adesea povestea este scrisă pe o carte mică de hârtie. Acest lucru asigură că nu devine prea mare. În Extreme Programming , poveștile utilizatorilor sunt scrise de utilizatorii (clienții) sistemului. În metodologia SCRUM - sunt verificate de utilizator în rolul de „Product Owner” ( Proprietar de produs englez ). Pentru clienți (utilizatori), poveștile utilizatorilor sunt instrumentul principal pentru influențarea dezvoltării software.
Poveștile utilizatorilor sunt o modalitate rapidă de a documenta cerințele clienților fără a fi nevoie să dezvolte documente formalizate extinse și, ulterior, să cheltuiască resurse pentru întreținerea acestora. Scopul User Stories este de a putea răspunde rapid și eficient din punct de vedere al costurilor la cerințele din lumea reală în schimbare rapidă.
Povestea utilizatorului rămâne o definiție informală a cerințelor până când există o procedură de testare a acceptării. Înainte de a implementa o poveste de utilizator, clientul trebuie să definească o procedură de acceptare adecvată pentru a se asigura că obiectivele poveștii de utilizator au fost atinse.
În Extreme Programming (XP), poveștile utilizatorilor sunt create împreună de dezvoltatori și un reprezentant al clienților. Clientul este responsabil pentru formularea poveștii. Dezvoltatorul poate folosi o serie de întrebări pentru a împinge clientul și pentru a afla dacă este nevoie de anumite funcționalități specifice. Dar, în același timp, dezvoltatorul trebuie să aibă grijă să nu domine procesul de creare a unei idei.
Odată ce clientul creează o poveste, aceasta este scrisă pe o fișă mică (ex. 8x13 cm) cu titlul și descrierea furnizate de client. Dacă dezvoltatorul și clientul văd că povestea nu le convine (prea mare, complexă, inexactă), se rescrie până când le satisface ambele părți. Cu toate acestea, Extreme Programming subliniază că poveștile utilizatorilor nu ar trebui să fie finalizate în momentul scrierii, deoarece cerințele tind să se schimbe în timp în timpul dezvoltării.
În metodologia XP, poveștile utilizatorilor sunt rezultatul planificării și definesc ce ar trebui implementat într-un proiect software. Poveștile utilizatorilor sunt prioritizate de client în funcție de importanța lor pentru sistem, defalcate într-o serie de sarcini și evaluate de dezvoltatori.
Imediat înainte de implementare, dezvoltatorii pot discuta povestea cu clientul. Poveștile pot fi greu de înțeles, pot necesita cunoștințe specifice sau cerințele s-ar putea să se fi schimbat de când au fost scrise.
Fiecare poveste de utilizator trebuie să aibă unul sau mai multe teste de acceptare atașate la un moment dat. Acest lucru permite dezvoltatorului să știe când povestea utilizatorului este gata și cum o poate verifica clientul. Fără formularea precisă a cerințelor în momentul livrării produsului, pot apărea dezacorduri neconstructive pe termen lung.
XP și alte metodologii agile favorizează comunicarea față în față față de documentația cuprinzătoare; adaptare rapidă la schimbări în loc de fixare asupra problemei. Acest lucru se realizează prin:
În timp ce poveștile utilizatorilor și cazurile de utilizare servesc aceluiași scop de a documenta cerințele utilizatorilor în ceea ce privește interacțiunea dintre utilizator și sistem, există diferențe între cele două.
Poveștile utilizatorilor sunt o reprezentare mică și ușor de utilizat a informațiilor. Sunt formulate în limbajul de zi cu zi al utilizatorului și conțin mici detalii, rămânând astfel deschise interpretării. Ele ajută cititorul să înțeleagă ce ar trebui să facă sistemul.
Cazurile de utilizare, spre deosebire de poveștile utilizatorilor, descriu un proces și pașii acestuia în detaliu și pot fi formulate în termeni de model formal. Scriptul este autosuficient. Acesta oferă toate informațiile și detaliile necesare pentru a înțelege. Un scenariu este descris ca „o descriere generalizată a unui set de interacțiuni între un sistem și unul sau mai mulți agenți, în care agentul este un utilizator sau un alt sistem”.