SlideShare a Scribd company logo
1 of 38
INVESTire
in buone storie
Le richieste del nostro progetto sono
         definite tramite le
              User Story
            (Storie utente)
Una user story è la descrizione di quello
che l'utente vuole ottenere dal sistema
Le user story sono legate alle descrizioni
            delle funzionalità
Le user story esaltano il ruolo dell'utente...
...lo scopo che cercano di ottenere...
...e il valore di tale scopo
Possono definire l'USO
Come <tipo di utente>
Voglio <ottenere un obiettivo>
In modo da <avere un valore>
Come correntista
    Voglio il mobile banking
In modo da pagare i conti con lo
          smartphone
Possono definire il COMPORTAMENTO
Quando <situazione iniziale>
   Se <effettuo un'azione>
Allora <ottengo un risultato>
Quando lo schermo dello smartphone indica
                  “Paga”
           Se premo il pulsante
     Allora si verifica la transazione
Non è una richiesta tecnica
        Non è un contratto
Non è un piano di sviluppo software
Come per i libri, ci sono storie   buone
           e storie   cattive.
Per ottenere obiettivi sensati
(S.M.A.R.T.) bisogna investire
(I.N.V.E.S.T.) nelle user story
SMART

        Specifici
        Misurabili
        Accettati
        Realistici
        Temporizzati
INVEST
         Independent
         Negotiable
         Valuable
         Estimable
         Sized right
         Testable
Independent
Negotiable
Valuable
Estimable
Sized right
Testable
Le storie non sono scolpite
         nella pietra
                                Independent
                                Negotiable
      Né sono perfette
                                Valuable
   Il dettaglio può essere
eccessivo. Occorre verificare
                                Estimable
        con il cliente          Sized right
 Senza esagerare...alcune       Testable
   limitazioni sono fisse
Devono mostrare qual è il
vantaggio per il cliente e altri
                                   Independent
   partecipanti al progetto
                                   Negotiable
Servono ad evitare le “storie      Valuable
         tecniche”
                                   Estimable
                                   Sized right
                                   Testable
Il dettaglio deve essere
 sufficente per stimare quando
                                      Independent
          tempo servirà
                                      Negotiable
   Ogni team avrà una stima           Valuable
   diversa (ma consistente)
                                      Estimable
Scale: lineari, fibonacci, T-shirt,
                ore
                                      Sized right
                                      Testable
 Spesso si usa il Planning Poker
Le storie devono essere
  completabili in un'iterazione
                                      Independent
                                      Negotiable
Più si è vicini al lavoro, più deve
         essere specifica.            Valuable
 Si può partire con storie molto      Estimable
   grandi ma dovranno essere
 spezzate (modello a piramide)        Sized right
                                      Testable
Independent
Storia
         Negotiable
         Valuable
Tema
         Estimable
         Sized right
Epica
         Testable
I criteri di accettazione fanno
 diventare realtà le user story
                                  Independent
                                  Negotiable
Assicurano che il risultato sia
 quello previsto dal cliente      Valuable
  I test dovrebbero essere
                                  Estimable
 automatizzati (se possibile)     Sized right
 Non si dovrebbe iniziare la      Testable
codifica prima di avere chiari
   criteri di accettazione
Come giocatore
Voglio che il nemico
  reagisca quando è
  stato colpito
Per capire se l'ho colpito
Come giocatore               Quando il nemico è
Voglio che il nemico           colpito in testa, fa un
  reagisca quando è            passo indietro
  stato colpito              Quando è colpito al
Per capire se l'ho colpito     braccio, si gira
                             Quando è colpito ai
                               piedi, solleva i piedi
                             Quando lo manco, non
                               fa nulla
                             Quando colpisco un
                               oggetto, non fa nulla
Come si fa ad ottenere delle buone storie
                 utente?
Come per i libri e i film:
       Avere un protagonista
    Avere una trama avvincente
