= Sviluppo software in gruppi di lavoro complessi = == Gli obiettivi del corso == Il corso (6CFU) presenta gli aspetti più organizzativi dello sviluppo software, ma mira a formare figure professionali che contribuiscono allo sviluppo, più che alla pura gestione dei progetti. Verranno trattati i seguenti argomenti: 1. Cenni ai modelli organizzativi di sviluppo (cattedrale, ''bazaar'', ''kibbutz'', gruppi di lavoro "agili") 1. Il supporto fornito dai ''tool'' di ''configuration management'' e ''versioning'' 1. ''Continuous integration & delivery'' 1. ''!DevOps'' 1. Documentazione e specifica mirata al lavoro collaborativo (''Design By Contract'' e linguaggi per la ''separation of concerns'') === Modalità d'esame === L'esame consiste in una prova in laboratorio e una prova orale. [[PageOutline]] == A.A. 2018/19 == * [https://calendar.google.com/calendar/embed?src=im3m7e84t10gqkl7dmqcjbole4%40group.calendar.google.com&ctz=Europe/Rome Calendario lezioni ed esami] * [http://easystaff.divsi.unimi.it/PortaleStudenti/index.php?view=easycourse&include=attivita&faculty_group=0&_lang=it&empty_box=0&col_cells=0&anno=2018&attivita=ECF94-103_1 Orario ufficiale] Le registrazioni sono fornite '''a uso esclusivo degli studenti del corso''' e possono essere utilizzate solo per lo studio personale. Per accedere occorre usare la username ''studente'', la password è il titolo del primo capitolo di ''"The Mythical Man-Month"''. === 1. 3 ottobre 2018, Aula 302, 15:30-17:30 * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo00.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo00-handout.pdf Slide (versione per la stampa)] * [https://mmonga.typeform.com/to/KAtxuO Questionario] * [https://archive.org/details/mythicalmanmonth00fred The Mythical Man Month] (**lettura obbligatoria**) === 2. 4 ottobre 2018, Aula Beta, 11:30-13:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo01.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo01-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo01.webm Registrazione (193MB WebM)] * [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ E. Raymond, The Cathedral and the Bazaar] ('''lettura obbligatoria''') === 3. 10 ottobre 2018, Aula 302, 15:30-17:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo02.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo02-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo02.mp4 Registrazione (96MB MP4)] === 4. 11 ottobre 2018, Aula Beta, 11:30-13:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo03.mp4 Registrazione (89MB MP4)] === 5. 17 ottobre 2018, Aula 302, 15:30-17:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo04.mp4 Registrazione (96MB MP4)] === 18 ottobre 2018, LEZIONE SOSPESA === 6. 24 ottobre 2018, Aula 302, 15:30-17:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo05.mp4 Registrazione (99MB MP4)] === 7. 25 ottobre 2018, Aula Beta, 11:30-13:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo06.mp4 Registrazione (93MB MP4)] === 8. 31 ottobre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo07.webm Registrazione (230MB WebM)] * [https://homes.di.unimi.it/monga/lib/oss-icse04.pdf M. Monga, From bazaar to kibbutz: how freedom deals with coherence in the Debian project] === 9. 7 novembre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo03.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo03-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo08.webm Registrazione (167MB WebM)] === 10. 8 novembre 2018, Aula Sigma, 9:30-13:30 (LABORATORIO) * [https://gitlab.com/svigruppo/git-internals Laboratorio Git internals] === 11. 14 novembre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo09.webm Registrazione (176MB WebM)] === 12. 15 novembre 2018, Aula Beta, 11:30-13:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo10.mp3 Registrazione (78MB MP3)] (solo audio) === 13. 21 novembre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo04.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo04-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo11.webm Registrazione (162MB WebM)] === 14. 22 novembre 2018, Aula Sigma, 9:30-13:30 (LABORATORIO) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo-lab02.pdf Laboratorio Git 2] === 15. 28 novembre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo05.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo05-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo12.webm Registrazione (170MB WebM)] === 16. 29 novembre 2018, Aula Beta, 11:30-13:30 (Massimo Santini) * [https://docker-tutorial.mapio.it Massimo Santini, Docker for the dev in devops] -- [https://github.com/mapio/docker-tutorial Sorgenti] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo13.webm Registrazione (350MB WebM)] === 17. 5 dicembre 2018, Aula 302, 15:30-17:30 (Gaia Ventura, Maurizio Vaggi) * [http://homes.di.unimi.it/~sisop/lucidi1819/aptos.pdf Scrum/Kanban Adoption in Aptos Italy] === 18. 6 dicembre 2018, Aula Sigma, 9:30-13:30 * [https://gitlab.com/svigruppo/lab03 Laboratorio Gradle/Continuous Integration] === 12 dicembre 2018, LEZIONE SOSPESA === 19. 13 dicembre 2018, Aula Beta, 11:30-13:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo06.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo06-handout.pdf Slide (versione per la stampa)] * Registrazione mancante === 20. 19 dicembre 2018, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo14.mp3 Registrazione (112MB MP3)] (solo audio) === 20 dicembre 2018, LEZIONE SOSPESA === 21. 9 gennaio 2019, Aula 302, 15:30-17:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo07.pdf Slide] -- [http://homes.di.unimi.it/~sisop/lucidi1819/svigruppo07-handout.pdf Slide (versione per la stampa)] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo15.webm Registrazione (187MB WebM)] * [https://www.eiffel.org/downloads Eiffel Studio (GPL version)] [https://cloud.docker.com/repository/docker/mmonga/docker-eiffel Eiffel Studio (Docker)] IstruzioniEiffel * [http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-367.pdf Standard ECMA-367] (**lettura obbligatoria** dei capitoli 7 e 8) === 22. 10 gennaio 2019, Aula Beta, 11:30-13:30 (Monga) * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo16.mp4 Registrazione (231MB MP4)] * [https://gitlab.com/svigruppo/simulazione-esame/tree/simulazione/ Esempio tema d'esame] === 23. 16 gennaio 2019, Aula 302, 15:30-17:30 (Bellettini) * [http://homes.di.unimi.it/~sisop/lucidi1819/stime.pdf Slide] * [http://homes.di.unimi.it/~sisop/lucidi1819/video/svigruppo17.mp4 Registrazione (100MB MP4)] === 24. 17 gennaio 2019, Aula Sigma, 9:30-13:30 (LABORATORIO) * [https://gitlab.com/svigruppo/eiffel-bowling Laboratorio Eiffel] Attenzione: Eiffel 18.01 ha un problema con la libreria di test, usare Eiffel Studio 18.11 == Materiali anni precedenti == * [wiki:WikiStart@132 A.A. 2017/18] * [wiki:WikiStart@73 A.A. 2016/17] * [https://www.reddit.com/r/unimi_svigruppo/wiki/index A.A. 2015/16] (Resp. prof. Carlo Bellettini, occorre iscrizione al gruppo subreddit)