aica workshop 26 feb 2008 @ siam
DESCRIPTION
TRANSCRIPT
Il modello collaborativo dell'open sourceper lo sviluppo software
(cc) Federico [email protected]
Dipartimento di Informatica e ComunicazioneUniversità 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 lavoratoattentamente a mano da singoli geni o piccole bande dimaghi che lavorano insplendido isolamento, senzache 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??
Agilemanifesto.org• Individui e iterazioni
• Software che funziona
• Collaborare con il cliente
• Adattarsi al cambiamento
Naturalmente antifondamentalista:tante metodologie,tante tecnologie,
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