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
2. Lo sviluppo Open Source
Letteralmente significa sviluppare software che
adotta utilizzare una licenza che soddisfa i
requisiti OSI
http://www.opensource.org/docs/definition.php
In realtà facciamo riferimento allo sviluppo di
tipo collaborativo nato con il Free Software
05/04/07
Agile @ ERLUG
45
3. Lo sviluppo Open Source
Lo sviluppo Open Source oggi:
1. Piccoli progetti (solitamente Free)
Un unico mantainer: dittatore buono
2. Progetti in carico ad ampi gruppi che si
occupano di dare linee organizzative,
raccogliere fondi, difendere legalmente
es: Apache Foundation, GNOME Foundation
3. Progetti derivati dalla «liberazione» di
software proprietari di aziende.
05/04/07
Agile @ ERLUG
46
4. Lo sviluppo Open Source
Due diversi aspetti:
●
Volontariato
●
Collaborazione tra aziende
...motivazione e valori condivisi dalle comunità
molto differenti tra loro
05/04/07
Agile @ ERLUG
47
5. Lo sviluppo Open Source è Agile ?
?
Prendiamo come riferimento
The Cathedral and the Bazaar
E.S. Raymond
05/04/07
Agile @ ERLUG
48
6. Lo sviluppo Open Source è Agile ?
E.S. Raymond:
1. Every good work of software starts by
scratching a developer's personal itch
6. Treating your users as co-developers is your
least-hassle route to rapid code improvement
and effective debugging
Agile manifesto:
« collaborazione con il cliente ... »
05/04/07
Agile @ ERLUG
49
7. 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
05/04/07
http://usability.kde.org
Agile @ ERLUG
50
8. 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»
OK!
XP:
05/04/07
«1 week iterations»@ ERLUG
Agile
51
9. 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»
05/04/07
Agile @ ERLUG
52
10. Lo sviluppo Open Source è Agile ?
Internet vs face-2-face
●
Internet è meno efficace
Però...
●
●
05/04/07
Internet ha un ottima memoria
Internet può essere letto da moltissime persone
Agile @ ERLUG
53
11. 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 personali
Molto lavoro è offerto da volontari...
●
Utilizzare strumenti di comunicazione pro-attivi:
Wiki con RSS, mailing list dei Commit
05/04/07
Agile @ ERLUG
54
12. Altri 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»
05/04/07
Agile @ ERLUG
55
13. Altri problemi in un team distribuito
In remoto diventa difficile fare pair-programming
Ma non è impossibile!
«Remote pair-programming»
●
VNC (o simili)
●
VOIP (Skype/OpenWengo)
●
magari anche microfono e Webcam
Non è come il pair-programming ma...
05/04/07
http://www.quinary.com/pagine/downloads/files/Resources/
XPRemotePairProgrammingPresentation.pdf
http://www.quinary.com/pagine/downloads/files/Resources/
XPRemotePairProgrammingPresentation.avi
Agile @ ERLUG
56
14. Compito per casa...
Ci sono progetti OS che utilizzano
esplicitamente alcune pratiche Agili?
Quale punto di partenza:
Eclipse
http://www.infoq.com/news/Eclipse-Callisto-AgileSuccess
Mono
http://mono.ximian.com/tests/displayTestResults.php
...
05/04/07
Agile @ ERLUG
57