L'utilizzo di metodologie agili per la gestione del progetto significa adottare un metodo per lo sviluppo del software che coinvolge quanto più possibile il committente, ottenendo in tal modo una elevata reattività alle sue richieste.
Utilizzare metodologie agili è più facile se si dispone degli strumenti giusti per consentire al project manager di raggiungere gli obiettivi del progetto restando all'interno del perimetro costituito dai diversi vincoli.
Cluemapper è uno strumento open che offre un wiki per la gestione della documentazione del progetto, un sistema di gestione ticket per la segnalazione delle attività da svolgere, integrazione con sistemi di versionamento del codice, gestione delle tempistiche, visualizzazione del codice da web con gestione delle differenze, e segue il paradigma delle metodologie agili com gestione delle iterazioni e user story.
3. Di cosa parliamo oggi
• Project management
• Metodologie agili
• Tool di gestione progetti con
metodologie agili
4. Premessa
Lavoriamo per RedTurtle Technology (Ferrara).
RedTurtle fa consulenza/software e lavora con la
“gestione della conoscenza”; questo si traduce
in portali, intranet, gestione flussi
documentali, ecc.
RedTurtle utilizza soprattutto tecnologie open
(Python, Eclipse, cms Plone, OpenOffice, Linux).
5. Un po’ di numeri di
RedTurtle
• Nasce nel 1999: 3 persone
• Nel 2009: 16 persone, di cui:
• 1 marketing/strategia/account
• 1 segreteria
• 1 grafico/developer
• 3 PM
• 10 developer
• massimo n° progetti gestiti contemporaneamente: 25-30*
* i progetti hanno dimensioni variabili: da 2 settimane uomo a 3 anni uomo
8. Quindi?
Il PM principalmente si focalizza
nel coordinamento e nel
controllo delle varie
componenti e dei diversi attori
coinvolti con l'obiettivo di
minimizzare la probabilità
di insuccesso.
10. Alla ricerca dell’equilibrio
1) riuscire a gestire
contemporaneamente N progetti
2) mantenere alta la qualità dei servizi e
del software prodotto
3) rispettare le scadenze
4) lavorare un numero ragionevole di ore
5) incassare più denaro di quanto se ne
spende
http://www.storace.it/wp-content/uploads/
5) non impazzire 2009/01/equilibrio.jpg
11. Alla ricerca dell’equilibrio
1) riuscire a gestire
contemporaneamente N progetti
2) mantenere alta la qualità dei servizi e
del software prodotto
3) rispettare le scadenze
4) lavorare un numero ragionevole di ore
5) incassare più denaro di quanto se ne
spende
http://www.storace.it/wp-content/uploads/
5) non impazzire 2009/01/equilibrio.jpg
15. Per riassumere
Si potrebbe considerare il
project management come la
risposta scientifica alla Legge di
Murphy :)
16. Approccio
metodologico al PM
Esistono diversi approcci
metodologici al PM.
Esistono gli approcci agili,
interattivi, incrementali e
basati sulla successione di
fasi predefinite, ecc.
17. Metodologia agile
nell’ingegneria software
Con metodo agile (o
leggera) si intende un
metodo che coinvolge
quanto più possibile il
committente, ottenendo
in tal modo una elevata
reattività alle sue
richieste. http://www.bizzia.com/files/374/2007/12/
agile.jpg
18. Metodologia agile
nell’ingegneria software
Con metodo agile (o
leggera) si intende un
metodo che coinvolge
quanto più possibile il
committente, ottenendo
in tal modo una elevata
reattività alle sue
richieste. http://www.bizzia.com/files/374/2007/12/
agile.jpg
19. Obiettivo
L'obiettivo è la
piena
soddisfazione
del cliente e non
solo l'adempimento
di un contratto.
http://www.bizzia.com/files/374/2007/12/
agile.jpg
20. Obiettivo
L'obiettivo è la
piena
soddisfazione
del cliente e non
solo l'adempimento
di un contratto.
http://www.bizzia.com/files/374/2007/12/
agile.jpg
21. Agile manifesto
I principi su cui si basa
una metodologia leggera
che segua i punti indicati
dall'Agile Manifesto,
http://www.ludicer.it/supereroi/fantastici-
sono solo 4 quattro/fantastici4.jpg
22. Agile manifesto
I principi su cui si basa
una metodologia leggera
che segua i punti indicati
dall'Agile Manifesto,
http://www.ludicer.it/supereroi/fantastici-
sono solo 4 quattro/fantastici4.jpg
31. Ma è necessario tutto
questo?
Perchè non basta cercare d’avere
dal cliente specifiche scritte
per poter scrivere codice da
consegnare dopo un pò di
tempo sperando di non
“litigare” troppo con il cliente?
32. Perchè può succedere questo! Ricordate la legge di Murphy!
http://4.bp.blogspot.com/_dadkSDOYSMo/RyMvduPsV-I/AAAAAAAAAAU/
kKSgZEOyiiQ/s1600-h/Project+Management+Illustrated+with+a+Tree+and+a
+Swing.jpg
33. Metodi agili:
iterazioni (1)
La gran parte dei metodi agili
tentano di ridurre il rischio
di fallimento sviluppando il
software in finestre di
tempo limitate chiamate
iterazioni che, in genere,
durano qualche
settimana.
http://www.fz-juelich.de/leap05/main/images/scheduler.jpg
34. Metodi agili:
iterazioni (1)
La gran parte dei metodi agili
tentano di ridurre il rischio
di fallimento sviluppando il
software in finestre di
tempo limitate chiamate
iterazioni che, in genere,
durano qualche
settimana.
http://www.fz-juelich.de/leap05/main/images/scheduler.jpg
35. Metodi agili: iterazioni (2)
Ogni iterazione è un piccolo
progetto a sé stante e deve contenere
tutto ciò che è necessario per rilasciare
un piccolo incremento nelle funzionalità
del software: pianificazione
(planning), analisi dei requisiti,
progetto, implementazione, test
e documentazione.
36. User Story
Le User Story sono un
semplice modo per
raccogliere i
requirements di un
progetto; una alternativa
alla scrittura di lunghe e
dettagliate specifiche http://www.yeshua.it/images/papiro.jpg
37. User Story
Le User Story sono un
semplice modo per
raccogliere i
requirements di un
progetto; una alternativa
alla scrittura di lunghe e
dettagliate specifiche http://www.yeshua.it/images/papiro.jpg
38. User Story
Come utente [ruolo
dell’utente]
voglio fare [scopo]
per poter [motivo]
http://www.agileadvice.com/archives/AgileClassroom-MostRecent-
EndOfClass.jpg
39. Metodologie agili
- user Story: un
esempio
“C'era una volta, in un paese
lontano, un gentiluomo vedovo
che viveva in una bella casa con
la sua unica figlia.
Egli donava alla sua adorata
bambina qualsiasi cosa ella
desiderasse: bei vestiti, un
cucciolo, un cavallo.”
http://www.imageclick.altervista.org/cartoni
%20animati-file/
1236001171814_cenerentola.jpg
40. Metodologie agili
- user Story: un
esempio
“C'era una volta, in un paese
lontano, un gentiluomo vedovo
che viveva in una bella casa con
la sua unica figlia.
Egli donava alla sua adorata
bambina qualsiasi cosa ella
desiderasse: bei vestiti, un
cucciolo, un cavallo.”
http://www.imageclick.altervista.org/cartoni
%20animati-file/
1236001171814_cenerentola.jpg
41. User Story: un esempio
“Come utente
voglio poter visualizzare l’elenco
dei titoli possibili dei libri da
acquistare”
42. Quindi?
Abbiamo capito, a grandi
linee, cosa sono le metologie
agili.
E adesso come le
applichiamo?
43. Che strumenti
può usare il
PM?
Nessun strumento: si va a
braccio!
www.eln.uniroma2.it/mimeg/munch_urlo_big.jpg
44. Che strumenti
può usare il
PM?
Nessun strumento: si va a
braccio!
www.eln.uniroma2.it/mimeg/munch_urlo_big.jpg
45. Che strumenti
può usare il
PM?
Foglio di calcolo.
http://www.eduverse.org/images/busy_person.jpg
46. Che strumenti
può usare il
PM?
Foglio di calcolo.
http://www.eduverse.org/images/busy_person.jpg
47. Che strumenti
può usare il
PM?
Microsoft Project
www.albanesi.it/Mente/Imma/indaffarato1.jpg
48. Che strumenti
può usare il
PM?
Microsoft Project
www.albanesi.it/Mente/Imma/indaffarato1.jpg
49. Che strumenti
può usare il
PM?
SAAS (Software As A Service)
exacterm.files.wordpress.com/2009/05/saas.jpg
50. Che strumenti
può usare il
PM?
SAAS (Software As A Service)
exacterm.files.wordpress.com/2009/05/saas.jpg
61. E i MIEI dati
dove li
tengono?
http://www.flickr.com/photos/mikereys/2898906857/
62. E i MIEI dati
dove li
tengono?
http://www.flickr.com/photos/mikereys/2898906857/
63. Fermi tutti!
Ok, serve uno
strumento per il
PM.
E i developer? share.skype.com/sites/en/developer.jpg
64. Fermi tutti!
Ok, serve uno
strumento per il
PM.
E i developer? share.skype.com/sites/en/developer.jpg
65. Da cosa di parte
Di solito i developer
usano un sistema di
versionamento del
codice e un sistema di
gestione ticket
Molti developer usano http://www.sdtimes.com/blog/
image.axd?
Subversion e Trac
picture=2009%2F3%2Fsubversion_l
ogo-384x332.png
http://www.edgewall.org/gfx/
trac_logo.png
66. Da cosa di parte
Di solito i developer
usano un sistema di
versionamento del
codice e un sistema di
gestione ticket
Molti developer usano http://www.sdtimes.com/blog/
image.axd?
Subversion e Trac
picture=2009%2F3%2Fsubversion_l
ogo-384x332.png
http://www.edgewall.org/gfx/
trac_logo.png
67. Trac: caratteristiche
• Web-based
• Open source
• Wiki
• Issue tracking
• Interfaccia su Subversion
• Possibilità di personalizzare i campi
e le ricerche per la costruzione di
report dello stato del progetto
• Molti plug-in
68. Trac: caratteristiche
• Web-based
• Open source
• Wiki
• Issue tracking
• Interfaccia su Subversion
• Possibilità di personalizzare i campi
e le ricerche per la costruzione di
report dello stato del progetto
• Molti plug-in
69. Ma perchè non
estendiamo
Trac?
http://www.stefanoapuzzo.it/html/images/stories/
lampadina0.gif
70. Ma perchè non
estendiamo
Trac?
http://www.stefanoapuzzo.it/html/images/stories/
lampadina0.gif
71. Cluemapper
ClueMapper è una versione “pompata” di Trac. Offre:
• wiki
• gestione ticket
• integrazione con sistemi di versionamento
• gestione delle tempistiche
• metodologie agili: iterazioni e user story
con interfaccia D&D
72. Cluemapper
ClueMapper è una versione “pompata” di Trac. Offre:
• wiki
• gestione ticket
• integrazione con sistemi di versionamento
• gestione delle tempistiche
• metodologie agili: iterazioni e user story
con interfaccia D&D
73. Cluemapper plugin
• Itteco (whiteboard & storie)
• ClueTimer (quanto ci hai messo?)
• TracTags (project manager 2.0)
• TracWysiwyg (per fighetti anti-wiki)
• TimingAndEstimation (quanto ci metti?)