Sviluppo AGILE di una applicazionetgc.pa.itd.cnr.it/images/Lezioni/.../Sviluppo_AGILE... ·...

Post on 25-May-2020

8 views 0 download

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