AICA Workshop 26 feb 2008 @ SIAM - Presentation Transcript
Il modello collaborativo dell'open source per lo sviluppo software (cc) Federico Gobbo [email_address] Dipartimento di Informatica e Comunicazione Università degli Studi dell'Insubria
Goodbye, "free software"; hello, "open source" 3 febbraio 1998, Palo Alto, California. "dobbiamo far accettare il software libero nel mainstream corporate world " --- Eric Steven Raymond
Costruire il software a cattedrale "[il software] viene lavorato attentamente a mano da singoli geni o piccole bande di maghi che lavorano in splendido isolamento, senza che alcuna versione beta veda la luce prima del momento giusto... [come in una] cattedrale, da costruire in silenzio e riverenza"
Comunità Linux prototipo dell'OS "un pullulare di progetti e approcci differenti basati sulla rapidità dei rilasci ... il mercato interno della reputazione della comunità esercita una sottile pressione sulle persone in modo che non si lancino dei progetti se non si è abbastanza competenti per seguirli"
Modello organizzativo di Linux
Linus dittatore benevolo
Poca gerarchia
Nessuna barriera all'entrata
Creatività emergente
La comunità certifica le competenze
Social network come opere derivate dell'open source
Macchinetta del caffè virtuale
Partecipazione e fiducia
Informal > formal
Non solo software ma qualsiasi processo
Un esempio: Creative Commons
Comunità di pratica su un problema preciso
Contributi su più livelli
In pochi anni milioni di documenti hanno una (cc)
...incluso questo!
http://www.creativecommons.org
Come esportare il modello informal di Linux nello sviluppo software d'impresa? ?
più che processi e strumenti più che documentazione estesa più che contrattare e negoziare più che seguire un piano prestabilito basato sulla comunità!
eXtremeProgramming.org
primo metodo agile
Principi
Valori
Pratiche
Nella comunità XP impari facendo
ControlChaos.com : SCRUM
per sviluppatori
per il management
ciclo dell'iterazione
ciclo giornaliero
SCRUM si lega con XP come due scatole cinesi
RubyOnRails.org
sviluppo web senza dolore
prototipi veloci
logica del perpetual beta
mostra il codice, non spiegarlo, anche al cliente
il movimento agile si crea le sue tecnologie
Come insegnare al meglio le metodologie agili? Come affiancare al curriculum universitario tradizionale di informatica?
European Summer School on Agile Programming http://essap.dicom.uninsubria.it
vivaci lezioni frontali
...in pair coaching è più divertente!
imparare a programmare dal vivo
...in pair programming è meglio! hai dimenticato il punto e virgola
rompere la barriera della cattedra
apprendimento collaborativo
essere agili vuol dire essere veloci
simulazioni per apprendere facendo
dal kaos nascono le idee
il planning agile è low tech
utenti finali come narrative
team in competizione
tutti partecipano
rivivere quanto è successo
costruire la comunità di pratica
Grazie per l'attenzione! Domande? http://agilemanifesto.org http://estremeprogramming.com http://www.rubyonrails.org http://essap.dicom.uninsubria.it
0 comments
Post a comment