SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Il programmatore sociale
Social network e Ingegneria del software
prof. Marcello Missiroli
Aprile 2014, ITIS Corni
Il programmatore, oggi
In linea di massima, non è che
il programmatore abbia una
grande considerazione
sociale
Nel pensiero comune, un
programmatore è solitamente
un concetto fortemente
stereotipato..
Come questo...
…o questo!
Per fortuna...
Questo sta cambiando, per
fortuna.
Per tanti motivi..
Come, per esempio,...
●
I progetti software raggiungono una
dimensione tale per cui è IMPOSSIBILE
sviluppare senza comunicare
●
L'arrivo di Internet ci permette di comunicare e
gestire le informazioni con grande facilità
senza limiti di tempo e di spazio
●
I Social media ci permettono di interagire in
modo semplice e gradevole
Tutto questo porta 
al...
Programmatore sociale!
Cosa serve?
●
Strumenti adeguati
●
Metodologie moderne
●
Sviluppare abilità non
tecnologiche
●
(e, ovviamente, essere bravi
a programmare)
Oltre le attivià di sviluppo e 
manutenzione…
appaiono ecosystemi software 
e communità specializzate
"Noi costruiamo i nostri strumenti, e dopo gli strumenti forgiano
noi", Leggi dei Media di Marshall McLuhan
"Noi costruiamo i nostri strumenti, e dopo gli strumenti forgiano
noi", Leggi dei Media di Marshall McLuhan
http://www.youtube.com/watch?v=A7GvQdDQv8g
Quali sono le tecniche etecniche e
strumentistrumenti che portano il
maggiore cambiamento?
Quali sono le tecniche etecniche e
strumentistrumenti che portano il
maggiore cambiamento?
Nuove tecniche dello sviluppo
Social
Media
Pair
programming
Controllo
Versione
Inglese
Metodi
agili
Abilità
Sociali
Tool
Avanzati
Tool
Integrated development environments:
Text editor:
Tool
Avanzati
Pair programming Pair
programming
Programmare in coppia produce codice
molto più corretto.
Anche se non sembra, si produce più
codice e quindi conviene anche
economicamente
Controllo versione Controllo
Versione
Permettono di programmare in remoto,
in parallelo, “resistendo” agli errori
Abilità sociali
         
Dovrete PARLARE e confrontarvi con
la gente
Essere gentili, gradevoli e non testardi
vi permetterà di lavorare meglio
Saper comunicare (verbalmente e per
iscritto) sarà il vostro punto forte
Abilità
Sociali
Inglese
         
L'inglese è la lingua di Internet.
E della globalizzazione. Specie
nell'informatica e nell'ambito
scientifico.
Non potete ignorarlo.
Punto.
Inglese
Metodi agili
Rivoluzionano il modo di costuire il software,
“rovesciando” il modo tradizionale e proponendo
tecniche innovative
Metodi
agili
“Architettura della participazione”
Tim O’Reilly
“Architettura della participazione”
Tim O’Reilly Social
Media
Qual'è il ruolo dei mediaruolo dei media nello
sviluppo del software?
Qual'è il ruolo dei mediaruolo dei media nello
sviluppo del software?
I social media nello sviluppo del
software
Wiki, social
network...
Tagging
Microblogging
Siti di
domande e
risposte
Social
Coding
Blogging
Commenti
al sorgente
Commenti
al sorgente
Tagging
– Categorizazione (problematiche
comune)
– Organizzazione
– Modo di lavoro del team
Tagging
Microblogging
I programmatori twittano spesso fatti e considerazioni sulla
programmazione. Integrati negli IDE?
MicroBlogging
Blogging
Determining requirements through blogs
[Park and Maurer, CHASE 2009]
How developers blog: high-level concept discussion and
requirements
[Pagano and Maalej, MSR 2011]
Blogs play a role in documenting APIs
[Treude and Parnin, Web2SE 2011]
Blogging
Siti di
domande e
risposte
Più del 92% delle
domande di
Stackoverflow
ottengono una risposta,
con un tempo medio di
risposta di 11 minuti
Social Coding 
Permette trasparenza
Costruisce una reputazione
Gestione dei profili
Autopromozione
Social
Coding
Wiki etc...Wiki etc...
• Wikis utili per documentare,
brainstorming, organizzare il lavoro!
• Crowdsourcing della codifica
(TopCoder) e del test
(Approccio al test A/B di Google)
• Utente finale icoinvolto nel progetto
• Portali delle comunità software
Wiki, social
network...
Come si fa?
Non si può imparare tutto in una
volta, naturalmente...”nessuno
nasce imparato”.
Oltre ad affinare le vostre abilità sul
linguaggio, dovete affinare anche il
resto.
Per partire, scegliete una tecnica e
uno strumento social e provate a
usarlo per un mese.
Grazie per l'attenzione!
Gran parte di queste dispense
(soprattutto la parte grafica)
derivano da questo lavoro di M.S.
Storey:
http://www.slideshare.net/mastore
y/msr-2012-keynote-storey-
slideshare
Per tutto il resto, vale la licenza CC-
BY-SA 3.0

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (17)

Insegnare Agile
Insegnare AgileInsegnare Agile
Insegnare Agile
 
