Gestire un progetto
Tip & Tricks
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)
Agenda
- Come si sviluppa un progetto
- Metodologia Agile: SCRUM
- Esempi
- I software che possono aiutarvi
- Demo
- Q&A
Le fasi di un progetto
commissiona
progetto
Esecuzione
Consegna
Raccolta completa
dei requisiti
Verifica


- Si deve conoscere il DOMINIO applicativo
- Aiutare il cliente nelle scelte e analisi delle funzionalità
Ma è proprio così ?

Le task si accumulano
Le problematiche crescono
Le scadenze si avvicinano



Chi o cosa
ci può salvare?

Organizzare ...
Comunicazione
Risorse
Scadenze
Team


Ambito
operativo
Ambito
progettuale
Ci aiutano i software
Ci aiuta SCRUM
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.
Alcuni aspetti chiave ...


SCRUM
CASCATA
-
Grande progettazione iniziale
-
Pianificazione nei dettagli dei tempi di sviluppo
- Consegna del prodotto finito solo a fine progetto
-
Dare subito qualche cosa di tangibile al cliente
-
Coinvolgere il cliente nelle scelte e renderlo partecipe
- Possibilità di sbagliarsi e correggersi subito
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)
- Indipendente: non deve essere dipendente da altro
- Negoziabile: deve poter essere riscrivibile totalmente, è soggetta al cambiamento.
- Valorizzante: deve produrre valore per l'utilizzatore.
- Estimabile: si deve essere in grado di attribuirgli una dimensione (complessità).
- Snello: deve essere abbastanza piccola da poter essere facilmente pianificabile.
- Testabile: per essere completata deve poter superare un test prestabilito.
Cercare di ragionare per "storie" (casi d'uso), forniscono un contesto.

Fare sempre riferimento allo scopo del lavoro e al fine per il "cliente".
Identificare una STORIA ...
Assegnare un punteggio...
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
ESEMPI
Esempio #1
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.
-
Da cliente, voglio essere in grado di vedere i libri per genere, in modo da poter trovare la categoria di libri che prediligo.
- Da cliente, voglio mettere il libro in un carrello virtuale, per poterlo acquistare.
Possibile suddivisione
Esempio #2
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.
-
Da utente, voglio poter effettuare un login sicuro, per poter accedere alla mia area personale.
- Da utente loggato, voglio poter vedere i miei dati, per poterli modificare.
Attori differenti per storie indipendenti
E nel pratico per voi studenti...
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
E nel pratico per voi studenti...
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
E nel pratico per voi studenti...
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?

I software ...


Trello
Slack

I vostri strumenti!
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)
- Possibilità di condividere documenti, snippet di codice
- Totalmente Cloud
- Disponibile per MAC, WIN, iOS, Android
Caratteristiche principali


Che cos'è Trello ?

Trello è la soluzione gratuita, flessibile e visuale per organizzare qualsiasi cosa con chiunque.
( trello.com)
- Basato sulla metodologia di lavoro SCRUM (Agile)
- Completamente personalizzabile
- Servizio Cloud
- Disponibile per MAC, WIN, iOS, Android
- Disponibile in un piano FREE

SCRUM Board fai da te
SCRUM board


Caratteristiche principali


LINK UTILI
Usare board di trello multiple: https://goo.gl/bML5Fr
Gestire un progetto Tip & Tricks
By Saverio M.
Gestire un progetto Tip & Tricks
Gestire un progetto Tip & Tricks
- 479