= Sviluppo software in gruppi di lavoro complessi = == Avvisi == * Chi, per ragioni legate all'emergenza COVID, fosse impossibilitato a seguire la lezione in presenza, potrà seguire lo streaming via MS Teams (codice canale: `17f6mab`). Non verranno rese disponibili registrazioni (ma rimangono accessibili quelle delle scorse edizioni, vedi [#old Materiali anni precedenti]). * È utile che tutti gli studenti interessati si iscrivano al forum [https://svigruppo.zulipchat.com/join/imz6vgxj3mfckgqrdyfd6n7m/ Zulip] (se il link di invito fosse scaduto, contattare i docenti; link aggiornato il 8/12/2021). == 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. 2021/22 == * [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=2021&attivita%5B%5D=ECF94-103_1&visualizzazione_orario=cal&periodo_didattico=&date=28-09-2021&_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] === 1. 28 settembre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo00.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo00-handout.pdf Slide (versione per la stampa)] === 2. 30 settembre 2021, Aula V2, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo01.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo01-handout.pdf Slide (versione per la stampa)] * [https://archive.org/details/MythicalManMonth ​F. Brooks, The Mythical Man Month] Lettura **obbligatoria** dei primi 7 capitoli. === 3. 5 ottobre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo02.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo02-handout.pdf Slide (versione per la stampa)] * [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] * [https://www.youtube.com/watch?v=Eluzi70O-P4 Revolution OS] === 4. 7 ottobre 2021, Aula V3, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo03.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo03-handout.pdf Slide (versione per la stampa)] * [https://agilemanifesto.org/ Agile Manifesto] Lettura **obbligatoria**. === 5. 12 ottobre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo04.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo04-handout.pdf Slide (versione per la stampa)] === 6. 14 ottobre 2021, Aula V3, 16:30-18:30 (Mattia Monga) * [http://www.scrumdesk.com/Download/Documents/AgileResources/ScrumGuidelines.pdf Scrum Guidelines] Lettura **obbligatoria**. === 7. 19 ottobre 2021, Aula Alfa, 15:30-17:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-07-2021.pdf Slide] === 8. 21 ottobre 2021, Aula V3, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-08-2021.pdf Slide] === 9. 26 ottobre 2021, Aula Alfa, 15:30-17:30 (Carlo Bellettini) === 10. 28 ottobre 2021, Aula V3, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-10-2021.pdf Slide] === 11. 2 novembre 2021, Aula Alfa, 15:30-17:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-11-2021.pdf Slide] === 12. 4 novembre 2021, Aula V3, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-LEZ12-2021.pdf Slide] === 13. 9 novembre 2021, Aula Alfa, 15:30-17:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-LEZ13-2021.pdf Slide] === 14. 11 novembre 2021, Aula V3, 16:30-18:30 (Carlo Bellettini) * [https://homes.di.unimi.it/monga/lucidi2122/SG-LEZ14-2021.pdf Slide] === 15. 16 novembre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo10.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo10-handout.pdf Slide (versione per la stampa)] === 16. 18 novembre 2021, Aula V3, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo11.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo11-handout.pdf Slide (versione per la stampa)] === ~~23 novembre 2021~~ **LEZIONE SOSPESA** === 17. 25 novembre 2021, Solo online via MS Teams, 16:30-18:30 (Carlo Bellettini) * Continuous integration & delivery (materiale 20/21) [https://homes.di.unimi.it/monga/lucidi2122/svigruppo12.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo12-handout.pdf Slide (versione per la stampa)] * [https://unimi2013.sharepoint.com/sites/Svilupposoftwareingruppidilavorocomplessi/Documenti%20condivisi/Forms/AllItems.aspx?id=%2Fsites%2FSvilupposoftwareingruppidilavorocomplessi%2FDocumenti%20condivisi%2FGeneral%2FRecordings%2FSolo%20visualizzazione%2FRiunione%20in%20%5FGeneral%5F%2D20211125%5F163812%2DRegistrazione%20della%20riunione%2Emp4&parent=%2Fsites%2FSvilupposoftwareingruppidilavorocomplessi%2FDocumenti%20condivisi%2FGeneral%2FRecordings%2FSolo%20visualizzazione Registrazione] * [https://homes.di.unimi.it/monga/lucidi2122/SG-17-2021.pdf Slide] === ~~30 novembre 2021~~ **LEZIONE SOSPESA** === 18. 2 dicembre 2021, Aula V3, 16:30-18:30 (Carlo Bellettini) === 19. 9 dicembre 2021, Aula V3, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo14.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo14-handout.pdf Slide (versione per la stampa)] * [https://homes.di.unimi.it/monga/lucidi2122/sinossi-eiffel.pdf Dispensa Eiffel (aggiornata al 28/11/2021)] Una copia cartacea (a colori) della versione del 28/11/2021 può essere ordinata su [https://www.amazon.it/dp/B09MBQQ6G5 Amazon]. === 20. 14 dicembre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo15.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo15-handout.pdf Slide (versione per la stampa)] * [https://ftp.eiffel.com/pub/download/19.05/ Eiffel 19.05 Nativo] ([https://www.eiffel.org/doc/eiffelstudio/Software_Installation_for_EiffelStudio Installazione]) * [https://hub.docker.com/repository/docker/mmonga/docker-eiffel immagine docker] (`docker pull mmonga/docker-eiffel`, le istruzioni per usarla sono nella dispensa) * [https://www.ecma-international.org/wp-content/uploads/ECMA-367_2nd_edition_june_2006.pdf Standard Eiffel] Lettura **obbligatoria** del capitolo 7; utile anche il capitolo 8. === 21. 16 dicembre 2021, Aula V3, 16:30-18:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo16.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo16-handout.pdf Slide (versione per la stampa)] === 22. 21 dicembre 2021, Aula Alfa, 15:30-17:30 (Mattia Monga) * [https://homes.di.unimi.it/monga/lucidi2122/svigruppo17.pdf Slide] -- [https://homes.di.unimi.it/monga/lucidi2021/svigruppo17-handout.pdf Slide (versione per la stampa)] === 23. 11 gennaio 2022, Aula Alfa, 15:30-17:30 (Carlo Bellettini) === 24. 13 gennaio 2022, Aula V3, 16:30-18:30 (Carlo Bellettini) == [=#old Materiali anni precedenti] == * [wiki:WikiStart@346 A.A. 2020/21] * [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)