Il corso affronta gli aspetti più organizzativi dello sviluppo software, con l’obiettivo di formare figure professionali che contribuiscono allo sviluppo di progetti software con la consapevolezza delle esigenze gestionali.
Competenze acquisite
Al termine del corso lo studente sarà in grado di discutere criticamente i principali modelli organizzativi di sviluppo (cattedrale, bazaar, kibbutz, gruppi di lavoro “agili”). Saprà sfruttare il supporto fornito dai tool di configuration management e versioning (in particolare git) e i servizi di continuous integration e delivery. Sarà inoltre in grado di scrivere programmi accompagnati da documentazione e specifiche mirate al lavoro collaborativo (in particolare sfruttando tecniche di Design By Contract).
Programma
Cenni ai modelli organizzativi di sviluppo (cattedrale, bazaar, kibbutz, gruppi di lavoro “agili”) – Il supporto fornito dai tool di configuration management e versioning – Continuous integration & delivery – DevOps – Documentazione e specifica mirata al lavoro collaborativo (Design By Contract e linguaggi per la separation of concerns)
Testi Consigliati
– slide fornite dal docente
Modalità di Verifica
– Prova scritta con domande aperte e scelta multipla