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

Post on 12-Jan-2015

3.621 views 1 download

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

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

Linux Day 2009

Sabato 24 ottobre 2009 Ferrara

Chi siamo

Stefano Marchettistefano [AT] redturtle [DOT] net

Massimo Azzolinimassimo [AT] redturtle [DOT] net

Di cosa parliamo oggi

• Project management

• Metodologie agili

• Tool di gestione progetti 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).

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

Cosa facciamo

Noi principalmente facciamo i project manager

Cioè?

Fare i project manager significa gestire

progetti

E fin qui ci arriviamo ...

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.

Attività del PM

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

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

Sembra facile

Detto così sembra “quasi” fattibile ...

... ma può accadere ...

LA LEGGE

« Se qualcosa può andare storto, lo

farà. »

(Legge di Murphy)

LA LEGGE

« Se qualcosa può andare storto, lo

farà. »

(Legge di Murphy)

Per riassumere

Si potrebbe considerare il project management come la

risposta scientifica alla Legge di Murphy :)

Approccio metodologico al PM

Esistono diversi approcci metodologici al PM.

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

fasi predefinite, ecc.

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

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

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

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

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

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

Agile manifesto principio 1

Parlare!

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

Agile manifesto principio 1

Parlare!

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

Agile manifesto principio 2

Rilasci frequenti

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

Agile manifesto principio 2

Rilasci frequenti

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

Agile manifesto principio 3

Collaborazione!

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

Agile manifesto principio 3

Collaborazione!

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

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?

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

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

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

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.

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

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

User Story

Come utente [ruolo dell’utente]

voglio fare [scopo]

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

EndOfClass.jpg

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

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

User Story: un esempio

“Come utente

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

acquistare”

Quindi?

Abbiamo capito, a grandi linee, cosa sono le metologie

agili.

E adesso come le applichiamo?

Che strumenti può usare il

PM?Nessun strumento: si va a

braccio!

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

Che strumenti può usare il

PM?Nessun strumento: si va a

braccio!

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

Che strumenti può usare il

PM?Foglio di calcolo.

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

Che strumenti può usare il

PM?Foglio di calcolo.

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

Che strumenti può usare il

PM?Microsoft Project

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

Che strumenti può usare il

PM?Microsoft Project

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

Che strumenti può usare il

PM?SAAS (Software As A Service)

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

Che strumenti può usare il

PM?SAAS (Software As A Service)

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

Software Saas?

Alcuni sono trendy

Alcuni sono trendy

Altri richiedono molto impegno

Altri richiedono molto impegno

Altri con un taglio XP

Altri con un taglio XP

Tutti “costicchiano”

Tutti “costicchiano”

Tutti “costicchiano”

E i MIEI dati dove li tengono?

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

E i MIEI dati dove li tengono?

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

Fermi tutti!

Ok, serve uno strumento per il

PM.

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

Fermi tutti!

Ok, serve uno strumento per il

PM.

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

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

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

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

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

Cluemapper plugin

• Itteco (whiteboard & storie)

• ClueTimer (quanto ci hai messo?)

• TracTags (project manager 2.0)

• TracWysiwyg (per fighetti anti-wiki)

• TimingAndEstimation (quanto ci metti?)

whiteboard

tempo!

tag tag tag

se wiki è così scomodo :)

se wiki è così scomodo :)

dammi una stima

Italian Agile Day 2009!

http://www.agileday.it/

Italian Agile Day 2009!

http://www.agileday.it/

Disclaimer

Disclaimer

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

Contatti

Massimo Azzolinimassimo [AT] redturtle [DOT] net

Stefano Marchettistefano [AT] redturtle [DOT] net

Domande?

Domande?