Tag

,

Un progetto software, qualunque esso sia, nasce perchè c’è qualcuno che ha un problema da risolvere o una procedura complicata da semplificare.

Requirement

Requirement

Quindi la chiave di volta è proprio questo “bisogno”, una necessità, che un cliente o un utente ci esprime  sotto forma di richeste o Requirement.

Una Requirement quindi rappresenta una necessità che deve soddisfare le domande

– Why? perchè hai questa necessità?
- What? di cosa ha bisogno per soddisfare il tu bisogno.

In questo contesto  è importante  definire lo Spazio del Problema (Problem Space) ed avere una chiara e univoca idea del problema da risolvere.

Se la Requirement è il bisogno, la User Story rappresenta la descrizione di una possibile soluzione nello spazio del problema, solitamente ha un punto di vista strettamente funzionale. Va detto anche che una Requirement può dare luogo a  più User Story.

Queste ultime solitamente vengono descritte partendo dalla prospettiva dell’utente (User) e di solito si utilizza questa struttura:

AS A           <type of user>
I WANT     <some capabilities>
SO TAHT   <business value>

esempio

Come Cliente del sito pippo.it
Vorrei avere il cestino sempre in primo piano
In modo da controllare la mia spesa

Alla fine della nostra iterazione lavorativa abbiamo fatto il task relativo alla User Story, ma quando possiamo dire che una User Story è stata completata realmente? Cioè quando soddisfa i Requirement del nostro utemte?

Acceptance Criteria

Ci servono dei “test di accettazione”, quello che prende il nome di Definition of Done, ossia una certificazione per dichiarare chiusa la storia. A questo scopo ogni User Story deve avere dei Criteri di accettazione (Acceptance Criteria) che definiscono quando l’utente può ritenersi soddisfatto e dichiarare quindi  la Storia conclusa e  di conseguenza la relativa Requirement soddisfatta.

I criteri di accettazione possono essere negoziati con il team di sviluppo. e il product owner. Anche per i criteri di accettazione esistono  delle formule che possono semplificare la scrittura :

GIVEN     <context>
[ AND       <context> ]
WHEN     <action>
THEN       <exoected result>

esempio

Accedo al sito pippo.it con le mie credenziali
e faccio shopping nel sito
quando navigo in altre sezioni del sito
vorrei avere una sezione con il parziale della spesa fatta finora.

In conclusione i Requirements sono descrizioni di necessità, bisogni di un utente per un determonato prodotto e descrivono il problema. Dai Requirements determiniamo delle possibili soluzioni implementative le User Story che risolvono il problema dell’utente solo se passano i criteri di accettazione.

About these ads