<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gabriele Lana &#187; communication</title>
	<atom:link href="http://www.gabrielelana.it/archives/category/comunication/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gabrielelana.it</link>
	<description>on Agile Methodologies and Programming</description>
	<lastBuildDate>Fri, 07 May 2010 14:12:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Una metrica per i professionisti</title>
		<link>http://www.gabrielelana.it/archives/160</link>
		<comments>http://www.gabrielelana.it/archives/160#comments</comments>
		<pubDate>Mon, 08 Mar 2010 10:38:43 +0000</pubDate>
		<dc:creator>Gabriele Lana</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[human]]></category>

		<guid isPermaLink="false">http://www.gabrielelana.it/?p=160</guid>
		<description><![CDATA[Parto da un assunto fondamentale

Il desiderio di controllo nasce dalla paura di non averlo

Da cui una metrica molto semplice da misurare per colui che si definisce professionista

Tutte le volte che un cliente ti chiede a che punto sei in merito ad un lavoro che stai facendo per lui, hai perso 10 punti. Se non rispondi [...]]]></description>
			<content:encoded><![CDATA[<p>Parto da un assunto fondamentale</p>
<blockquote><p>
<em>Il desiderio di controllo nasce dalla paura di non averlo</em>
</p></blockquote>
<p>Da cui una metrica molto semplice da misurare per colui che si definisce professionista</p>
<blockquote><p>
<em>Tutte le volte che un cliente ti chiede a che punto sei in merito ad un lavoro che stai facendo per lui, hai perso 10 punti. Se non rispondi in tempo reale, hai perso 1000 punti</em>
</p></blockquote>
<p>Inutile dire che perdere punti è molto più semplice che guadagnarli&#8230; Quello che penso è che il &#8220;command &#038; control&#8221; non lo voglia spontaneamente nessuno, neanche il cliente, ci si arriva quando costretti, sopratutto per la mentalità italiana dove il 90% della popolazione vorrebbe fare <em>&#8220;l&#8217;intermediario&#8221;</em> nullafacente</p>
<p>Analizziamo il processo mentale del cliente</p>
<ul>
<li><em>Gli ho chiesto di fare questa &#8220;piccola&#8221; cosa due giorni fa e non ho più saputo niente, cosa starà facendo? Starà lavorando? E&#8217; una cosa importante, deve essere pronta per questa sera&#8230; Forse è meglio lasciarlo lavorare, fra poco si farà sentire&#8230;</em></li>
<li><em>Sono le 16:00 e non si è ancora sentito nessuno&#8230; eh no, adesso basta, gli faccio il culo, non è possibile, aveva detto che avrebbe consegnato prima di sera e sono due giorni che non si fa sentire, gli mando una e-mail</em></li>
<li><em>Non risponde <strong>neanche</strong> alle e-mail!!! Lo sapevo, non ha fatto niente!!! Per questa sera non sarà pronto niente e sarò nella merda!!! La prossima volta non ci casco più!!!</em></li>
</ul>
<p>Ora, poco importa se il nostro <em>&#8220;professionista&#8221;</em> era in meditazione per riuscire a finire in tempo, poco importa se effettivamente la consegna è avvenuta in tempo, l&#8217;ansia e il dubbio sono comunque entrati nella mente del cliente che vorrà avere sempre più <em>&#8220;controllo&#8221;</em>, anche se la sua forma di <em>&#8220;controllo&#8221;</em> sarà letale per il progetto :-)</p>
<p><strong>Ogni</strong> volta che un vostro cliente vi chiede informazioni su qualcosa, lo fa perchè si sente <strong>obbligato</strong> a farlo, se potesse eviterebbe, confrontatevi <strong>immediatamente</strong> con lui per capire come fornigli in anticipo le risposte ai suoi dubbi, siate <strong>veri professionisti</strong>, non ve ne pentirete</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gabrielelana.it/archives/160/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Esempi, esempi e ancora esempi</title>
		<link>http://www.gabrielelana.it/archives/77</link>
		<comments>http://www.gabrielelana.it/archives/77#comments</comments>
		<pubDate>Sun, 26 Oct 2008 08:57:17 +0000</pubDate>
		<dc:creator>Gabriele Lana</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.gabrielelana.it/archives/77</guid>
		<description><![CDATA[Durante la preparazione di corsi/presentazioni Matteo mi ha sempre ricordato l&#8217;importanza degli esempi per far comprendere un concetto che potrebbe essere percepito come troppo teorico. Alcuni episodi che sono successi negli ultimi giorni mi hanno fatto riflettere e sono arrivato alla conclusione che Matteo ha proprio ragione. 
Due esempi sono eclatanti: Lo stile architetturale REST [...]]]></description>
			<content:encoded><![CDATA[<p>Durante la preparazione di corsi/presentazioni <a href="http://matteo.vaccari.name/">Matteo</a> mi ha sempre ricordato l&#8217;importanza degli <strong>esempi</strong> per far comprendere un concetto che potrebbe essere percepito come troppo teorico. Alcuni episodi che sono successi negli ultimi giorni mi hanno fatto riflettere e sono arrivato alla conclusione che Matteo ha proprio ragione. </p>
<p>Due esempi sono eclatanti: Lo stile architetturale <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> e Il <a href="http://en.wikipedia.org/wiki/Relational_model">modello relazionale</a> dei dati</p>
<p>Partiamo dall&#8217;ultimo: <a href="http://en.wikipedia.org/wiki/Edgar_F._Codd">Codd</a> ha iniziato a lavorarci negli anni &#8216;70, <a href="http://en.wikipedia.org/wiki/Christopher_J._Date">Date</a> ha scritto una ventina di libri sull&#8217;argomento, ma ascoltando i loro commenti pare che nessuno abbia ancora capito. Nessun RDBMS (fra quelli diffusi) sarebbe infatti considerabile aderente al modello relazionale e la stessa cosa varrebbe anche per lo SQL (inclusi tutti i dialetti e l&#8217;ultimo standard del 99). 40 anni, conferenze, centinaia di migliaia di pagine scritte, ricerche, studi e nessuno ha ancora capito&#8230;</p>
<p>La stessa cosa succede per le architetture REST, pochi giorni fa l&#8217;ennesimo caso di <a href="http://wikis.glassfish.org/socialsite/Wiki.jsp?page=FinalizeRESTAPI">API</a> dichiaratasi RESTful, ma che invece, a detta di <a href="http://en.wikipedia.org/wiki/Roy_Fielding">Roy Fielding</a> <a href="http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven">RESTful non è</a>. La cosa che mi spiazza è la carenza cronica di esempi significativi e chiarificatori.</p>
<p>Gli autori di cui sopra hanno mostrato più di una volta la loro frustrazione di fronte all&#8217;interpretazione errata delle loro teorie, tuttavia sono di una stiticità unica nel fornire esempi di <strong>buona applicazione</strong> del loro lavoro. Nei commenti all&#8217;ultimo <a href="http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven">post</a> che ho citato, per tre volte è stato chiesto a Roy di fornire un&#8217;esempio di una buona API REST&#8230; silenzio. E&#8217; estremamente frustrante per uno come me che cerca di capire, e sinceramente mi domando il perchè di questa situazione&#8230;</p>
<p>Alla fine concordo con <a href="http://www.intertwingly.net/blog/2008/10/21/Progressive-Disclosure">Sam Ruby</a> (autore dell&#8217;ottimo <a href="http://www.amazon.com/o/ASIN/0596529260">RESTful Web Services</a>) quando dice</p>
<blockquote><p>
Without intending to take anything away from Roy’s (valid) criticism on labeling, REST isn’t an all or nothing proposition. One can get significant value from partial adoption
</p></blockquote>
<p>Ovvero: <strong>pragmaticamente</strong> il mondo va avanti comunque :-)</p>
<p>P.S. Sembra che l&#8217;unica API che abbia ricevuto l&#8217;approvazione di Roy sia <a href="http://bitworking.org/projects/atom/rfc5023.html">l&#8217;Atom Publishing Protocol</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gabrielelana.it/archives/77/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>YouRank</title>
		<link>http://www.gabrielelana.it/archives/72</link>
		<comments>http://www.gabrielelana.it/archives/72#comments</comments>
		<pubDate>Sun, 15 Jun 2008 11:36:43 +0000</pubDate>
		<dc:creator>Gabriele Lana</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[human]]></category>

		<guid isPermaLink="false">http://www.gabrielelana.it/archives/72</guid>
		<description><![CDATA[Qualche mese fa mi sono imbarcato in un&#8217;avventura molto sfidante, quella di YouRank, inizialmente mi sono occupato dell&#8217;aspetto metodologico della realizzazione del prodotto, ma da dicembre dell&#8217;anno scorso sono diventato anche uno degli sviluppatori, in particolare mi occupo della realizzazione dell&#8217;estensione che viene installata all&#8217;interno del browser.
YouRank, tecnicamente parlando, è un motore di ricerca distribuito [...]]]></description>
			<content:encoded><![CDATA[<p>Qualche mese fa mi sono imbarcato in un&#8217;avventura molto sfidante, quella di <a href="http://www.yourank.com">YouRank</a>, inizialmente mi sono occupato dell&#8217;aspetto metodologico della realizzazione del prodotto, ma da dicembre dell&#8217;anno scorso sono diventato anche uno degli sviluppatori, in particolare mi occupo della realizzazione dell&#8217;estensione che viene installata all&#8217;interno del browser.</p>
<p>YouRank, tecnicamente parlando, è un motore di ricerca distribuito che non si basa <strong>solamente</strong> sugli aspetti strutturali del web (link, tags, microformats, ecc&#8230;), ma anche e <strong>sopratutto</strong> sull&#8217;attvità dell&#8217;utente. Se sto cercando un termine, i motori di ricerca attuali mi porteranno su pagine che contengono (sintatticamente) quel termine, magari è quello che stavo effettivamente cercando, magari no e allora proseguirò nella ricerca sfruttando i link della pagina in cui mi trovo. Attraverso l&#8217;uso del link sto implicitamente dicendo che quel link è <strong>semanticamente</strong> collegato alla ricerca che stavo facendo e di questo YouRank ne tiene conto.</p>
<p>Non ho mai creduto nelle soluzioni dove la semantica (il significato delle cose) viene dedotta da un sistema artificiale, la mia opinione è che i computer esistono per semplificarci la vita e per sostituirci in tutti quei compiti in cui noi non eccelliamo, non il contrario :-). L&#8217;originalità di YouRank sta nel cercare di capire cosa è veramente importante deducendolo dal comportamento dell&#8217;utente: all&#8217;utente gli aspetti semantici (questo link è importante, questo no), e a YouRank gli automatismi collegati (mi ricorderò del fatto che per te questo link è importante)</p>
<p>La sfida tecnologica è stata quella (e lo è tuttora) di realizzare un prodotto sotto molti aspetti innovativo in un ambiente di sviluppo (mozilla/xul/xpcom) non particolarmente &#8220;friendly&#8221;. L&#8217;estensione è composta da alcuni oggetti xpcom realizzati in c++ (compreso lo storage sqlite opportunamente modificato/ottimizzato) mentre tutto il resto è in javascript </p>
<p>L&#8217;ambiente non lo considero amichevole perchè:</p>
<ul>
<li>Non esiste nessuna libreria di unit testing: esistono molte librerie di unit testing in javascript, ma nessuna che sia stata pensata per essere utilizzata in un contesto diverso da quello di una pagina web, io avevo bisogno di qualcosa che potesse essere eseguito da linea di comando e che desse un feedback interpretabile in maniera automatica. La soluzione è stata quella di realizzare una libreria di unit testing ad hoc</li>
<li>Non esiste un sistema di build: certo, esiste l&#8217;ambiente di build di mozilla/firefox, ma provate ad automatizzarlo in modo che funzioni su tutte le piattaforme che supportiamo (win, linux, mac), in modo che non ci vogliano giorni per ricostruirlo e in modo che una build da ambiente pulito non ci metta delle ore. Alla fine ho scelto ant e make come tools e una serie di file di build non propriamente semplici ma che rispettano tutti i requisiti di cui sopra</li>
<li>Non esiste nessun ambiente di sviluppo: <a href="http://www.activestate.com/Products/komodo_ide/index.mhtml">komodo</a> forse è la cosa che si avvicina di più, ma niente di paragonabile alla &#8220;developer experience&#8221; che puoi avere con eclipse per lo sviluppo di un&#8217;applicazione java. Nota: io sono un utente <a href="http://www.vim.org/">vim</a> e non mi stanno molto simpatici gli IDE (sopratutto quelli che <strong>pretendono</strong> di essere più furbi di me), quindi per me non è stato un grande problema, ma trovare un ambiente di sviluppo condiviso è stato (lo è tuttora) un problema</li>
<li>Mi ero dimenticato dell&#8217;incubo della portabilità del codice senza avere una virtual machine :-)</li>
</ul>
<p>Attualmente il ciclo di sviluppo è settimanale, lo sviluppo di una release inizia il giovedì mattina e termina il mercoledì sera, parallelamente giovedì mattina inizia la fase di test esplorativo della nuova release che viene condotto internamente e che dura due giorni, il rilascio al pubblico avviene di lunedì. Questo lunedì verrà rilasciato il prossimo update che introdurrà la compatibilità con Firefox 3</p>
<p>Nei prossimi giorni mi occuperò di scrivere alcuni post tecnici sul <a href="http://blog.yourank.com">blog</a> di YouRank, quindi se siete interessati all&#8217;idea, installatelo, provatelo, ditemi cosa ne pensate e tenete d&#8217;occhio il blog :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gabrielelana.it/archives/72/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentations Idols</title>
		<link>http://www.gabrielelana.it/archives/61</link>
		<comments>http://www.gabrielelana.it/archives/61#comments</comments>
		<pubDate>Thu, 12 Jul 2007 20:00:02 +0000</pubDate>
		<dc:creator>Gabriele Lana</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[human]]></category>

		<guid isPermaLink="false">http://www.gabrielelana.it/archives/61</guid>
		<description><![CDATA[Da quando Luca mi ha fatto vedere la presentazione fatta da Dick Hardt ad OSCON 2005, il mio modo di vedere le presentazioni è cambiato radicalmente. Le ho sempre considerate dei riassunti, sequenze di &#8220;bullet points&#8221; utilizzare per sottolineare gli aspetti chiave di un discorso, ne avevo una visione piuttosto piatta e sterile, non avrei [...]]]></description>
			<content:encoded><![CDATA[<p>Da quando <a href="http://www.lucamondini.it">Luca</a> mi ha fatto vedere la <a href="http://identity20.com/media/OSCON2005/">presentazione</a> fatta da Dick Hardt ad <a href="http://conferences.oreillynet.com/os2005/">OSCON 2005</a>, il mio modo di vedere le presentazioni è cambiato radicalmente. Le ho sempre considerate dei riassunti, sequenze di &#8220;bullet points&#8221; utilizzare per sottolineare gli aspetti chiave di un discorso, ne avevo una visione piuttosto piatta e sterile, non avrei immaginato che mi si sarebbe aperto un mondo. Visto che nel mio lavoro l&#8217;aspetto della comunicazione è estremamente importante (non a caso è uno dei <a href="http://en.wikipedia.org/wiki/Extreme_Programming#XP_values">valori</a> dell&#8217;eXtreme Programming) mi sono messo a cercare del materiale su come migliorare il mio stile di &#8220;presentazione&#8221; (non pensate alle slide e al proiettore, pensate a delle tecniche efficaci per presentare un idea o un concetto a molte persone), ho acquistato dei libri (come mio solito) e sono diventato un assiduo lettore di <a href="http://www.presentationzen.com/">Presentation Zen</a>. Qual&#8217;è lo scopo di questo post? Semplicemente quello di dirvi che ho trovato un nuovo idolo in questo campo, dopo Dick Hardt, Al Gore, Guy Kawasaki, Steve Jobs e Lawrence Lessig, <a href="http://www.ted.com/index.php/speakers/view/id/90">Hans Rosling</a>, guardatevi <a href="http://www.ted.com/index.php/talks/view/id/140">questa</a> sua presentazione e non perdetevi il finale&#8230; fantastico!</p>
<p>Lo avete visto? Avete visto cosa ha fatto? E&#8217; pazzo o è un genio? Ovviamente entrambe :-) Questo filmato mi ha fatto capire che un gesto eclatante, spiazzante, è un mezzo molto efficace per fissare in maniera indelebile nei ricordi degli spettatori il concetto che si vuole comunicare. Quando ho visto la scena finale, mi sono ricordato di quando Sussman, nei video originali del corso del MIT <em>&#8220;<a href="http://video.google.com/videosearch?q=structure+and+interpretation+of+computer+programs">Structure and Interpretation of Computer Programs</a>&#8220;</em>, si presenta alla classe vestito da &#8220;loggia del leopardo&#8221; (con tanto di fez e scettro) e chiede un momento di silenzio per &#8220;onorare&#8221; il codice (scritto su quattro lavagne) dell&#8217;interprete LISP scritto in LISP, imperdibile :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gabrielelana.it/archives/61/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
