A porsi le domande necessarie per capire le esigenze e individuare possibili soluzioni.
Archivi categoria: formazione
Il mio nuovo sito di formazione
Ho pubblicato un nuovo sito per la formazione, con la proposta dei miei corsi sulle Tecniche di analisi dei sistemi.
Oltre ai miei corsi “completi”, che integrano la teoria con molte esercitazioni pratiche, sono disponibili anche moduli in autoistruzione (teoria e quiz di auto-verifica) e workshop di pratica guidata.
Il sito è all’indirizzo https://corsi.analisi-disegno.com
Imparare a imparare
Ci sono blocchi mentali da rimuovere, per poter imparare cose nuove. Apatia, arroganza, noia, confusione, scetticismo. Poi soprattutto paura di non farcela, ansia, frustrazione, impazienza, insicurezza, rassegnazione.
Per imparare a imparare è necessario riconoscere questi “modi” negativi e non permettere che ostacolino l’apprendimento.
“Learning to Learn“, di Peter Denning e Gloria Flores in Communications of the ACM, December 2016, esplora i modi negativi, spiega che ruolo giocano nel bloccarci e come superarli.
Perché superarli si può, innanzitutto con la consapevolezza che, in ogni nuova competenza da acquisire, siamo tutti principianti.
Test attitudinali per programmatori, nel 1960
Test attitudinali per i programmatori software, attorno al 1960. Tramite Bob Martin (in pdf): https://t.co/fwJ5YPNedK
Bilanciare competenze scientifiche e umanistiche
Negli ultimi decenni le materie umanistiche hanno perso peso, e solo quelle scientifiche e tecnologiche sembrano importanti per la formazione.
Grave errore, sostiene Hal Berghel, professore di Computer Science alla University of Nevada, perché i sistemi complessi che servono oggi richiedono equilibrio tra le competenze scientifiche e quelle umanistiche.
“Nel desiderio di aumentare il livello tecnico e di ottenere una egemonia scientifica, abbiamo perso di vista il valore incredibile di una educazione complessiva, con effetti debilitanti sulla società odierna”.
“Stem, Revisited“, in IEEE Computer, March 2014.
I MOOC a fine 2013
Statistiche sui MOOC (Massive Open Online Courses) nel 2013, pubblicate dal portale Class Central.
MOOC
MOOC è l’acronimo di Massive Open Online Course. Si tratta di corsi di formazione online, che dal 2012 vengono offerti gratuitamente da numerose università internazionali, o in modo diretto o tramite società come Coursera, edX, Udacity.
Il fenomeno è iniziato nel 2012 ed è destinato a durare, anche se il modello di business (chi e come ci guadagna) non è ancora chiaro, o quantomeno univoco. Il contenuto dei corsi è nella maggior parte dei casi identico a quello che i docenti trattano nei loro corsi in aula. Il rapporto dei partecipanti con il docente però non è e non potrebbe essere diretto, dato che ad ogni corso partecipano tipicamente migliaia o decine di migliaia di allievi.
Personalmente lavoro già da alcuni anni sui meccanismi di formazione online, con la pubblicazione in forma sperimentale di alcuni dei miei corsi e come docente dei corsi dell’AST – Association for Software Testing.
Nel caso dei corsi AST sul testing, alle sessioni formative partecipa un numero massimo di 15 allievi che lavorano con l’assistenza dei docenti (a differenza di quanto avviene nei MOOC) e vengono svolte esercitazioni individuali e di gruppo in un contesto internazionale e per un periodo di tempo definito e limitato.
In base alle mie esperienze come autore, come docente e come partecipante, penso che il formato online sia un utile complemento alla formazione “in presenza”, quella effettuata in aula, anche se più adatto a certi argomenti e meno ad altri.
I MOOC, in particolare, sono efficaci per trasmettere concetti e nozioni teoriche; decisamente meno per un apprendimento effettivo di tecniche da mettere poi in pratica nel lavoro quotidiano, dove la possibilità che l’aula offre di esercitarsi, commettere errori e ottenere suggerimenti e correzioni da parte del docente è fondamentale.
Sono ormai disponibili numerosi resoconti di esperienze e analisi del fenomeno MOOC. Segnalo un articolo apparso a dicembre 2012 su Communications of the ACM, “In the Year of Disruptive Education” di Paul Hyman, e un’intervista a Doug Schmidt, docente ed esperto di design pattern, in Software Engineering Radio.
Black Box Software Testing
Black Box Software Testing (BBST) è una serie di corsi online creati da Cem Kaner e gestiti dalla Association of Software Testing (AST).
I corsi della serie sono:
- Foundations – Introduzione alle tematiche principali del testing del software
- Bug Advocacy – Gestione del rapporto tra chi fa test, chi sviluppa, e gli altri ruoli coinvolti nei progetti software
- Test Design – Panoramica e confronto tra le tecniche di progettazione dei test
Sono corsi impegnativi (anche Foundations), progettati con un’attenzione particolare agli aspetti didattici e formativi, molto utili. Sia per chi si sta avvicinando al testing che per chi già lo pratica a livello professionale.
Una descrizione più approfondita in questo articolo di Cem Kaner.
Competenze a T
In un mondo complesso come il nostro le specializzazioni sono
necessarie. Il “faccio tutto io” funziona solo in contesti limitati, non
in progetti dove è necessario il contributo di varie conoscenze ed
esperienze.
Lo sviluppo di software, in particolare, richiede competenze
specialistiche in diverse aree: competenze relative alla materia
trattata, agli aspetti relazionali e di comunicazione, all’analisi e
design del software e dei dati, tecnologiche. Quando anche solo una di
queste competenze manca, il prodotto finale ha poca qualità.
Le competenze specialistiche sono necessarie. Ma non sono sufficienti. È
necessario che si integrino e che non facciano a pugni tra loro. Cosa
che a volte capita quando tra specialisti di ambiti diversi non si trova
un linguaggio comune, un terreno d’incontro. Quando ognuno vede le cose
dal proprio punto di vista, e percepisce solo i problemi e le
opportunità legati a quel limitato punto di vista.
Come nella storia dell’elefante, nella quale a un gruppo di persone
cieche viene chiesto di toccare l’elefante e di dire poi a cosa
assomigli ciò che sta toccando. Chi tocca le zampe lo confronta a delle
colonne di un tempio, chi tocca la testa a una caldaia, chi tocca la
coda a una fune, chi tocca le zanne a un aratro. Nessuno riesce a
ottenere una visione d’insieme.
Per superare questo limite è necessario che chi partecipa ai progetti di
sviluppo acquisisca, oltre alla propria competenza specialistica, anche
una conoscenza almeno superficiale delle competenze con cui le sue si
devono integrare. Se sono un esperto di analisi dei requisiti, è utile
che sappia quali sono i problemi principali che gli sviluppatori
software devono di solito affrontare. E viceversa. Non devo diventare
esperto di tutto, ma devo sapere come integrare al meglio il mio lavoro
con quello degli altri, e per farlo devo conoscere il loro punto di
vista e le loro criticità.
Bisogna, in altri termini, sviluppare competenze a T. Come recita
Wikipedia, “Il concetto di competenze a T (T-shaped skills), o di
persone a T (T-shaped persons), è una metafora usata nelle assunzioni
del personale per descrivere le abilità delle persone”.
La linea verticale della T rappresenta la profondità delle competenze e
delle esperienze in uno specifico settore, mentre la linea orizzontale
rappresenta l’abilità di collaborare con esperti di altre aree, e di
usare in modo appropriato concetti propri degli altri settori.
Un’abilità indispensabile.
Su questo argomento, anche:
http://www.core77.com/hack2work/2009/09/on_being_tshaped.asp
http://www.alfonsofuggetta.org/?p=9422
Insegnamento basato sulla pratica
Insegnare tramite la pratica, usando la teoria come supporto e non come unico punto di partenza, dà risultati più efficaci. Decisamente più efficaci.
Un articolo di Science il 13 maggio 2011 cita i risultati di uno studio relativo all’insegnamento di fisica all’University of British Columbia. Risultati che corrispondono alla mia esperienza didattica.
L’articolo di Science è a pagamento, ma una sintesi dei risultati è stata pubblicata su The Economist.