Avere un lieto fine, che non lascia in
               sospeso
     Dare qualcosa al pubblico
Identificare l'utente (non generico)

Identificare l'interazione utente-prodotto

  Schematizzare usi e comportamenti

          Decidere il risultato

 Progettare la validazione del risultato
Evitare le storie troppo grosse

Evitare la sindrome della miniaturizzazione

Imparare a spezzare le Epiche in Temi e in
                 Storie

          (Richiede esperienza!)
Per incominciare, conviene attenersi ad un
         formato standardizzato

 Per esempio usando il linguaggio gherkin
https://github.com/cucumber/cucumber/wiki/G



   Utilizzabile DIRETTAMENTE in alcuni
 programmi come strumento di test, e in
  ambito più ampio, come strumento di
Feature: Some terse yet 
descriptive text of what is 
desired

 In order to realize a named 
  business value
 As an explicit system actor
 I want to gain some beneficial 
  outcome which furthers the 
  goal
#language: it
Funzionalità: Una descrizione 
chiara e precisa del risultato

 Per ottenere un dato valore
 Come un agente esplicito del 
  sistema
 Voglio ottenere un risultato 
  che mi avvicina all'obiettivo
# language: it
# Updated: Tue May 25 15:52:01 
+0200 2010
Funzionalità: somma
  Per evitare di fare errori 
stupidi
  Come utente
  Voglio sapere la somma di due 
numeri
Grazie per l'attenzione


           Prof. Marcello Missiroli
    (standing on the shoulders of giants :-) )
                   ITIS Corni
           prof.missiroli@gmail.com
Riferimenti

Base di questa presentazione (layout incluso):
INVEST in good user stories – Craig Brown
http://www.slideshare.net/craigwbrown/invest-in-good-user-
stories-presentation
Extreme Programming Explored - William Wake
http://www.scribd.com/doc/12720/Extreme-Programming-
Explored-William-Wake
Six features of a good user story
http://agilesoftwaredevelopment.com/blog/vaibhav/good-user-
story-invest
INVEST in Good Stories, and SMART Tasks
http://xp123.com/xplor/xp0308/index.shtml
The INVEST Model fo User stories – Bill Wake
http://zomobo.net/play.php?id=L_NyCczp0Fk
Licenza

http://creativecommons.org/licenses/by-
sa/3.0/deed.it

More Related Content

Viewers also liked

Viewers also liked (12)

Programmazione a oggetti tramite la macchina del caffé (pt. 3)
Programmazione a oggetti tramite la macchina del caffé (pt. 3)Programmazione a oggetti tramite la macchina del caffé (pt. 3)
Programmazione a oggetti tramite la macchina del caffé (pt. 3)
 
Il ciclo for
Il ciclo forIl ciclo for
Il ciclo for
 
L'avvento del programmatore sociale
L'avvento del programmatore socialeL'avvento del programmatore sociale
L'avvento del programmatore sociale
 
Eccezioni in java
Eccezioni in javaEccezioni in java
Eccezioni in java
 
Moodle: i compiti (homework)
Moodle: i compiti (homework)Moodle: i compiti (homework)
Moodle: i compiti (homework)
 
Routing dinamico
Routing dinamicoRouting dinamico
Routing dinamico
 
Espressioni regolari
Espressioni regolariEspressioni regolari
Espressioni regolari
 
Come aiutare i clienti a sceglierci Giovani Notai Edition SAPES - Soave 15...
Come aiutare i clienti a sceglierci   Giovani Notai Edition  SAPES - Soave 15...Come aiutare i clienti a sceglierci   Giovani Notai Edition  SAPES - Soave 15...
Come aiutare i clienti a sceglierci Giovani Notai Edition SAPES - Soave 15...
 
The Sequel to sql
The Sequel to sqlThe Sequel to sql
The Sequel to sql
 
Controllo di versione e Git
Controllo di versione e GitControllo di versione e Git
Controllo di versione e Git
 
