Sviluppo AGILE di una applicazionetgc.pa.itd.cnr.it/images/Lezioni/.../Sviluppo_AGILE... ·...
Transcript of Sviluppo AGILE di una applicazionetgc.pa.itd.cnr.it/images/Lezioni/.../Sviluppo_AGILE... ·...
Sviluppo AGILE di una applicazione: dalle User Stories alla creazione collaborativa di un Mockup Giuseppe Chiazzese
CNR - Istituto per le tecnologie didattiche
Modulo: Introduzione agli strumenti web per la creazione e gestione di risorse in rete
Premessa
Modulo: Introduzione agli strumenti web per la creazione e gestione di risorse in rete
Risorsa in rete (prodotto software) in senso più ampio come ambiente software accessibile via web creato per soddisfare una richiesta del cliente:
• Un negozio elettronico • Un ambiente didattico per l’apprendimento
della grammatica italiana • Un ebook di matematica I per il primo anno
delle scuole medie • Un ambiente sociale per la scrittura
collaborativa di una enciclopedia • ……..
Premessa 2 Modulo: Introduzione agli strumenti web per la creazione e gestione di risorse in rete
Strumento web: Sistema software web based • Supportano una metodologia per la gestione di un
progetto di sviluppo software. • Accompagnano l’utente nella gestione e nel
monitoraggio del processo di sviluppo o parte di esso: dalla ideazione alla realizzazione del prodotto
• Sistemi di supporto al processo di sviluppo software
Gestione dei requisiti Gestione dei team Creazione delle code di attività di sviluppo Assegnazione delle attività Monitoraggio delle attività ….
Focus ´ Esplorazione di alcune metodologie AGILE per la
gestione di un progetto di sviluppo software.
´ Dalla ideazione del prodotto alla realizzazione di un modello di interfaccia
´ Dalle «user stories» come metodo agile per l’analisi dei requisiti di un ambiente software alla realizzazione di un mockup (prototipo di interfaccia)
Metodologie di sviluppo: un po’ di storia
Modello a cascata (waterfall) (Metodologie pesanti)
Metodologie di sviluppo: un po’ di storia
Metodologie iterative
Metodologie iterative basate sul modello a spirale
Modello a spirale Boehm, 2000
Metodologie di sviluppo agile
Metodologie di sviluppo agile
´ Sono metodi di sviluppo software basati sui principi espressi dal Manifesto Agile.
´ L’uso della parola Agile risale al 2001 da una riflessione fatta da un gruppo di informatici che individua 12 principi cardine su cui fondare la realizzazione di un progetto di sviluppo di un software.
´ Manifesto Agile http://agilemanifesto.org/iso/it/
Manifesto agile ‘’ Stiamo scoprendo modi migliori di creare software, sviluppandolo e aiutando gli altri a fare lo stesso. Grazie a questa attività siamo arrivati a considerare importanti:
Ovvero, fermo restando il valore delle voci a destra, consideriamo più importanti le voci a sinistra ‘’
Obiettivo: Piena soddisfazione del cliente
12 principi a supporto Gli individui e le interazioni
´ Fondare lo sviluppo del progetto su individui motivati, fiducia nella loro capacità di portare a termine il lavoro
´ Fornire l’ambiente e supporto agli individui
´ Conversazioni frequenti faccia a faccia con il team e all’interno del team
´ Ritmo e interazioni costanti
´ Ad intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza
La collaborazione col cliente
´ Collaborazione costante anche quotidiana tra committenti e sviluppatori
Il software funzionante
´ Rilascio funzionante del software
´ Rilascio continuo del software, in maniera incrementale e con cadenza variabile da bisettimanale a mensile
´ Software funzionante come misura del progresso di sviluppo
´ attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità
´ Ritmo di sviluppo costante
´ La semplificazione come l'arte per massimizzare la quantità di lavoro non svolto - è essenziale.
Rispondere al cambiamento
´ Sfruttare le richieste di cambiamento in itinere anche a stadi avanzati a vantaggio dello sviluppo competitivo del cliente
Sviluppo Agile
Metodi di sviluppo AGILE
´ SCRUM
´ XP-EXTREME PROGRAMMING
Scopriamo i due metodi ´ Che cosa?
´ SCRUM e XP
´ Come?
´ Peer Group learning:
´ Gruppo 1 (4) – SCRUM
´ Gruppo 2 (4) – XP
´ Ciascun gruppo realizzerà una presentazione sintetizzando in max 10 slides ciascun metodo
´ Ciascun gruppo espone all’altro gruppo il metodo in oggetto attivando una discussione
Scopriamo i due metodi Risorse didattiche Gruppo SCRUM
´ Video: https://www.youtube.com/watch?v=OJflDE6OaSc
´ Wikipedia: http://en.wikipedia.org/wiki/Scrum_%28software_development%29
Gruppo XP ´ Video:
https://www.youtube.com/watch?v=X_2PfTvXBeA
´ Wikipedia: http://en.wikipedia.org/wiki/Extreme_programming_practices#Whole_team
Scopriamo i due metodi To do list ´ Lettura dei contenuti 20 min (individuale)
´ Meeting di gruppo per la realizzazione presentazione 25 min
Schema di presentazione (max 10 slides)
Il modello
Le fasi della metodologia di progettazine
Attori, ruoli, teams
Eventi chiave caratterizzanti il processo
Meeting per la presentazione
´ Presentazione di gruppo (15 min)
SCRUM
XP (Extreme programming)
Strumenti di supporto allo sviluppo AGILE
´ AGILE web based tracking tools http://agilescout.com/best-agile-scrum-tools/
´ http://www.versionone.com
´ https://trello.com/
´ http://www.pivotaltracker.com
User Stories 1
´ Le storie utente sono descrizioni delle funzionalità dell’applicazione scritte direttamente dal cliente.
´ Descrivono azioni che l’utente può compiere per ottenere qualcosa del sistema
User stories 2 ´ Una descrizione di che cosa un utente fa o ha bisogno di fare utilizzando il sistema.
´ Ciascuna storia è consistente e non dovrebbe avere dipendenze nel senso che può essere subito sviluppata e testata.
´ Le storie sono prodotte dal cliente e spesso in maniera collaborativa
´ Le storie saranno discusse ad un meeting con il team di sviluppo, si raggrupperanno in moduli e daranno vita ad un primo modello base (low fidelity prototype) di applicazione.
´ Ciascuna storia è valutata in termini di tempo di sviluppo si stabilirà una coda di produzione da inviare al team di sviluppo.
User stories 3
User Story [number]
As a [ROLE]
I want to [SOMETHING]
So that [BENEFIT]
Conversation [SHORT DESCRIPTION]
Le storie uten+ solitamente sono scri0e in una scheda o post-‐it con la seguente stru0ura:
Un esempio di User stories
User Story 1
As a Studente
I want to Aggiungere una mia fotografia
So that Gli altri utenti possono conoscere il
mio volto
Conversation Foto*
Username*
User Story 1
As a Cliente
I want to Prenotare una stanza dell’hotel
So that
Conversation Nome*, Cognome*
Email* Note
Una collezione di storie
USER STORY 9 As a Health Professional, Parent, Teacher
I want to Add, edit, view and delete a case
So that Collect information about case history
Conversation
Name Surname
Date of birth Sex
Siblings number
Siblings data Sibling date of birth
Sibling name Sibling sex
USER STORY 10
As a Health Professional, Parent, Teacher
I want to View my Cases/Children
So that
Conversation List of cases
Una collezione di storie USER STORY 11
As a Parent, Health Professional
I want to Add/edit/view/delete case events
So that Collect information about case history
Conversation
ADHD Diagnosis Diagnoses Date
Subtypes (hyperactive-impulsive, inattentive, combined)
Age of onset Comorbid disorders
ADHD secondary disorder (YES,NO)
Medications Date
Medication Name Dosage
School Information
Year School name
Grade Special need support teacher (YES/NO)
Individual Education Plan (YES/NO)
Discipline referrals Type of referral
Date Description
Other Event
Date Event Description
USER STORY 12
As a Teacher
I want to Add/editview/delete case
events
So that Collect information about
case history
Conversation
School Information Year
School name Grade
Special need support teacher (YES/NO)
Individual Education Plan (YES/NO)
Discipline referrals
Type of referral Date
Description
Low fidelity prototype of WHAAM Application
Esercitazione
´ Risorsa: http://www.teatromassimo.it/index.php
Immaginate di essere il direttore del teatro Massimo al quale è stato dato il compito di descrivere le storie del sito web da sviluppare.
Gruppo 1: Creazione delle storie utente relative all’area «Home page»
Gruppo 2: Creazione delle storie utente relative all’area «Il teatro»
Tempo a disposizione: 40 minuti
Mockup 1/2 ´ Un modello di interfaccia utente caratterizzato da una
collezione di sketches (schizzi, bozzetti) che mostra le schermate di una applicazione utente.
Mockup 2/2
´ Esistono alcuni strumenti che facilitano e supportano la creazione anche collaborativa di un mockup.
´ http://www.balsamiq.com/
´ https://moqups.com
´ http://pencil.evolus.vn/
Balsamiq