= Sviluppo software in gruppi di lavoro complessi = == AVVISI == * [https://docs.google.com/spreadsheets/d/e/2PACX-1vTmc_N0fstWC6E9zDMYx5BDXoLy3tez9BbBf3h4bSNNwf-vMIZ1X7JmYMuF5H5DNMf4VRsahZOt07hG/pubhtml?gid=0&single=true Risultati prova scritta 10/9/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà mercoledì 22 settembre 2021, a partire dalle 15:30, in sala Riunioni del IV piano di via Celoria 18. * [https://docs.google.com/spreadsheets/d/e/2PACX-1vQVYUP6pYIAlCsa5uuFRt3_CrqegI808YAXVsBOK2vijasc5PgTUjXs-TZmwk9MoYTlaO7ryZJ87zZC/pubhtml?gid=0&single=true Risultati prova scritta 9/7/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà martedì 20 luglio 2021, a partire dalle 9:30, via MS Teams. * [https://docs.google.com/spreadsheets/d/e/2PACX-1vQh4sL1ZtpxkFRvEQv-gDHfB5yGMnCUHRzOcH4fw3Tztgni2feis-OUyso5nGWsdojpOXJZyrx_XyeJ/pubhtml?gid=0&single=true Risultati prova scritta 18/6/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà il 29 giugno 2021, a partire dalle 9:30, via MS Teams. * In accordo con il decreto rettorale che stabilisce che dal 1 giugno gli [https://www.unimi.it/it/studiare/frequentare-un-corso-di-laurea/seguire-il-percorso-di-studi/esami esami scritti] devono essere tenuti in presenza, le parti di laboratorio per gli appelli di giugno (18/6, ore 13:30, aula Gamma) e luglio (9/7, ore 9:30, aula Gamma) sono previste in presenza. È molto importante che chi intende sostenere l'esame si iscriva quanto prima (e si cancelli immediatamente se cambia idea). Grazie della collaborazione! * [https://docs.google.com/spreadsheets/d/e/2PACX-1vSnyECNk57kdT4viSqipNlLWxtHRQyuRzx3OrqbGjq4ETcCn393c0RLrNNcFHaQqABxEE9eKYr75TmN/pubhtml?gid=0&single=true Risultati prova scritta 26/2/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà nei giorni martedì 9 marzo (matricole > 970000) e giovedì 11 marzo (matricole < 970000), sempre a partire dalle ore 15:00. * [https://docs.google.com/spreadsheets/d/e/2PACX-1vQd6jwyUjBA6rNurxWIEiv5kcOHTXzxK2Ute4G-UatIVswsS3RbkqfRh7d87evQBJDvtUfqZxvY7cNT/pubhtml?gid=0&single=true Risultati prova scritta 12/2/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà martedì 23 febbraio a partire dalle ore 9:30 per gli studenti il cui cognome inizia con le lettere A-K, e giovedì 25 stessa ora per gli altri. * [https://docs.google.com/spreadsheets/d/e/2PACX-1vTuqDb1_c-qU0CCSrGXQPtZNev2POM8Eie8JQavtjit5n3_zaJsHPYpUDZ-fd56qXAqJ2tXeXykagVi/pubhtml?gid=0&single=true Risultati prova scritta 22/1/2021] La prova orale per gli studenti che hanno superato la prova scritta si terrà martedì 2 febbraio a partire dalle ore 9:30, in modalità telematica. Le interrogazioni si svolgeranno in tre turni (vedi colonna I): 9:30-11:30, 11:45-13:45, 15:00-17:00. == 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. 2020/21 == * [https://calendar.google.com/calendar/embed?src=im3m7e84t10gqkl7dmqcjbole4%40group.calendar.google.com&ctz=Europe/Rome Calendario lezioni ed esami] * [https://easystaff.divsi.unimi.it/PortaleStudenti/index.php?view=easycourse&form-type=attivita&include=attivita&anno=2020&attivita%5B%5D=ECF94-103_1&visualizzazione_orario=cal&periodo_didattico=&date=28-09-2020&_lang=it&list=0&week_grid_type=-1&ar_codes_=&ar_select_=&col_cells=0&empty_box=0&only_grid=1&highlighted_date=0&all_events=0&faculty_group=0 Orario ufficiale] Le registrazioni sono fornite '''a uso esclusivo degli studenti del corso''' e possono essere utilizzate solo per lo studio personale. === 1. 29 settembre 2020, 14:30-16:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo00.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo00-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/3FxmxWbcS5s Registrazione YouTube] * [https://homes.di.unimi.it/monga/lucidi2021/survey-svigruppo.html Sondaggio] * Per alleviare i limiti della didattica a distanza, partecipate al forum [https://svigruppo.zulipchat.com/join/wmiv2vcujmagj7b5hvlwmrrr/ Zulip]; per l'iscrizione bisogna usare un indirizzo `@studenti.unimi.it` === 2. 1 ottobre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo01.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo01-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/ggnR4RfKVAU Registrazione YouTube] * [https://archive.org/details/MythicalManMonth F. Brooks, The Mythical Man Month] Lettura **obbligatoria** dei primi 7 capitoli. === 3. 6 ottobre 2020, 14:30-16:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo02.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo02-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/OCIpZXVy3Zc Registrazione YouTube] * [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ E. Raymond, The Cathedral and the Bazaar] Lettura **obbligatoria**. * [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] === 4. 8 ottobre 2020, 16:30-18:30 (Mattia Monga) * [https://youtu.be/37UlU74q8KU Registrazione YouTube] * [https://agilemanifesto.org/ Agile Manifesto] Lettura **obbligatoria**. === 5. 13 ottobre 2020, 14:30-16:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo03.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo03-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/DlNFFaUmXWQ YouTube] === 6. 15 ottobre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo04.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo04-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/NmdGpPWY3Oo Registrazione YouTube] * [https://www.scrumdesk.com/Download/Documents/AgileResources/ScrumGuidelines.pdf Scrum Guidelines] Lettura **obbligatoria**. === 7. 20 ottobre 2020, 14:30-16:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG-07.pdf Slide] * [https://youtu.be/Rgxn-dLnSfA Registrazione YouTube] === 8. 22 ottobre 2020, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG-08.pdf Slide] * [https://youtu.be/hmUwT6OnYq0 Registrazione YouTube] === 9. 27 ottobre 2020, 14:30-16:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-09.pdf Slide] * [https://youtu.be/Dk5YUi_zrYg Registrazione YouTube] === 10. 29 ottobre 2020, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-10.pdf Slide] * [https://youtu.be/do1tlO5IkLI Registrazione YouTube] === 11. 3 novembre 2020, 14:30-16:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-11.pdf Slide] * [https://youtu.be/9p-tZ2qY1eY Registrazione YouTube] === 12. 5 novembre 2020, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-12.pdf Slide] * [https://youtu.be/OuWQEhvdTrM Registrazione YouTube] === 13. 10 novembre 2020, 14:30-16:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-13.pdf Slide] * [https://youtu.be/WKOMBJaTzm0 Registrazione YouTube] === 14. 12 novembre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo10.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo10-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/XhL-Q1YPuVc Registrazione YouTube] === 15. 17 novembre 2020, 14:30-16:30 (Carlo Bellettini) * Laboratorio Git === 16. 19 novembre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo11.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo11-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/xhxnJVhxrs8 Registrazione YouTube] === 17. 24 novembre 2020, 14:30-16:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo14.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo14-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/qRFAaauR2X0 Registrazione YouTube] === 18. 26 novembre 2020, 16:30-18:30 (Massimo Santini) * [https://youtu.be/h_1xsPnwkOk YouTube] [http://docker-tutorial.surge.sh Slide Docker & Devops] === 19. 1 dicembre 2020, 14:30-16:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo15.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo15-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/MCHznFVVM18 Registrazione YouTube] * [https://codeboard.io/projects/197694?view=2.1-1.0 Demo Eiffel] * [https://www.eiffel.org/downloads/channel/stable Eiffel si scarica qua] Attenzione: apparentemente l'ultima versione utilizzabile liberamente (GPL) è la 19.05. Per gli scopi del corso io farò riferimento a quella. === 20. 3 dicembre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo16.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo16-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/5X0A4pZc1NY Registrazione YouTube] * [http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-367.pdf ECMA Standard] **Lettura obbligatoria** del capitolo 7; utile anche il capitolo 8. * [https://codeboard.io/projects/197694?view=2.1-22.0 Nuova versione demo] === 21. 10 dicembre 2020, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2021/svigruppo17.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo17-handout.pdf Slide (versione per la stampa)] * [https://youtu.be/wDSwdQQA9Nw Registrazione YouTube] * [https://codeboard.io/projects/200467 Esercizio CLOCK] (Domande esclusivamente via Zulip) * [https://homes.di.unimi.it/monga/lucidi2021/sinossi-eiffel.pdf Dispensina Eiffel] === 22. 15 dicembre 2020, 14:30-16:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-stime.pdf Slide] * [https://youtu.be/m4AFVisMbLk Registrazione YouTube] === 23. 17 dicembre 2020, 16:30-18:30 (Mattia Monga) * [https://youtu.be/VCXaLAxEMX0 Registrazione YouTube] * [https://codeboard.io/projects/201828?view=1.0-2.1-21.0-22. Esercizio Animals] * [https://gitlab.com/svigruppo/eiffel-bowling Esercizio BOWLING] === 12 gennaio 2020, 14:30-16:30 * Giorgio Audino, Bloomberg "Agile Methodologies in a Large Tech Company: The Bloomberg Way" [https://youtu.be/1Ja93Ht6dp4 Registrazione YouTube] === 24. 14 gennaio 2020, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2021/SG2020-09.pdf Slide] * [https://youtu.be/eJuBjVS4pRI Registrazione YouTube] == Materiali anni precedenti == * [wiki:WikiStart@253 A.A. 2019/20] * [wiki:WikiStart@193 A.A. 2018/19] * [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)