Introduzione al dns
Introduzione al dnsIntroduzione al dns
Introduzione al dns
 
Il sistema binario
Il sistema binarioIl sistema binario
Il sistema binario
 

Similar to Investire nelle user story

Experience Design Workshop - Roma, 13 novembre
Experience Design Workshop - Roma, 13 novembreExperience Design Workshop - Roma, 13 novembre
Experience Design Workshop - Roma, 13 novembreSketchin
 
Mida Retail - Store KPI
Mida Retail - Store KPIMida Retail - Store KPI
Mida Retail - Store KPIMidaRetail
 
Valueproposition ecommerce-141106101701-conversion-gate02
Valueproposition ecommerce-141106101701-conversion-gate02Valueproposition ecommerce-141106101701-conversion-gate02
Valueproposition ecommerce-141106101701-conversion-gate02Rossella Castrusini
 
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand SMAU
 
Gli Strumenti web per il tuo Business
Gli Strumenti web per il tuo BusinessGli Strumenti web per il tuo Business
Gli Strumenti web per il tuo BusinessAlberto Di Capua
 

Similar to Investire nelle user story (8)

Value Proposition: Il Segreto Degli Ecommerce Di Successo
Value Proposition: Il Segreto Degli Ecommerce Di SuccessoValue Proposition: Il Segreto Degli Ecommerce Di Successo
Value Proposition: Il Segreto Degli Ecommerce Di Successo
 
Experience Design Workshop - Roma, 13 novembre
Experience Design Workshop - Roma, 13 novembreExperience Design Workshop - Roma, 13 novembre
Experience Design Workshop - Roma, 13 novembre
 
Mida Retail - Store KPI
Mida Retail - Store KPIMida Retail - Store KPI
Mida Retail - Store KPI
 
Valueproposition ecommerce-141106101701-conversion-gate02
Valueproposition ecommerce-141106101701-conversion-gate02Valueproposition ecommerce-141106101701-conversion-gate02
Valueproposition ecommerce-141106101701-conversion-gate02
 
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand
SMAU MILANO 2023 | L'AI generativa e lo storytelling del brand
 
L'impresa del futuro tra prezzi, marketing e web
L'impresa del futuro tra prezzi, marketing e webL'impresa del futuro tra prezzi, marketing e web
L'impresa del futuro tra prezzi, marketing e web
 
Il valore percepito
Il valore percepitoIl valore percepito
Il valore percepito
 
Gli Strumenti web per il tuo Business
Gli Strumenti web per il tuo BusinessGli Strumenti web per il tuo Business
Gli Strumenti web per il tuo Business
 

More from Marcello Missiroli

More from Marcello Missiroli (12)

Algorithmist guide II
Algorithmist guide IIAlgorithmist guide II
Algorithmist guide II
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista I
 
Workshop: Introduzione ad TDD
Workshop: Introduzione ad TDDWorkshop: Introduzione ad TDD
Workshop: Introduzione ad TDD
 
Dal c a Java (3/3)
Dal c a Java (3/3)Dal c a Java (3/3)
Dal c a Java (3/3)
 
Dal C a Java (2/3)
Dal C a Java (2/3)Dal C a Java (2/3)
Dal C a Java (2/3)
 
Dal C a Java (1/3)
Dal C a Java (1/3)Dal C a Java (1/3)
Dal C a Java (1/3)
 
Variabili
VariabiliVariabili
Variabili
 
Sviluppo degli algoritmi
Sviluppo degli algoritmiSviluppo degli algoritmi
Sviluppo degli algoritmi
 
5 stadi dello sviluppo di un gruppo
5 stadi dello sviluppo di un gruppo5 stadi dello sviluppo di un gruppo
5 stadi dello sviluppo di un gruppo
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
 
Big O Notation
Big O NotationBig O Notation
Big O Notation
 
Introduzione a java doc
Introduzione a java docIntroduzione a java doc
Introduzione a java doc
 

Investire nelle user story