AICA Workshop 26 feb 2008 @ SIAM

447 views

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
447
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AICA Workshop 26 feb 2008 @ SIAM

  1. 1. 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
  2. 2. 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
  3. 3. 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"
  4. 4. 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"
  5. 5. Modello organizzativo di Linux <ul><ul><li>Linus dittatore benevolo </li></ul></ul><ul><ul><li>Poca gerarchia </li></ul></ul><ul><ul><li>Nessuna barriera all'entrata </li></ul></ul><ul><ul><li>Creatività emergente </li></ul></ul><ul><ul><li>La comunità certifica le competenze </li></ul></ul>
  6. 6. Social network come opere derivate dell'open source <ul><ul><li>Macchinetta del caffè virtuale </li></ul></ul><ul><ul><li>Partecipazione e fiducia </li></ul></ul><ul><ul><li>Informal > formal </li></ul></ul><ul><ul><li>Non solo software ma qualsiasi processo </li></ul></ul>
  7. 7. Un esempio: Creative Commons <ul><ul><li>Comunità di pratica su un problema preciso </li></ul></ul><ul><ul><li>Contributi su più livelli </li></ul></ul><ul><ul><li>In pochi anni milioni di documenti hanno una (cc) </li></ul></ul><ul><ul><li>...incluso questo! </li></ul></ul><ul><li>         </li></ul>http://www.creativecommons.org
  8. 8. Come esportare il modello informal di Linux nello sviluppo software d'impresa? ?
  9. 9. Agilemanifesto.org <ul><ul><li>Individui e iterazioni </li></ul></ul><ul><ul><li>Software che funziona </li></ul></ul><ul><ul><li>Collaborare con il cliente </li></ul></ul><ul><ul><li>Adattarsi al cambiamento </li></ul></ul><ul><ul><li>Naturalmente antifondamentalista: tante metodologie, tante tecnologie , </li></ul></ul>più che processi e strumenti più che documentazione estesa più che contrattare e negoziare più che seguire un piano prestabilito basato sulla comunità!
  10. 10. eXtremeProgramming.org <ul><ul><li>primo metodo agile </li></ul></ul><ul><ul><li>Principi </li></ul></ul><ul><ul><li>Valori </li></ul></ul><ul><ul><li>Pratiche </li></ul></ul><ul><ul><li>Nella comunità XP impari facendo </li></ul></ul>
  11. 11. ControlChaos.com : SCRUM <ul><ul><li>per sviluppatori </li></ul></ul><ul><ul><li>per il management </li></ul></ul><ul><ul><li>ciclo dell'iterazione </li></ul></ul><ul><ul><li>ciclo giornaliero </li></ul></ul><ul><ul><li>SCRUM si lega con XP come due scatole cinesi </li></ul></ul>
  12. 12. RubyOnRails.org <ul><ul><li>sviluppo web senza dolore </li></ul></ul><ul><ul><li>prototipi veloci </li></ul></ul><ul><ul><li>logica del perpetual beta </li></ul></ul><ul><ul><li>mostra il codice, non spiegarlo, anche al cliente </li></ul></ul><ul><ul><li>il movimento agile si crea le sue tecnologie </li></ul></ul>
  13. 13. Come insegnare al meglio le metodologie agili? Come affiancare al curriculum universitario tradizionale di informatica?
  14. 14. European Summer School on Agile Programming http://essap.dicom.uninsubria.it
  15. 15. vivaci lezioni frontali <ul><li>...in pair coaching è più divertente! </li></ul>
  16. 16. imparare a programmare dal vivo
  17. 17. ...in pair programming è meglio! hai dimenticato il punto e virgola
  18. 18. rompere la barriera della cattedra <ul><li>  </li></ul>
  19. 19. apprendimento collaborativo <ul><li>  </li></ul>
  20. 20. essere agili vuol dire essere veloci
  21. 21. simulazioni per apprendere facendo <ul><li>  </li></ul>
  22. 22. dal kaos nascono le idee <ul><li>  </li></ul>
  23. 23. il planning agile è low tech <ul><li>  </li></ul>
  24. 24. utenti finali come narrative
  25. 25. team in competizione
  26. 26. tutti partecipano
  27. 27. rivivere quanto è successo
  28. 28. costruire la comunità di pratica
  29. 29. Grazie per l'attenzione! Domande? http://agilemanifesto.org http://estremeprogramming.com http://www.rubyonrails.org http://essap.dicom.uninsubria.it

×