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