Saverio Menin
PHP Developer & Software Engineer at Link Up
www.smzstudio.it
saverio.menin@gmail.com
I bravi programmatori sanno cosa scrivere,
i migliori sanno cosa riscrivere (e riusare).
(Eric Steven Raymond)
- Come si sviluppa un progetto
- Metodologia Agile: SCRUM
- Esempi
- I software che possono aiutarvi
- Demo
- Q&A
commissiona
progetto
Esecuzione
Consegna
Raccolta completa
dei requisiti
Verifica
Comunicazione
Risorse
Scadenze
Team
Ambito
operativo
Ambito
progettuale
Ci aiutano i software
Ci aiuta SCRUM
E' un framework agile per la gestione del ciclo di sviluppo del software e non solo.
E' iterativo ed incrementale, concepito per migliorare la produttività in termini di qualità del prodotto (per l'utente finale) e di tempo di realizzazione.
SCRUM
CASCATA
Grande progettazione iniziale
Pianificazione nei dettagli dei tempi di sviluppo
Dare subito qualche cosa di tangibile al cliente
Coinvolgere il cliente nelle scelte e renderlo partecipe
Scrum funziona fissando obiettivi sequenziali che devono essere completati in un determinato lasso di tempo (sprint).
BackLOG
Elenco non ordinato di tutte le funzionalità e delle azioni che si dovranno fare per la realizzazione del progetto.
Non tutte saranno vincolanti per la buona riuscita del progetto.
Sprint
Periodo di tempo utilizzato per realizzare un blocco di "task" definito precedentemente.
Task - Storia
Singola azione, non complessa e con un tempo di realizzazione misurabile in complessità.
E' preferibile dargli un contesto (storia) per aiutare, chi deve svolgere il task, ad inquadrarne lo scopo.
Il Task deve "avere vita propria": visibile, dimostrabile, idealmente consegnabile.
Product owner
La persona che traduce le esigenze in "task" nel backlog e che definisce le priorità.
Criterio INVEST (ideato da Bill Wake)
Cercare di ragionare per "storie" (casi d'uso), forniscono un contesto.
Fare sempre riferimento allo scopo del lavoro e al fine per il "cliente".
Il punteggio
non può essere una stima sui tempi
Si può utilizzare la "sequenza di Fibonacci" per dare un valore alla complessità
Task con una complessità > 8 a volte possono essere divisi in parti più piccole e semplici.
Cercate sempre di avere 80% del valore nel 20% delle task.
1 , 2 , 3 , 5 , 8 , 13 , 21 , BIG
Storia
Da cliente, voglio avere a disposizione la più grande libreria virtuale del mondo in modo da poter acquistare quello che voglio e quando voglio.
E' abbastanza specifico da poterlo sviluppare?
Qual è il suo "story point"?
Avete qualche idea su com'è possibile suddividerlo?
Da cliente, voglio avere a disposizione la più grande libreria virtuale del mondo in modo da poter acquistare quello che voglio e quando voglio.
Possibile suddivisione
Storia
Da utente, voglio poter accedere in tutta sicurezza alla mia area personale per controllare e gestire i miei dati e le mie attività sulla piattaforma.
E' una "storia" indipendente?
E' negoziabile?
L'attore ha sempre lo stesso ruolo nella storia?
Da utente, voglio poter accedere in tutta sicurezza alla mia area personale per controllare e gestire i miei dati, le mie attività sulla piattaforma.
Attori differenti per storie indipendenti
SPRINT
Utilissimi, per capire la direzione e correggersi subito.
Fateli magari su più livelli (interno e col docente).
- Interni: corti 1 settimana
- Col docente: più lunghi, inizio, metà e fine progetto
SCRUM non va seguito alla lettera
Personalizzatelo e rendetelo VOSTRO!
TEAM
Valorizzate le capacità di ognuno.
Sprint "corti" permettono un controllo sulle difficoltà e un
re-schedule delle task assegnate.
#1
BACKLOG
Queste non sono altro che le specifiche del vostro progetto d'esame.
"Tutto ciò che potrebbe essere fatto da voi, in ordine di priorità"
TASK
Cercate di renderle semplici e piccole.
Date un punteggio confrontandovi tra di voi, ragionando su come poterle svolgere.
#2
VERIFICHE INTERNE
Ogni giorno per massimo 15min:
aiuta ad avere il quadro generale di come si svolge il progetto e delle difficoltà che si stanno incontrando.
Rendete tutto visibile in una
SCRUM BOARD (Trello)
#3
ALCUNE DOMANDE CHE POTETE PORVI
- Cos'avete fatto ieri per aiutare il team a portare a termine il lavoro?
- Cosa fare oggi?
- C'è qualche ostacolo per raggiungere la fine dello sprint?
Trello
Slack
Che cos'è Slack ?
Slack creates alignment and shared understanding across your team, making you more productive, less stressed, and just a little bit happier.
( slack.com)
Caratteristiche principali
Che cos'è Trello ?
Trello è la soluzione gratuita, flessibile e visuale per organizzare qualsiasi cosa con chiunque.
( trello.com)
SCRUM Board fai da te
SCRUM board
Caratteristiche principali
Usare board di trello multiple: https://goo.gl/bML5Fr