Corso Moodle: perché?
Corso Moodle: perché?Corso Moodle: perché?
Corso Moodle: perché?
 
Dhcp
DhcpDhcp
Dhcp
 
Corso Moodle: presentazione
Corso Moodle: presentazioneCorso Moodle: presentazione
Corso Moodle: presentazione
 
Ruby in 25 minuti
Ruby in 25 minutiRuby in 25 minuti
Ruby in 25 minuti
 
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
 
Il ciclo for
Il ciclo forIl ciclo for
Il ciclo for
 
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
 
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)
 
Investire nelle user story
Investire nelle user storyInvestire nelle user story
Investire nelle user story
 
Routing dinamico
Routing dinamicoRouting dinamico
Routing dinamico
 
Espressioni regolari
Espressioni regolariEspressioni regolari
Espressioni regolari
 
Introduzione a java doc
Introduzione a java docIntroduzione a java doc
Introduzione a java doc
 
The Sequel to sql
The Sequel to sqlThe Sequel to sql
The Sequel to sql
 
Introduzione al dns
Introduzione al dnsIntroduzione al dns
Introduzione al dns
 
Il sistema binario
Il sistema binarioIl sistema binario
Il sistema binario
 

Ähnlich wie L'avvento del programmatore sociale

Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
Manuela Moroncini
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel business
Rita Bonucchi
 
Aldai 29-giugno-2010
Aldai 29-giugno-2010Aldai 29-giugno-2010
Aldai 29-giugno-2010
rosariiosica
 

Ähnlich wie L'avvento del programmatore sociale (20)

Lavori digitali: il Social Media Manager
Lavori digitali: il Social Media ManagerLavori digitali: il Social Media Manager
Lavori digitali: il Social Media Manager
 
Il pensiero computazionale - Che cosa è - Perché usarlo a scuola.
Il pensiero computazionale - Che cosa è - Perché usarlo a scuola.Il pensiero computazionale - Che cosa è - Perché usarlo a scuola.
Il pensiero computazionale - Che cosa è - Perché usarlo a scuola.
 
Enterprise 2 0 - una introduzione
Enterprise 2 0 - una introduzioneEnterprise 2 0 - una introduzione
Enterprise 2 0 - una introduzione
 
Il web 2.0 non esiste, esistono solo persone 2.0!
Il web 2.0 non esiste, esistono solo persone 2.0!Il web 2.0 non esiste, esistono solo persone 2.0!
Il web 2.0 non esiste, esistono solo persone 2.0!
 
Ufficio stampa e PR 2.0 - Venezia Camp
Ufficio stampa e PR 2.0 - Venezia CampUfficio stampa e PR 2.0 - Venezia Camp
Ufficio stampa e PR 2.0 - Venezia Camp
 
Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
Open Knowledge: Emanuele Scotti, L'Enterprise 2.0: un nuovo paradigma di svil...
 
Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010Laboratorio Web Journalism | 17 dicembre 2010
Laboratorio Web Journalism | 17 dicembre 2010
 
Francesco Liguori, Giuliano Liguori | Il Project Manager ai tempi dell'IA
Francesco Liguori, Giuliano Liguori | Il Project Manager ai tempi dell'IAFrancesco Liguori, Giuliano Liguori | Il Project Manager ai tempi dell'IA
Francesco Liguori, Giuliano Liguori | Il Project Manager ai tempi dell'IA
 
Introduzione al Coding e Pensiero computazionale
Introduzione al Coding e Pensiero computazionaleIntroduzione al Coding e Pensiero computazionale
Introduzione al Coding e Pensiero computazionale
 
Presentazione della Codeweek
Presentazione della Codeweek Presentazione della Codeweek
Presentazione della Codeweek
 
Mobile Camp @Univpm - Introduzione all'evento
Mobile Camp @Univpm - Introduzione all'eventoMobile Camp @Univpm - Introduzione all'evento
Mobile Camp @Univpm - Introduzione all'evento
 
Lavoratori del Web: coniugare diritti e opportunità
Lavoratori del Web: coniugare diritti e opportunitàLavoratori del Web: coniugare diritti e opportunità
Lavoratori del Web: coniugare diritti e opportunità
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel business
 
Il modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo softwareIl modello collaborativo dell'open source per lo sviluppo software
Il modello collaborativo dell'open source per lo sviluppo software
 
Facebook e l'Architetto
Facebook e l'ArchitettoFacebook e l'Architetto
Facebook e l'Architetto
 
Presentazione del Blog "Rally The Troops"
Presentazione del Blog "Rally The Troops"Presentazione del Blog "Rally The Troops"
Presentazione del Blog "Rally The Troops"
 
Aldai 29-giugno-2010
Aldai 29-giugno-2010Aldai 29-giugno-2010
Aldai 29-giugno-2010
 
Web 2.0, Knowledge Management, Social Network...
Web 2.0, Knowledge Management, Social Network...Web 2.0, Knowledge Management, Social Network...
Web 2.0, Knowledge Management, Social Network...
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei Microservizi
 
Internet per l’educazione
Internet per l’educazioneInternet per l’educazione
Internet per l’educazione
 

Mehr von Marcello Missiroli

Mehr von Marcello Missiroli (11)

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
 

L'avvento del programmatore sociale