ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

90
ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili Linux Day 2009 Sabato 24 ottobre 2009 Ferrara

description

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.

Transcript of ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Page 1: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Linux Day 2009

Sabato 24 ottobre 2009 Ferrara

Page 2: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Chi siamo

Stefano Marchettistefano [AT] redturtle [DOT] net

Massimo Azzolinimassimo [AT] redturtle [DOT] net

Page 3: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Di cosa parliamo oggi

• Project management

• Metodologie agili

• Tool di gestione progetti con metodologie agili

Page 4: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

PremessaLavoriamo 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).

Page 5: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 6: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Cosa facciamo

Noi principalmente facciamo i project manager

Page 7: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Cioè?

Fare i project manager significa gestire

progetti

E fin qui ci arriviamo ...

Page 8: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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.

Page 9: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Attività del PM

Page 10: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Alla ricerca dell’equilibrio1) 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

5) non impazzirehttp://www.storace.it/wp-content/uploads/

2009/01/equilibrio.jpg

Page 11: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Alla ricerca dell’equilibrio1) 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

5) non impazzirehttp://www.storace.it/wp-content/uploads/

2009/01/equilibrio.jpg

Page 12: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Sembra facile

Detto così sembra “quasi” fattibile ...

... ma può accadere ...

Page 13: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

LA LEGGE

« Se qualcosa può andare storto, lo

farà. »

(Legge di Murphy)

Page 14: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

LA LEGGE

« Se qualcosa può andare storto, lo

farà. »

(Legge di Murphy)

Page 15: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Per riassumere

Si potrebbe considerare il project management come la

risposta scientifica alla Legge di Murphy :)

Page 16: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Approccio metodologico al PM

Esistono diversi approcci metodologici al PM.

Esistono gli approcci agili, interattivi, incrementali e basati sulla successione di

fasi predefinite, ecc.

Page 17: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 18: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 19: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 20: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 21: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto

I principi su cui si basa una metodologia leggera che segua i punti indicati dall'Agile Manifesto,

sono solo 4http://www.ludicer.it/supereroi/fantastici-

quattro/fantastici4.jpg

Page 22: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto

I principi su cui si basa una metodologia leggera che segua i punti indicati dall'Agile Manifesto,

sono solo 4http://www.ludicer.it/supereroi/fantastici-

quattro/fantastici4.jpg

Page 23: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 1

Parlare!

http://www.flickr.com/photos/timbomb/208817779/

Page 24: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 1

Parlare!

http://www.flickr.com/photos/timbomb/208817779/

Page 25: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 2

Rilasci frequenti

http://www.flickr.com/photos/bean/562112223/

Page 26: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 2

Rilasci frequenti

http://www.flickr.com/photos/bean/562112223/

Page 27: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 3

Collaborazione!

http://www.agorajesi.it/collaborazione.jpg

Page 28: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Agile manifesto principio 3

Collaborazione!

http://www.agorajesi.it/collaborazione.jpg

Page 31: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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?

Page 32: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 33: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 34: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 35: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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.

Page 36: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 37: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 38: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

User Story

Come utente [ruolo dell’utente]

voglio fare [scopo]

per poter [motivo]http://www.agileadvice.com/archives/AgileClassroom-MostRecent-

EndOfClass.jpg

Page 39: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 40: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 41: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

User Story: un esempio

“Come utente

voglio poter visualizzare l’elenco dei titoli possibili dei libri da

acquistare”

Page 42: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Quindi?

Abbiamo capito, a grandi linee, cosa sono le metologie

agili.

E adesso come le applichiamo?

Page 43: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Nessun strumento: si va a

braccio!

www.eln.uniroma2.it/mimeg/munch_urlo_big.jpg

Page 44: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Nessun strumento: si va a

braccio!

www.eln.uniroma2.it/mimeg/munch_urlo_big.jpg

Page 45: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Foglio di calcolo.

http://www.eduverse.org/images/busy_person.jpg

Page 46: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Foglio di calcolo.

http://www.eduverse.org/images/busy_person.jpg

Page 47: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Microsoft Project

www.albanesi.it/Mente/Imma/indaffarato1.jpg

Page 48: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?Microsoft Project

www.albanesi.it/Mente/Imma/indaffarato1.jpg

Page 49: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?SAAS (Software As A Service)

exacterm.files.wordpress.com/2009/05/saas.jpg

Page 50: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Che strumenti può usare il

PM?SAAS (Software As A Service)

exacterm.files.wordpress.com/2009/05/saas.jpg

Page 51: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Software Saas?

Page 52: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Alcuni sono trendy

Page 53: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Alcuni sono trendy

Page 54: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Altri richiedono molto impegno

Page 55: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Altri richiedono molto impegno

Page 56: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Altri con un taglio XP

Page 57: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Altri con un taglio XP

Page 58: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Tutti “costicchiano”

Page 59: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Tutti “costicchiano”

Page 60: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Tutti “costicchiano”

Page 61: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

E i MIEI dati dove li tengono?

http://www.flickr.com/photos/mikereys/2898906857/

Page 62: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

E i MIEI dati dove li tengono?

http://www.flickr.com/photos/mikereys/2898906857/

Page 63: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Fermi tutti!

Ok, serve uno strumento per il

PM.

E i developer? share.skype.com/sites/en/developer.jpg

Page 64: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Fermi tutti!

Ok, serve uno strumento per il

PM.

E i developer? share.skype.com/sites/en/developer.jpg

Page 67: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 68: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

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

Page 71: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

CluemapperClueMapper è 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

Page 72: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

CluemapperClueMapper è 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

Page 73: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Cluemapper plugin

• Itteco (whiteboard & storie)

• ClueTimer (quanto ci hai messo?)

• TracTags (project manager 2.0)

• TracWysiwyg (per fighetti anti-wiki)

• TimingAndEstimation (quanto ci metti?)

Page 74: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

whiteboard

Page 75: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

tempo!

Page 76: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

tag tag tag

Page 77: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

se wiki è così scomodo :)

Page 78: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

se wiki è così scomodo :)

Page 79: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

dammi una stima

Page 84: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Italian Agile Day 2009!

http://www.agileday.it/

Page 85: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Italian Agile Day 2009!

http://www.agileday.it/

Page 86: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Disclaimer

Page 87: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Disclaimer

“Nessun developer è stato maltrattato durante la scrittura di questa presentazione”.

Page 88: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Contatti

Massimo Azzolinimassimo [AT] redturtle [DOT] net

Stefano Marchettistefano [AT] redturtle [DOT] net

Page 89: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Domande?

Page 90: ClueMapper: uno strumento Open Source per la gestione di progetti software con metodologie agili

Domande?