SlideShare una empresa de Scribd logo
1 de 30
Università di Modena e Reggio Emilia Università di Bologna
Una didattica Agile
per la programmazione
Didamatica 2016 – Università di Udine
20.04.2016
Marcello Missiroli
marcello.missiroli@unimore.it
Daniel Russo
daniel.russo@unibo.it
Paolo Ciancarini
paolo.ciancarini@unibo.it
Università di Modena e Reggio Emilia Università di Bologna
Programmare
●
È difficile!
●
È una “conoscenza tacita” acquisita nel
tempo, con pratica e non (solo) con lo studio
sui libri
●
Insegnare a programmare lo è ancora di più
Università di Modena e Reggio Emilia Università di Bologna
Segnali positivi
Modalità “morbide”
per iniziare
I “Social”
Nuovi tools Stereotipi sdoganati
Università di Modena e Reggio Emilia Università di Bologna
Tuttavia...
●
Tendiamo a insegnare in modo molto
tradizionale
●
Lezione frontale, esercizi artificiosi, studio a
casa da soli, verifica individuale
●
Realizzazione di progetti a lungo respiro rara
(una volta l'anno?)
Università di Modena e Reggio Emilia Università di Bologna
Enter Agile
Università di Modena e Reggio Emilia Università di Bologna
Manifesto Agile
Stiamo scoprendo modi migliori di creare software,sviluppandolo e
aiutando gli altri a fare lo stesso.Grazie a questa attività siamo arrivati a
considerare importanti:
●
Gli individui e le interazioni più che i processi e gli
strumenti
●
Il software funzionante più che la documentazione
esaustiva
●
La collaborazione col cliente più che la negoziazione
dei contratti
●
Rispondere al cambiamento più che seguire un piano
Ovvero, fermo restando il valore delle voci a destra,consideriamo più
importanti le voci a sinistra. interesse e successo nel mondo del lavoro
Università di Modena e Reggio Emilia Università di Bologna
Manifesto Agile (in pratica)
●
Team autonomi e auto-organizzati
●
I clicli di sviluppo frequenti e rapidi
●
Proprietà condivisa del codice
●
Frequenti contatti con il cliente
●
Favorire la comunicazione interna ed esterna
●
Adattabilità ai cambiamenti
●
Gestione del fattore tempo
●
Accento sulla testabilità e flessibilità del codice
Università di Modena e Reggio Emilia Università di Bologna
Movimento Agile
●
Grande interesse e successo nel mondo del
lavoro
●
Affinità con le moderne teorie didattiche
(cooperazione, collaborazione, auto-
organizzazione, comunicazione)
●
In Italia, poco diffuso e/o sconosciuto e/o
misconosciuto
Università di Modena e Reggio Emilia Università di Bologna
Idee di fondo
●
Sperimentare le modalità di lavoro agile nella
scuola
●
Esporre i ragazzi a una nuova metodologia di
lavoro (vantaggio competitivo nel mondo del
lavoro)
●
Verificarne l'impatto in modo scientifico e
replicabile
Università di Modena e Reggio Emilia Università di Bologna
Limitazioni
●
Rigidità della scuola: il “programma” è un
totem intoccabile.
●
Necessaria cooperazione dei colleghi
Università di Modena e Reggio Emilia Università di Bologna
Limitazioni
●
Rigidità della scuola: il “programma” è un
totem intoccabile.
●
Necessaria cooperazione dei colleghi
●
Esperimento di breve durata
●
Contributo concreto di conoscenze agli
studenti → “Experiential Learning”
Università di Modena e Reggio Emilia Università di Bologna
Il primo esperimento
●
Misura l'efficacia di alcune pratiche agili.
●
Target: studenti di 4° e 5°, ITIS, ITC, LSSA
●
Durata: 3 o 6 ore
●
Periodo: Dicembre 2014 – Maggio 2015
●
Ragazzi coinvolti: 84 (su 4 classi)
Università di Modena e Reggio Emilia Università di Bologna
Pratica 1: Pair Programming
●
Programmazione in coppia
●
Alternanza stretta , scandita
temporalmente
Università di Modena e Reggio Emilia Università di Bologna
Pratica 1: Pair Programming
●
Coppie di 6 tipologie di
studenti (omogenee ed
eterogenee)
●
Gruppo di controllo
●
Valutazione predittiva
basata sul voto corrente
Università di Modena e Reggio Emilia Università di Bologna
Pratica 2: Timeboxing
●
Gli orari di consegna sono
definitivi e immutabili
●
Piuttosto, sacrificare altri
aspetti
●
Nessuna eccezione
Università di Modena e Reggio Emilia Università di Bologna
Pratica 3: Test-Driven Development
●
Prima scrivere il test, poi il
codice
●
Quindi, rifattorizzare.
●
Richiede l'uso di test
automatici (JUnit o simile)
Università di Modena e Reggio Emilia Università di Bologna
Pratica 4: User stories
●
Requisti in formato compatto
●
Descrittive, non ultimative
●
Condizioni di verifica
“oggettive”
●
Da sviluppare una per volta
Università di Modena e Reggio Emilia Università di Bologna
I dati raccolti
●
Numero di feature o test
realizzati
●
Analisi statica del codice,
confrontata con codice
preesistente
●
Feedback studenti
●
Intervista docenti coinvolti
●
Survey territoriale
Università di Modena e Reggio Emilia Università di Bologna
Gruppo Blu
(M-M)
Magenta
(M-S)
Ciano
(B-M)
Verde
(B-B)
Giallo
(B-S)
Rosso
(S-S)
Solo
Media 4
(-2)
5
(-0,5)
8,14
(+1,64)
7,5
(0,5)
7,4
(+1,4)
5
(+0)
5,7
(-0,5)
Varianza 3,5 5,5 2,48 4,3 0,8 4,5 6,8
Prestazioni
Università di Modena e Reggio Emilia Università di Bologna
Gruppo Blu
(M-M)
Magenta
(M-S)
Ciano
(B-M)
Verde
(B-B)
Giallo
(B-S)
Rosso
(S-S)
Solo
Media 4
(-2)
5
(-0,5)
8,14
(+1,64)
7,5
(0,5)
7,4
(+1,4)
5
(+0)
5,7
(-0,5)
Varianza 3,5 5,5 2,48 4,3 0,8 4,5 6,8
Prestazioni
Università di Modena e Reggio Emilia Università di Bologna
Analisi statica del codice
Test breve Test lungo
Complessità ciclomatica Forte peggioramento Lieve peggioramento
Quantità codice prodotto Lieve miglioramento Miglioramento
Linee di commento (1) Forte miglioramento Uguale
Linee duplicate Uguale Miglioramento
Problemi (issues) Pair: miglioramento
Solo: peggioramento
Pair: miglioramento
Solo: peggioramento
SQALE (2) Peggioramento Peggioramento
(1) Le righe di commento sono comunque molto poche
(2) I solo programmers hanno ottenuto risultati lievemente migliori
Università di Modena e Reggio Emilia Università di Bologna
Gradimento (studenti)
Pair Solo
Pair Programming Esperienza positiva(++)
Imparato qualcosa(++)
Codice peggiore(-)
Meno codice (-)
Esperienza positiva(=)
Imparato qualcosa(=)
Codice peggiore(-)
Meno codice(=)
Test-First Development Codice più corretto(+), Aderenza alle specifiche(+)
Sviluppo più rapido (=), Trovare errori (=), Lo userò in
futuro(=)
User Stories &
Timeboxing
Utilità condizioni di accettazione(-), Valido strumento di
progettazione(-) Fonte di stress(+)
(+) D'accordo, (++) Forte accordo, (-) Disaccordo (–), Forte disaccordo (=) Indeciso
Università di Modena e Reggio Emilia Università di Bologna
Interviste docenti
●
Test 2 considerato utile, Test 1 meno
●
Pair programming utile, facile da applicare
●
Effetti positivi sulla motivazione, e
sull'insegnamento in generale e perfino sui
voti
●
TFD peggiora le prestazioni
●
Indecisi su Timeboxing e User Stories
●
Sanno poco di Agile, frequenterebbero
anche corsi sull'argomento
Università di Modena e Reggio Emilia Università di Bologna
Esperimento confermativo
●
Limitato al Test 1 (TFD, 4°)
●
Altri studenti ed altre scuole
●
Senza gruppo di controllo
●
Lievi modifiche ai test
●
In corso (finirà a Maggio)
●
I primi risultati in effetti, confermano i dati
Università di Modena e Reggio Emilia Università di Bologna
Conclusioni
Consigliamo una introduzione, anche
graduale, di alcune pratiche tipiche dello
sviluppo agile. Il Pair programming, in
particolare, ma in misura minore anche le
User Stories.
La TFD ha una implementazione più
complessa, e richiede ulteriore preparazione
e studio
Università di Modena e Reggio Emilia Università di Bologna
Secondo esperimento
●
Esperimento sulla efficacia didattica della
metodologia progettuale Agile rispetto alla
tradizionale (Scrum vs. Waterfall)
●
Ricalca il test lungo, ma senza limitazioni
metodologiche
●
Una dozzina di scuole coinvolte – tuttora in
corso.
Università di Modena e Reggio Emilia Università di Bologna
Ricerche future
Effetti della cooperazione e della
competizione nella didattica dell'informatica
●
Olimpiadi dell'informatica
●
Olimpiadi a squadre
●
Olimpiadi problem solving
Università di Modena e Reggio Emilia Università di Bologna
GRAZIE
DELL'ATTENZIONE
Paolo Ciancarini
Professore Ordinario
DISI - Università di
Bologna
paolo.ciancarini@unibo.it
Daniel Russo
Dottorando in CS&E
DISI - Università di
Bologna
daniel.russo@unibo.it
Marcello Missiroli
Dottorando in ICT
DIEF - Università di
Modena e Reggio Emilia
marcello.missiroli@unim
ore.it
Slide design base by Saqib Javed John
Università di Modena e Reggio Emilia Università di Bologna
Links
●
Manifesto Agile
●
I dodici principi Agili
●
Dati e sorgenti dell'esperimento
●
ICSE 2016

Más contenido relacionado

Destacado (20)

The Sequel to sql
The Sequel to sqlThe Sequel to sql
The Sequel to sql
 
Controllo di versione e Git
Controllo di versione e GitControllo di versione e Git
Controllo di versione e Git
 
Ruby in 25 minuti
Ruby in 25 minutiRuby in 25 minuti
Ruby in 25 minuti
 
Uefi: l'eterna lotta tra il bene e il male
Uefi: l'eterna lotta tra il bene e il maleUefi: l'eterna lotta tra il bene e il male
Uefi: l'eterna lotta tra il bene e il male
 
Corso Moodle: presentazione
Corso Moodle: presentazioneCorso Moodle: presentazione
Corso Moodle: presentazione
 
Dhcp
DhcpDhcp
Dhcp
 
Lo stack: tipo di dato astratto e implementazione in Java
Lo stack: tipo di dato astratto e implementazione in JavaLo stack: tipo di dato astratto e implementazione in Java
Lo stack: tipo di dato astratto e implementazione in Java
 
Corso Moodle: perché?
Corso Moodle: perché?Corso Moodle: perché?
Corso Moodle: perché?
 
Il ciclo for
Il ciclo forIl ciclo for
Il ciclo for
 
Eccezioni in java
Eccezioni in javaEccezioni in java
Eccezioni in java
 
Moodle: i compiti (homework)
Moodle: i compiti (homework)Moodle: i compiti (homework)
Moodle: i compiti (homework)
 
Routing dinamico
Routing dinamicoRouting dinamico
Routing dinamico
 
Espressioni regolari
Espressioni regolariEspressioni regolari
Espressioni regolari
 
Flipped classroom
Flipped classroomFlipped classroom
Flipped classroom
 
Introduzione al dns
Introduzione al dnsIntroduzione al dns
Introduzione al dns
 
Il sistema binario
Il sistema binarioIl sistema binario
Il sistema binario
 
Moodle Spiegato Con Il Lego
Moodle Spiegato Con Il LegoMoodle Spiegato Con Il Lego
Moodle Spiegato Con Il Lego
 
Reggio Inspired Studio Spaces at the IMA
Reggio Inspired Studio Spaces at the IMAReggio Inspired Studio Spaces at the IMA
Reggio Inspired Studio Spaces at the IMA
 
A Visit to Reggio Emilia's Centro Internazionale Loris Malaguzzi
A Visit to Reggio Emilia's Centro Internazionale Loris MalaguzziA Visit to Reggio Emilia's Centro Internazionale Loris Malaguzzi
A Visit to Reggio Emilia's Centro Internazionale Loris Malaguzzi
 
Thechildthetruefoundation
ThechildthetruefoundationThechildthetruefoundation
Thechildthetruefoundation
 

Similar a Insegnare Agile

Sintesi ambito innovazione 1718
Sintesi ambito innovazione 1718Sintesi ambito innovazione 1718
Sintesi ambito innovazione 1718informistica
 
Un modello di didattica universitaria per apprendere le competenze del XXI se...
Un modello di didattica universitaria per apprendere le competenze del XXI se...Un modello di didattica universitaria per apprendere le competenze del XXI se...
Un modello di didattica universitaria per apprendere le competenze del XXI se...Collaborative Knowledge Building Group
 
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...Collaborative Knowledge Building Group
 
Ligouras master bologna_2015_01_x
Ligouras master bologna_2015_01_xLigouras master bologna_2015_01_x
Ligouras master bologna_2015_01_xPanagiote Ligouras
 
Valutare (nel, con il) digitale
Valutare  (nel, con il) digitaleValutare  (nel, con il) digitale
Valutare (nel, con il) digitaleStefano Penge
 
Progettazione universale in educazione
Progettazione universale in educazioneProgettazione universale in educazione
Progettazione universale in educazioneAndrea Mangiatordi
 
Chi ha paura della didattica attiva?
Chi ha paura della didattica attiva?Chi ha paura della didattica attiva?
Chi ha paura della didattica attiva?Flavia Giannoli
 
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Gabriella Dodero
 
LVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfLVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfEnrico DeAngelis
 
Progettare in etwinning ic cembra (1)
Progettare in etwinning   ic cembra (1)Progettare in etwinning   ic cembra (1)
Progettare in etwinning ic cembra (1)Sartori2018
 
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classe
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classestruzioni e consigli pratici per avviare un progetto eTwinning con la tua classe
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classeSartori2018
 
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...Sartori2018
 
Progettare in etwinning
Progettare in etwinningProgettare in etwinning
Progettare in etwinningSartori2018
 
Il corso FAD "La presentazione efficace con le slide"
Il corso FAD "La presentazione efficace con le slide"Il corso FAD "La presentazione efficace con le slide"
Il corso FAD "La presentazione efficace con le slide"Giacomo Mason
 
Enjoy Your Learning - Manifesto
Enjoy Your Learning - ManifestoEnjoy Your Learning - Manifesto
Enjoy Your Learning - ManifestoAndrea Cioffi
 
Primo webinar Classe VII
Primo webinar Classe VIIPrimo webinar Classe VII
Primo webinar Classe VIISQcuola di Blog
 

Similar a Insegnare Agile (20)

Sintesi ambito innovazione 1718
Sintesi ambito innovazione 1718Sintesi ambito innovazione 1718
Sintesi ambito innovazione 1718
 
Un modello di didattica universitaria per apprendere le competenze del XXI se...
Un modello di didattica universitaria per apprendere le competenze del XXI se...Un modello di didattica universitaria per apprendere le competenze del XXI se...
Un modello di didattica universitaria per apprendere le competenze del XXI se...
 
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...
Svilippo professionale e auto-regolazione dei docenti nel settore del Learnin...
 
Ligouras master bologna_2015_01_x
Ligouras master bologna_2015_01_xLigouras master bologna_2015_01_x
Ligouras master bologna_2015_01_x
 
Valutare (nel, con il) digitale
Valutare  (nel, con il) digitaleValutare  (nel, con il) digitale
Valutare (nel, con il) digitale
 
Progettazione universale in educazione
Progettazione universale in educazioneProgettazione universale in educazione
Progettazione universale in educazione
 
Chi ha paura della didattica attiva?
Chi ha paura della didattica attiva?Chi ha paura della didattica attiva?
Chi ha paura della didattica attiva?
 
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
Extreme Apprenticeship - insegnare informatica a scuola e all'universita'
 
LVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdfLVP23_00 introduzione al corso.pdf
LVP23_00 introduzione al corso.pdf
 
Progettare in etwinning ic cembra (1)
Progettare in etwinning   ic cembra (1)Progettare in etwinning   ic cembra (1)
Progettare in etwinning ic cembra (1)
 
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classe
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classestruzioni e consigli pratici per avviare un progetto eTwinning con la tua classe
struzioni e consigli pratici per avviare un progetto eTwinning con la tua classe
 
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...
Istruzioni e consigli pratici per avviare un progetto eTwinning con la tua cl...
 
CRITHINKEDU Overview (Italian)
CRITHINKEDU Overview (Italian)CRITHINKEDU Overview (Italian)
CRITHINKEDU Overview (Italian)
 
Progettare in etwinning
Progettare in etwinningProgettare in etwinning
Progettare in etwinning
 
Media tools e significati simbolici 22 maggio 2014 Orient@ti
Media tools e significati simbolici 22 maggio  2014 Orient@ti Media tools e significati simbolici 22 maggio  2014 Orient@ti
Media tools e significati simbolici 22 maggio 2014 Orient@ti
 
Il corso FAD "La presentazione efficace con le slide"
Il corso FAD "La presentazione efficace con le slide"Il corso FAD "La presentazione efficace con le slide"
Il corso FAD "La presentazione efficace con le slide"
 
Valutazione clil tsanos.a
Valutazione clil tsanos.aValutazione clil tsanos.a
Valutazione clil tsanos.a
 
Enjoy Your Learning - Manifesto
Enjoy Your Learning - ManifestoEnjoy Your Learning - Manifesto
Enjoy Your Learning - Manifesto
 
Primo webinar Classe VII
Primo webinar Classe VIIPrimo webinar Classe VII
Primo webinar Classe VII
 
Report finale ad
Report finale  adReport finale  ad
Report finale ad
 

Más de Marcello Missiroli (12)

Algorithmist guide II
Algorithmist guide IIAlgorithmist guide II
Algorithmist guide II
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista I
 
Workshop: Introduzione ad TDD
Workshop: Introduzione ad TDDWorkshop: Introduzione ad TDD
Workshop: Introduzione ad TDD
 
Dal c a Java (3/3)
Dal c a Java (3/3)Dal c a Java (3/3)
Dal c a Java (3/3)
 
Dal C a Java (2/3)
Dal C a Java (2/3)Dal C a Java (2/3)
Dal C a Java (2/3)
 
Dal C a Java (1/3)
Dal C a Java (1/3)Dal C a Java (1/3)
Dal C a Java (1/3)
 
Variabili
VariabiliVariabili
Variabili
 
Sviluppo degli algoritmi
Sviluppo degli algoritmiSviluppo degli algoritmi
Sviluppo degli algoritmi
 
5 stadi dello sviluppo di un gruppo
5 stadi dello sviluppo di un gruppo5 stadi dello sviluppo di un gruppo
5 stadi dello sviluppo di un gruppo
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
 
Big O Notation
Big O NotationBig O Notation
Big O Notation
 
Introduzione a java doc
Introduzione a java docIntroduzione a java doc
Introduzione a java doc
 

Insegnare Agile

  • 1. Università di Modena e Reggio Emilia Università di Bologna Una didattica Agile per la programmazione Didamatica 2016 – Università di Udine 20.04.2016 Marcello Missiroli marcello.missiroli@unimore.it Daniel Russo daniel.russo@unibo.it Paolo Ciancarini paolo.ciancarini@unibo.it
  • 2. Università di Modena e Reggio Emilia Università di Bologna Programmare ● È difficile! ● È una “conoscenza tacita” acquisita nel tempo, con pratica e non (solo) con lo studio sui libri ● Insegnare a programmare lo è ancora di più
  • 3. Università di Modena e Reggio Emilia Università di Bologna Segnali positivi Modalità “morbide” per iniziare I “Social” Nuovi tools Stereotipi sdoganati
  • 4. Università di Modena e Reggio Emilia Università di Bologna Tuttavia... ● Tendiamo a insegnare in modo molto tradizionale ● Lezione frontale, esercizi artificiosi, studio a casa da soli, verifica individuale ● Realizzazione di progetti a lungo respiro rara (una volta l'anno?)
  • 5. Università di Modena e Reggio Emilia Università di Bologna Enter Agile
  • 6. Università di Modena e Reggio Emilia Università di Bologna Manifesto Agile Stiamo scoprendo modi migliori di creare software,sviluppandolo e aiutando gli altri a fare lo stesso.Grazie a questa attività siamo arrivati a considerare importanti: ● Gli individui e le interazioni più che i processi e gli strumenti ● Il software funzionante più che la documentazione esaustiva ● La collaborazione col cliente più che la negoziazione dei contratti ● Rispondere al cambiamento più che seguire un piano Ovvero, fermo restando il valore delle voci a destra,consideriamo più importanti le voci a sinistra. interesse e successo nel mondo del lavoro
  • 7. Università di Modena e Reggio Emilia Università di Bologna Manifesto Agile (in pratica) ● Team autonomi e auto-organizzati ● I clicli di sviluppo frequenti e rapidi ● Proprietà condivisa del codice ● Frequenti contatti con il cliente ● Favorire la comunicazione interna ed esterna ● Adattabilità ai cambiamenti ● Gestione del fattore tempo ● Accento sulla testabilità e flessibilità del codice
  • 8. Università di Modena e Reggio Emilia Università di Bologna Movimento Agile ● Grande interesse e successo nel mondo del lavoro ● Affinità con le moderne teorie didattiche (cooperazione, collaborazione, auto- organizzazione, comunicazione) ● In Italia, poco diffuso e/o sconosciuto e/o misconosciuto
  • 9. Università di Modena e Reggio Emilia Università di Bologna Idee di fondo ● Sperimentare le modalità di lavoro agile nella scuola ● Esporre i ragazzi a una nuova metodologia di lavoro (vantaggio competitivo nel mondo del lavoro) ● Verificarne l'impatto in modo scientifico e replicabile
  • 10. Università di Modena e Reggio Emilia Università di Bologna Limitazioni ● Rigidità della scuola: il “programma” è un totem intoccabile. ● Necessaria cooperazione dei colleghi
  • 11. Università di Modena e Reggio Emilia Università di Bologna Limitazioni ● Rigidità della scuola: il “programma” è un totem intoccabile. ● Necessaria cooperazione dei colleghi ● Esperimento di breve durata ● Contributo concreto di conoscenze agli studenti → “Experiential Learning”
  • 12. Università di Modena e Reggio Emilia Università di Bologna Il primo esperimento ● Misura l'efficacia di alcune pratiche agili. ● Target: studenti di 4° e 5°, ITIS, ITC, LSSA ● Durata: 3 o 6 ore ● Periodo: Dicembre 2014 – Maggio 2015 ● Ragazzi coinvolti: 84 (su 4 classi)
  • 13. Università di Modena e Reggio Emilia Università di Bologna Pratica 1: Pair Programming ● Programmazione in coppia ● Alternanza stretta , scandita temporalmente
  • 14. Università di Modena e Reggio Emilia Università di Bologna Pratica 1: Pair Programming ● Coppie di 6 tipologie di studenti (omogenee ed eterogenee) ● Gruppo di controllo ● Valutazione predittiva basata sul voto corrente
  • 15. Università di Modena e Reggio Emilia Università di Bologna Pratica 2: Timeboxing ● Gli orari di consegna sono definitivi e immutabili ● Piuttosto, sacrificare altri aspetti ● Nessuna eccezione
  • 16. Università di Modena e Reggio Emilia Università di Bologna Pratica 3: Test-Driven Development ● Prima scrivere il test, poi il codice ● Quindi, rifattorizzare. ● Richiede l'uso di test automatici (JUnit o simile)
  • 17. Università di Modena e Reggio Emilia Università di Bologna Pratica 4: User stories ● Requisti in formato compatto ● Descrittive, non ultimative ● Condizioni di verifica “oggettive” ● Da sviluppare una per volta
  • 18. Università di Modena e Reggio Emilia Università di Bologna I dati raccolti ● Numero di feature o test realizzati ● Analisi statica del codice, confrontata con codice preesistente ● Feedback studenti ● Intervista docenti coinvolti ● Survey territoriale
  • 19. Università di Modena e Reggio Emilia Università di Bologna Gruppo Blu (M-M) Magenta (M-S) Ciano (B-M) Verde (B-B) Giallo (B-S) Rosso (S-S) Solo Media 4 (-2) 5 (-0,5) 8,14 (+1,64) 7,5 (0,5) 7,4 (+1,4) 5 (+0) 5,7 (-0,5) Varianza 3,5 5,5 2,48 4,3 0,8 4,5 6,8 Prestazioni
  • 20. Università di Modena e Reggio Emilia Università di Bologna Gruppo Blu (M-M) Magenta (M-S) Ciano (B-M) Verde (B-B) Giallo (B-S) Rosso (S-S) Solo Media 4 (-2) 5 (-0,5) 8,14 (+1,64) 7,5 (0,5) 7,4 (+1,4) 5 (+0) 5,7 (-0,5) Varianza 3,5 5,5 2,48 4,3 0,8 4,5 6,8 Prestazioni
  • 21. Università di Modena e Reggio Emilia Università di Bologna Analisi statica del codice Test breve Test lungo Complessità ciclomatica Forte peggioramento Lieve peggioramento Quantità codice prodotto Lieve miglioramento Miglioramento Linee di commento (1) Forte miglioramento Uguale Linee duplicate Uguale Miglioramento Problemi (issues) Pair: miglioramento Solo: peggioramento Pair: miglioramento Solo: peggioramento SQALE (2) Peggioramento Peggioramento (1) Le righe di commento sono comunque molto poche (2) I solo programmers hanno ottenuto risultati lievemente migliori
  • 22. Università di Modena e Reggio Emilia Università di Bologna Gradimento (studenti) Pair Solo Pair Programming Esperienza positiva(++) Imparato qualcosa(++) Codice peggiore(-) Meno codice (-) Esperienza positiva(=) Imparato qualcosa(=) Codice peggiore(-) Meno codice(=) Test-First Development Codice più corretto(+), Aderenza alle specifiche(+) Sviluppo più rapido (=), Trovare errori (=), Lo userò in futuro(=) User Stories & Timeboxing Utilità condizioni di accettazione(-), Valido strumento di progettazione(-) Fonte di stress(+) (+) D'accordo, (++) Forte accordo, (-) Disaccordo (–), Forte disaccordo (=) Indeciso
  • 23. Università di Modena e Reggio Emilia Università di Bologna Interviste docenti ● Test 2 considerato utile, Test 1 meno ● Pair programming utile, facile da applicare ● Effetti positivi sulla motivazione, e sull'insegnamento in generale e perfino sui voti ● TFD peggiora le prestazioni ● Indecisi su Timeboxing e User Stories ● Sanno poco di Agile, frequenterebbero anche corsi sull'argomento
  • 24. Università di Modena e Reggio Emilia Università di Bologna Esperimento confermativo ● Limitato al Test 1 (TFD, 4°) ● Altri studenti ed altre scuole ● Senza gruppo di controllo ● Lievi modifiche ai test ● In corso (finirà a Maggio) ● I primi risultati in effetti, confermano i dati
  • 25. Università di Modena e Reggio Emilia Università di Bologna Conclusioni Consigliamo una introduzione, anche graduale, di alcune pratiche tipiche dello sviluppo agile. Il Pair programming, in particolare, ma in misura minore anche le User Stories. La TFD ha una implementazione più complessa, e richiede ulteriore preparazione e studio
  • 26. Università di Modena e Reggio Emilia Università di Bologna Secondo esperimento ● Esperimento sulla efficacia didattica della metodologia progettuale Agile rispetto alla tradizionale (Scrum vs. Waterfall) ● Ricalca il test lungo, ma senza limitazioni metodologiche ● Una dozzina di scuole coinvolte – tuttora in corso.
  • 27. Università di Modena e Reggio Emilia Università di Bologna Ricerche future Effetti della cooperazione e della competizione nella didattica dell'informatica ● Olimpiadi dell'informatica ● Olimpiadi a squadre ● Olimpiadi problem solving
  • 28. Università di Modena e Reggio Emilia Università di Bologna GRAZIE DELL'ATTENZIONE
  • 29. Paolo Ciancarini Professore Ordinario DISI - Università di Bologna paolo.ciancarini@unibo.it Daniel Russo Dottorando in CS&E DISI - Università di Bologna daniel.russo@unibo.it Marcello Missiroli Dottorando in ICT DIEF - Università di Modena e Reggio Emilia marcello.missiroli@unim ore.it Slide design base by Saqib Javed John
  • 30. Università di Modena e Reggio Emilia Università di Bologna Links ● Manifesto Agile ● I dodici principi Agili ● Dati e sorgenti dell'esperimento ● ICSE 2016