Agile e Open Source

15
05/04/07 44 Parte 4 Parte 4 Agile e Open Source Agile e Open Source

description

2006 Talk di sera ERLUG (Emilai Romagna Linux User Group) Realizzati insieme ad Ilias Bartolini . 4a parte Rapporti tra le metodologie e pratiche Agile ed il movimento Open Source

Transcript of Agile e Open Source

Page 1: Agile e Open Source

05/04/07 44

Parte 4Parte 4Agile e Open SourceAgile e Open Source

Page 2: Agile e Open Source

05/04/07 Agile @ ERLUG 45

Lo sviluppo Open SourceLo sviluppo Open Source

Letteralmente significa sviluppare software che adotta utilizzare una licenza che soddisfa i requisiti OSIhttp://www.opensource.org/docs/definition.php

In realtà facciamo riferimento allo sviluppo di tipo collaborativo nato con il Free Software

Page 3: Agile e Open Source

05/04/07 Agile @ ERLUG 46

Lo sviluppo Open SourceLo sviluppo Open Source

Lo sviluppo Open Source oggi:

1. Piccoli progetti (solitamente Free)

Un unico mantainer: dittatore buono2. Progetti in carico ad ampi gruppi che si

occupano di dare linee organizzative, raccogliere fondi, difendere legalmente

es: Apache Foundation, GNOME Foundation3. Progetti derivati dalla «liberazione» di

software proprietari di aziende.

Page 4: Agile e Open Source

05/04/07 Agile @ ERLUG 47

Lo sviluppo Open SourceLo sviluppo Open Source

Due diversi aspetti:● Volontariato● Collaborazione tra aziende

...motivazione e valori condivisi dalle comunità molto differenti tra loro

Page 5: Agile e Open Source

05/04/07 Agile @ ERLUG 48

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

?

Prendiamo come riferimentoThe Cathedral and the Bazaar

E.S. Raymond

Page 6: Agile e Open Source

05/04/07 Agile @ ERLUG 49

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

E.S. Raymond:1. Every good work of software starts by

scratching a developer's personal itch6. Treating your users as co-developers is your

least-hassle route to rapid code improvement and effective debugging

Agile manifesto:

« collaborazione con il cliente ... »   

Page 7: Agile e Open Source

05/04/07 Agile @ ERLUG 50

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

Il software OS ha sempre prodotto ottimi strumenti per sviluppatori

Il software OS ha a lungo fallito quando il cliente era l'utente desktop...

Solo recentemente ha avvicinato i clienti desktop:

http://usability.gnome.org http://usability.kde.org

Page 8: Agile e Open Source

05/04/07 Agile @ ERLUG 51

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

E.S. Raymond:7. Release early. Release often. And listen to your

customers.

Agile manifesto:«rispondere al cambiamento ... » 

Scrum:«2-4 week iterations»

XP:«1 week iterations»

OK!

Page 9: Agile e Open Source

05/04/07 Agile @ ERLUG 52

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

E.S. Raymond:19. Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one

Agile:«la comunicazione faccia a faccia è il mezzo

più efficace»

Page 10: Agile e Open Source

05/04/07 Agile @ ERLUG 53

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

Internet vs face-2-face● Internet è meno efficacePerò...● Internet ha un ottima memoria● Internet può essere letto da moltissime persone

Page 11: Agile e Open Source

05/04/07 Agile @ ERLUG 54

Lo sviluppo Open Source è Agile ?Lo sviluppo Open Source è Agile ?

Nel mondo del software OS:

Se ci incontriamo un paio di volte all'anno è già molto● Utilizzare strumenti «pubblici» e «con memoria»:

+ Wiki, + mailing list, + IRC, - mail personali● Non aver paura di parlare

+ skype/open wengo, - mail personaliMolto lavoro è offerto da volontari...

● Utilizzare strumenti di comunicazione pro-attivi:

Wiki con RSS, mailing list dei Commit

Page 12: Agile e Open Source

05/04/07 Agile @ ERLUG 55

Altri problemi in un team distribuitoAltri problemi in un team distribuito

● Mantenere alta l'attenzione sugli obiettivi a breve termine ...e premiarne il raggiungimento

Elenco TODO, Mail settimanali di progresso delle attività (burn-down chart?)

● Conoscersi almeno una volta è molto importante!

Partecipazione a conference, etc... ● Il mantainer deve verificare la qualità del codice:

non solo code standards, ma test e «puzze»

Page 13: Agile e Open Source

05/04/07 Agile @ ERLUG 56

Altri problemi in un team distribuitoAltri problemi in un team distribuito

In remoto diventa difficile fare pair-programmingMa non è impossibile!

«Remote pair-programming»● VNC (o simili)● VOIP (Skype/OpenWengo)● magari anche microfono e Webcam

Non è come il pair-programming ma...http://www.quinary.com/pagine/downloads/files/Resources/

XPRemotePairProgrammingPresentation.pdfhttp://www.quinary.com/pagine/downloads/files/Resources/

XPRemotePairProgrammingPresentation.avi

Page 14: Agile e Open Source

05/04/07 Agile @ ERLUG 57

Compito per casa...Compito per casa...

Ci sono progetti OS che utilizzano esplicitamente alcune pratiche Agili?

Quale punto di partenza:

Eclipsehttp://www.infoq.com/news/Eclipse-Callisto-Agile-

Success

Monohttp://mono.ximian.com/tests/displayTestResults.php

...

Page 15: Agile e Open Source

05/04/07 58

Agile e Open SourceAgile e Open Source

Domande ?