<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>sviluppo-software &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/sviluppo-software/</link>
	<description>Feed of posts on WordPress.com tagged "sviluppo-software"</description>
	<pubDate>Wed, 15 Oct 2008 22:38:51 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[La fine anno e gli incentivi]]></title>
<link>http://giovannicuccu.wordpress.com/?p=36</link>
<pubDate>Wed, 15 Oct 2008 20:45:47 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/10/15/la-fine-anno-e-gli-incentivi/</guid>
<description><![CDATA[Dopo aver letto l&#8217;ultimo articolo di Joel Spolsky sulle commissioni ovvero sugli incentivi a v]]></description>
<content:encoded><![CDATA[<p>Dopo aver letto l'ultimo <a title="articolo" href="http://www.inc.com/magazine/20081001/how-hard-could-it-be-sins-of-commissions.html?partner=fogcreek">articolo</a> di Joel Spolsky sulle commissioni ovvero sugli incentivi a vendere ed in generale a raggiungere gli obbiettivi aziendali mi sono reso conto (oltre al fatto che Joel è quasi sempre tre passi avanti) che questo meccanismo è perverso e che andrebbe rivisto o quantomeno controllato. Cosa ci azzecca la fine anno? e' tempo di budget, quel periodo in cui si concretizza la scadenza annuale e in cui si può parlare di medio evo ovvero di un tempo di regressione. Il messaggio è: se non si fa il budget sono problemi, per cui si rilassano tantissimi vincoli e si cerca in tanti modi di raggiungere l'obiettivo economico. Peccato che la maggior parte delle persone cominci a vedere solo l'obbiettivo economico e se ne freghi delle conseguenze arrecate ai colleghi. In una azienda di software chi sono i più bombardati?</p>
<p>La risposta è facile: quelli che producono il software, ovvero i tecnici.</p>
<p>A loro viene chiesto di fare in tre o quattro mesi quello che hanno fatto in otto (come se prima ci fossimo grattati i cabasisi) e comincia la fiera dell'improduttività causata dal fatto che i PM&#38;C devono fare le famose riunioni di allineamento, ovvero incontri volti a produrre un piano di azione e delle scadenze (sempre per i tecnici).</p>
<p>Perchè scrivo questo? perchè penso che si possa evitare o almeno limitare il clima veramente difficile da gestire.</p>
<p>Soluzione numero 1: dividere l'anno in due e quello che si manca a fine giugno è recuperabile solo in minima parte a dicembre.</p>
<p>Soluzione numero 2: legare gli obbiettivi non solo al budget economico, ma anche ad una valutazione  da parte della struttura produttiva che soffre di queste condizioni.</p>
<p>Sono convinto che questi due punti possano da soli far evolvere la situazione verso il meglio; conosco le possibili obiezioni specialmente riguardo al primo punto: <strong>è impossibile </strong>sono i clienti/committenti che non ci consentono di spezzare l'anno in due.</p>
<p>Posso non crederci? Posso ipotizzare che i clienti si comportano così perchè noi li abbiamo abituati/assecondati a fare così?</p>
<p>Posso ritenere che se un PM o chi per lui si presenta con una cosa da fare all'ultimo minuto e sa che riceverà per quello un guidizio che influisce negativamente sul suo premio di produzione pianifica meglio l'attività?</p>
<p><em>Se i tecnici non possono dire che una cosa è impossibile perchè possono dirlo gli altri?</em></p>
<p>Concludo con una delle osservazioni riportate nell'articolo che ho citato; quando si stabiliscono delle commissioni o degli incentivi bisogna sempre tenere presente che le persone faranno tutto il possibile e alla fine troveranno degli <strong>stratagemmi</strong> per riuscirci; strategemmi è diverso da soluzioni.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[L'open source e le sue possibili implicazioni il caso Spring]]></title>
<link>http://giovannicuccu.wordpress.com/?p=32</link>
<pubDate>Wed, 08 Oct 2008 19:13:17 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/10/08/lopen-source-e-le-sue-possibili-implicazioni-il-caso-spring/</guid>
<description><![CDATA[Adesso che le acque si sono calmate e che la vicenda è finita bene vorrei provare a fare qualche ri]]></description>
<content:encoded><![CDATA[<p>Adesso che le acque si sono calmate e che la vicenda è finita bene vorrei provare a fare qualche riflessione sull'argomento. Parto dai fatti. In ambiente Java lo Spring-framework si è affermato come uno standard importante per lo sviluppo. Spring è rilasciato con licenza Apache che è, insieme a quelle BSD, una delle più permissive, ovvero con il codice ed il jar relativo ci puoi fare quello che vuoi. Spring è sviluppato da una azienda Spring Source che dalle attività di supporto, consulenza e sviluppo closed trova il suo sostentamento.</p>
<p>Fino a un mese fa venivano rilasciati i jar delle versioni con un ciclo di vita classico, rilascio delle major release (es 2.5) a cui seguivano le versioni con bug fix (2.5.1, 2.5.2, etc). Ed ecco che arriva l'annuncio, Spring Source cambia politica e dice che i sorgenti saranno rilasciati sempre cona la stessa licenza e sempre con su subversion, ma ci saranno solo i jar delle major release e delle minor release che verranno rilasciate entro tre mesi dalla data di rilscio delle mino release. Dopo i tre mesi ognuno fa da se' se vuole i jar in quanto sul subversion pubblico non ci sono ne tag ne branch quindi nessuna informazione per creare delle minor release comuni. Se si vogliono i jar delle minor release successive si deve sottoscrivere un contratto di supporto.</p>
<p>Credo che si tratti di un caso da manuale. Il sorgente rimane disponibile a tutti, puoi compilarlo, ma in realtà la libertà è solo apparente. Se dopo i tre mesi trovo un bug cosa faccio? Consulto la lista dei bug e se questo è stato corretto scarico i sorgenti e li compilo. Benissimo a questo punto che versione sto usando? boh. Come faccio a chiede supporto sui forum della comunità se in pochi ho nessuno usa la mia versione? E' facile intuire che se si vogliono creare delle applicazioni da metter ein produzione su cui garantire un supporto non si può procedere "liberi e belli" a meno di avere delle persone dedicate ai problemi Spring. Per cui ritengo che tale policy <strong>costringa di fatto a comprare il supporto da Spring Source.</strong> E' il classico caso in cui del sorgente te ne fai veramente poco, quello che conta è che hai un prodotto di qualità, gratis e con un supporto da parte della comunità. E' questo che dal punto di vista dell'utilizzatore conta, la libreria ed il supporto (per il management conta molto anche il fatto che è gratis); il sorgente spesso è uno specchietto per le allodole; un'altra cosa che conta è che la licenza consenta di vendere l'applicazione a sorgente chiuso (cosa che per esempio la licenza GPL non ammette).</p>
<p>Per fortuna le proteste della comunità hanno indotto Spring Source ad un cambio di rotta che ha portato al rilascio dei jar delle minor release fino alla versione RC della successiva major relase. Il problema si è notevolmente ridimensionato, a patto di essere sempre sulla cresta dell'onda ovvero di adottare l'ultima versione. Chi non se lo può permettere paga e tutto sommato è giusto così.</p>
<p>Vorrei concludere con una riflessione sui prodotti open source; l'analisi di una serie di casi mostra come storicamente tutti i prodotti che hanno dietro di sè una azienda che ne controlla lo sviluppo seguono un ciclo in cui la versione free (nel senso di free beer) subisce delle limitazioni del tempo; basti guardare Spring, MySQL, extJS e se ricordo bene anche le librerie QT. Il motivo è quasi sempre il profitto. Nel caso di prodotti open che sono sviluppati dalla comunità (Tomcat o Postgresql per esempio) questo non può succedere in quanto c'è una comunità di individui che spesso ricava profitto da altre fonti o in maniera indiretta. Lo svantaggio è che non ci sono persone dedicate allo sviluppo quindi le release possono essere diluite (anche se OpenBSD dimostra esattamente il contrario).</p>
<p>La scelta di un prodotto open source deve essere quindi effettuata facendo anche valutazioni di questo tipo in quanto i cambiamenti in corsa sono spesso sgradevoli e costringono ad un esborso economico improvviso oltre che ad una perdita di fiducia nel prodotto che si sta usando.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[ho cambiato il nome al blog]]></title>
<link>http://giovannicuccu.wordpress.com/?p=28</link>
<pubDate>Tue, 16 Sep 2008 12:12:41 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/09/16/ho-cambiato-il-nome-al-blog/</guid>
<description><![CDATA[Oggi ho deciso di cambiare nome al blog in quanto, purtroppo per me, devo ammettere che non sono pi]]></description>
<content:encoded><![CDATA[<p>Oggi ho deciso di cambiare nome al blog in quanto, purtroppo per me, devo ammettere che non sono più un tecnico in senso stretto. Da diversi mesi devo coordinare il lavoro di altri e mi rimane veramente poco tempo per programmare e progettare software. Sono convinto che le cose cambieranno (a favore delle attività di programmazione), ma ci vorrà del tempo; inoltre sono visto come responsabile e non come operativo per cui non posso più parlare di vita da tecnici. Sono (e credo rimarrò) una persona che sa cosa vuole dire programmare e progettare software per cui da oggi il mio punto di vista sarà quello di chi, sapendo come si fanno le cose ed essendo responsabile di un gruppo di persone che lo devono realizzare, cerca la quadratura del cerchio (ovvero mettere d'accordo capi progetto e tecnici).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[I tipi di tecnico IT e la qualità del software]]></title>
<link>http://giovannicuccu.wordpress.com/?p=26</link>
<pubDate>Sat, 12 Jul 2008 13:29:07 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/07/12/i-tipi-di-tecnico-it-e-la-qualita-del-software/</guid>
<description><![CDATA[Esistono diverse categorie di tecnici IT, ma vorrei soffermarmi su due categorie.
La prima è quella]]></description>
<content:encoded><![CDATA[<p>Esistono diverse categorie di tecnici IT, ma vorrei soffermarmi su due categorie.</p>
<p>La prima è quella che quando chiedi una stima ti fornisce un numero di giornate sempre piuttosto basso (sono la fortuna dei commerciali e dei PM) e che alla fine entro la data stabilita qualcosa riesce a darti. il problema è quasi sempre il cosa. Spesso il software realizzato mostra una serie di bug evidenti che rivela che il grosso del lavoro è stato fatto, ma manca ancora la fase di rifinitura (ovvero quella di test serio). Cosa significa la maggior parte del lavoro? Significa che il codice all'80% circa c'è già tutto, non sono gestite le finezze ed i casi "estremi" (ovvero tutte quelle condizioni di input normali per l'utente, ma ignote allo sviluppatore).</p>
<p>Peccato che per l'utilizzatore questo significhi che il prodotto è al 40/50% non all'80, con le conseguenti lamentele del PM, del commerciale, del cliente.</p>
<p>Questo tipo di persona, se ha passione per il suo lavoro e non è uno che tira via (basta guardare come è scritto il codice per riconoscere il tipo), è di quelli a cui piace cambiare progetto e imparare sempre, a volte a ritmi decisamente elevati. Il motivo per cui non esegue i test è che ha già assorbito le basi della tecnologia e quindi ha già la testa che pensa al prossimo progetto, i test non aggiungono nulla o quasi al suo percorso tecnico.</p>
<p>Il secondo tipo di tecnico IT è quello che si potrebbe definire "Camillo Precisini" (il nome è preso da una favola per bambini che parla di un cane estramente meticoloso e preciso, fino all'esagerazione). Per lui il software non è mai finito e dopo la prima fase di realizzazione ne segue una, tendenzialmente infinita, di test, test, test. Difficilmente queste persone ti danno una data di fine (se te la danno) compatibile con le scadenze del progetto. La fine di solito la mette il PM che intima di rilasciare il prodotto, pena la crocifissione nella mensa aziendale. Il prodotto finito è decisamente più stabile e l'utente è più soddisfatto.</p>
<p>Quela dei due profili dovrebbe essere privilegiato(a parità di eleganza del codice e dell'architettura software)?</p>
<p>La risposta sembrerebbe essere il secondo.</p>
<p>Vorrei riflettere più a fondo.</p>
<p>Il tecnico smanettone consegna generalmente in tempo ed il suo semilavorato necessita di qualche giorno (ovviamente dipende dalla dimensione del sofware) per essere definito accettabile da cliente. E' il classico caso in cui il PM che conosce i suoi polli aggiunge un tot di giorni di margine e raggiunge l'obiettivo. Il tecnico preciso consegna quasi sempre in ritardo e comunque vorrebbe avere più tempo, vorrebbe avere più specifiche, etc,etc. Il software che consegna anche se più stabile, va comunque rivisto, in quanto la produzione software segue un percorso ciclico in cui ad ogni consegna si rivedono alcuni presupposti precedenti.</p>
<p>La cosa che va capita è che il software è buono solo se chi lo usa lo ritiene tale; inoltre essendo un prodotto umano è per definizione soggetto ad errori. Che senso ha consegnare un software tre mesi dopo e avere lo stesso gli utenti che lamentano (anche se meno rispetto a quello che sarebbe avvenuto tre mesi prima)?</p>
<p>In questo caso l'utente ti dice: me lo hai consegnato tardi e ci sono <strong>pure</strong> degli errori (per lui evidenti).</p>
<p>Gli errori ci saranno sempre, tanto vale consegnare in tempo e poi correggere gli errori.</p>
<p>I programmatori migliori di solito vorrebbero produrre un software che loro giudicano decente; la cosa che va capita è che:</p>
<ol>
<li>Spesso il grado di qualità del software è percepito molto diversamente dall'utente</li>
<li>Non è detto che si debba arrivare alla qualità ottenuta al primo rilascio</li>
</ol>
<p>La qualità del software, intesa sia dal punto di vista del codice che delle funzionalità utente, si ottiene solo dopo una fase di rodaggio in produzione quando si capisce cosa questo deve fare anche dal punto di vista dei dettagli operativi. Questo significa che è ottenibile sono dopo n iterazioni sviluppatore-utente.</p>
<p>In questo scenario il primo profilo spende meno tempo ed energia e nel lungo periodo, a parità di qualità, riesce ad essere più produttivo. Senza contare che nel mondo reale è tutto urgente ed il tempo non basta mai, per cui avere delle persone che investono tempo in cose che si potrebbero rivelare inutili o che potrebbero essere essere fatte fra n mesi può essere un elemento di freno oggettivo. Questo non vuol dire che non ci sia posto per i precisini, ma che questi dovrebbero cercare di bilanciare gli smanettoni (direi che un precisino e due smanettoni è una buona proporzione) per ottenere un compromesso accettabile.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[...ma liberaci dai bug!]]></title>
<link>http://andreachiarelli.wordpress.com/?p=9</link>
<pubDate>Thu, 19 Jun 2008 16:33:58 +0000</pubDate>
<dc:creator>Andrea Chiarelli</dc:creator>
<guid>http://andreachiarelli.it.wordpress.com/2008/06/19/ma-liberaci-dai-bug/</guid>
<description><![CDATA[Come si fa a far capire ad un cliente che non c&#8217;è modo di garantire l&#8217;assenza di bug in]]></description>
<content:encoded><![CDATA[<p>Come si fa a far capire ad un cliente che <strong>non c'è modo di garantire l'assenza di bug in un programma</strong>?<br />
E' una questione di teoria della calcolabilità: dato un programma <a href="http://en.wikipedia.org/wiki/Rice%27s_theorem">è impossibile dimostrare</a> che esso è privo di bug.<br />
<strong>L'unico approccio disponibile è la statistica</strong>: maggiore è il numero di test a cui viene sottoposto un programma, più alta è la probabilità di scovare dei bug e (una volta corretti) più il programma diventa stabile, cioè si abbassa la probabilità che ci siano altri errori.</p>
<p><!--more--></p>
<p>Naturalmente <strong>i programmatori devono adottare tutti gli accorgimenti possibili</strong> per individuare i bug nei loro programmi e correggerli, ma non possono avere mai la certezza che il loro programma ne è immune.</p>
<p>La cosa è venuta fuori quando qualche tempo fa abbiamo scoperto un piccolo bug in un nostro programma che in determinate situazioni sbagliava alcuni calcoli. Abbiamo corretto il bug ed <strong>il cliente voleva la certezza che non si verificassero più errori</strong>. Abbiamo cercato di spiegare che non potevamo dare questa certezza (<em>non siamo commerciali, noi...</em>), ma il cliente non mi è sembrato molto convinto.</p>
<p>La sua obiezione era pressappoco su questi toni: <strong>come si fa ad utilizzare degli strumenti che non offrono certezze?</strong> Che da un momento all'altro potrebbero venir fuori con un malfunzionamento?<br />
Come si fa a fidarsi di uno strumento semplicemente su una base statistica?<br />
E' da diversi mesi che non si presentano più problemi quindi è probabile che neanche domani se ne verificheranno: è sufficiente questo per stare tranquilli?</p>
<p>A pensarci bene non è molto diverso dall'affermare: fino ad oggi non sono mai stato colpito da un meteorite, non c'è motivo per non credere che neanche oggi verrò colpito...</p>
<p>O no?!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[I tecnici e i Project Manager]]></title>
<link>http://giovannicuccu.wordpress.com/?p=24</link>
<pubDate>Sun, 15 Jun 2008 13:56:36 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/06/15/i-tecnici-e-i-project-manager/</guid>
<description><![CDATA[Il rapporto fra tecnici e PM (ovvero i project manager) è quello che solitamente crea più grattaca]]></description>
<content:encoded><![CDATA[<p>Il rapporto fra tecnici e PM (ovvero i project manager) è quello che solitamente crea più grattacapi. Le cause sono molteplici, ma due sono quelle più frequenti</p>
<ol>
<li>I soldi</li>
<li>il tempo</li>
</ol>
<p>Se queste due si è discusso a lungo per cui oggi voglio affrontare un altra causa, più rara, ma ben più insidiosa: il PM ex o finto tecnico. E' un mix quasi micidiale che richiede molta calma e fermezza per essere gestito.</p>
<p>Lo scenario è di solito è il seguente:</p>
<p>Arriva il PM con il progetto completo di importo, giornate uomo e scadenze (le stime le ha fatte lui, ha imparato a farle quando era tecnico). Ecco il "pacco regalo", tutto già fissato, c'è solo da lavorare. Con una sola piccola clausola, che il PM guarda, analizza e critica. E arrivano domande di questo tipo:</p>
<p>Ma questa funzione vuoi proprio farla così?<br />
Ma sei sicuro di scegliere questa architettura?</p>
<p>Per poi passare in un crescendo quasi inarrestabile alle frasi del tipo</p>
<p>L'ho già fatto 10 anni fa nella metà dei giorni e dei soldi.</p>
<p>A questo punto la risposta è scontata: allora perchè non hai proposto la tua soluzione?</p>
<p>L'approccio da seguire, se si vuole evitare di arrivare ad una frizione inutile a tutti è quella di stabilire dei confini basati sulle responsabilità: se il progetto è in difficoltà per ragioni tecniche chi è il responsabile?</p>
<p>Lo si scriva nero su biano ed in cc a chi di dovere e la partita è chiusa. Si concorda un piano di scadenze e si lavora su quello.</p>
<p>Le cause di questi attriti non sono tecniche, sono caratteriali. I tecnici solitamente sono tali perchè amano avere il controllo delle cose che fanno, ovvero avere la sensazione (ed in vb6 si andavo veramente poco più in là) che quello che si produce sia assolutamente deterministico. Che cosa controlla un PM?</p>
<p>L'operato di altre persone (oltre ai soldi s'intende).</p>
<p>Non c'è niente di meno deterministico (e se poi si usa ancora vb6.....)</p>
<p>Come reagisce il PM? Cercando di imporre la sua autorità, con la speranza di un maggiore controllo.</p>
<p>Peccato che le persone riconoscono l'autorità (in senso lato, ovvero si creino dei riferimenti di cui fidarsi) e quelle imposte senza fondamenta creano un sentimento completamente diverso.</p>
<p>Che fare (se il PM non ci arriva da solo)?</p>
<p>L'unica speranza di lavorare sereni è quello di concordare costi e scadenze sensati e cercare di proporre soluzioni alle situazioni critiche, ovvero di cominciare a dare delle certezze.  Se il PM capisce di avere un  maggiore controllo e capisce anche che comportandosi in un certo modo può continuare ad averlo probabilmente cambierà atteggiamento.</p>
<p>Basterebbe capire che in progetto in cui ci sono n tecnici ed un pm che farà per forza di cose la maggior parte del lavoro? Per raggiungere lo scopo chi è che deve essere produttivo al 100%?</p>
<p>I tecnici, per cui o li si motiva o non si raggiunge l'obbiettivo.</p>
<p>Se non lo capisce (o non lo si vuole capire)....pazienza, peggio per lui; probabilmente rinuncerà ad una parte del suo premio di produzione (che di solito è più alto di quello di un tecnico).</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Un libro da non perdere]]></title>
<link>http://giovannicuccu.wordpress.com/?p=23</link>
<pubDate>Tue, 27 May 2008 19:44:32 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/05/27/un-libro-da-non-perdere/</guid>
<description><![CDATA[Oggi ho cominciato la lettura di un nuovo libro e (finalmente) ho avuto la conferma che non sono un ]]></description>
<content:encoded><![CDATA[<p>Oggi ho cominciato la lettura di un nuovo libro e (finalmente) ho avuto la conferma che non sono un pazzo visionario, almeno per quanto riguarda il modo di gestire i tecnici di una azienda IT. Essa afferma che molti manager SBAGLIANDO trattano i tecnici come pezzi di una catena di montaggio, quando un pezzo si rompe basta ordinarne uno uguale. Finalmente dopo 10 anni di lavoro leggo un libro che mette nero su bianco quello che ho sempre pensato, ovvero che il motto</p>
<p>"nessuno è insostituibile"</p>
<p>sia solo una mezza verità; in quanto è vero che l'azienda di una certa dimensione va avanti anche se una persona meritevole se ne va, ma è anche vero (e in questo moento non sto pensando a me stesso) che la "botta" spesso si sente (e nel 1999-2000 di botte ne ho sentite parecchie).</p>
<p>Il libro continua mostrando come i manager spesso agiscano in maniera semplicemente illogica perchè</p>
<p>"Le non soluzioni facili hanno molto più appeal delle soluzioni impegnative"</p>
<p>Molto bello anche il capitolo che spiega come sia sbagliato dare scadenze impossibili o mettere continuamente sotto pressione i tecnici.</p>
<p>Il tutto fa il paio con un paio di situazioni reali (una vissuta in pirma persona ed una no) che confermano ancora di più che non sono io il matto, ma chi crede che lo sviluppo software sia uguale al mondo della produzione industriale (e gestisce le persone come tali).</p>
<p>Mi chiedo come mai ci ho messo tanto a scovare questo libro.</p>
<p>Per chi fosse interessato sto parlando di "Peopleware" di Tom DeMarco - Timothy Lister</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ancora sui file di testo]]></title>
<link>http://sassaroli.wordpress.com/?p=13</link>
<pubDate>Sun, 20 Apr 2008 21:45:15 +0000</pubDate>
<dc:creator>sassaroli</dc:creator>
<guid>http://sassaroli.it.wordpress.com/2008/04/20/ancora-sui-file-di-testo/</guid>
<description><![CDATA[Una precisazione. La mia non vuole essere una campagna contro i file di testo, nè verso il loro uti]]></description>
<content:encoded><![CDATA[<p>Una precisazione. La mia non vuole essere una campagna contro i file di testo, nè verso il loro utilizzo come mezzo per la memorizzazione del codice sorgente. La mia critica è che anche linguaggi e strumenti di programmazione di alto livello portano ancora oggi il fardello del legame con la rappresentazione fisica del sorgente. Vorrei un maggiore disaccoppiamento tra ciò che lo sviluppatore manipola e la sua rappresentazione fisica. Tale disaccoppiamento darebbe forti vantaggi a entrambi gli aspetti.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Linguaggi di programmazione e file di testo]]></title>
<link>http://sassaroli.wordpress.com/?p=12</link>
<pubDate>Tue, 15 Apr 2008 12:05:54 +0000</pubDate>
<dc:creator>sassaroli</dc:creator>
<guid>http://sassaroli.it.wordpress.com/2008/04/15/linguaggi-di-programmazione-e-file-di-testo/</guid>
<description><![CDATA[Nella stragrande maggioranza dei contesti di sviluppo software programmare significa scrivere testo.]]></description>
<content:encoded><![CDATA[<p>Nella stragrande maggioranza dei contesti di sviluppo software programmare significa scrivere testo. Non è sorprendente, visto che il codice sorgente è un mezzo per comunicare. L'evoluzione della programmazione è passata dal linguaggio macchina puramente binario a un linguaggio, ancora macchina, basato su mnemonici che ricordavano quanto meno l'operazione svolta. Il salto verso linguaggi di successive generazioni non ha fatto altro che alzare l'astrazione, avvicinando le espressioni e i termini utilizzati dai programmatori verso concetti più vicini al modo di esprimersi umani (ho detto esprimersi volutamente, anzichè pensare). l'evoluzione è rimasta finora legata alla parola e credo ci siano forti motivazioni per questo.</p>
<p>negli anni il testo del codice sorgente del sw è stato inserito all'interno di file di testo, con indubbi vantaggi. i file di testo si editano facilmente con programmi elementari che si trovano ovunque. i file di testo possono essere manipolati facilmente dai compilatori e dagli analizzatori sintattici.</p>
<p>l'osservazione che voglio fare è che la rappresentazione fisica del testo del codice sorgente è da sempre il file di testo, ma oggi non c'è più una motivazione a questo e il tempo è maturo per eliminare vincoli e side effect di questo legame. gli strumenti utilizzati dagli sviluppatori sono sempre più grafici e la potenza di calcolo consente di gestire una vera astrazione tra cio' con cui lo sviluppatore ha a che fare (il testo o quel che sia il sorgente) e la sua rappresentazione fisica.</p>
<p>Quel che voglio discutere è che l'utilizzo di un file di testo per rappresentare il codice sorgente è stato in passato una scelta obbligata dai mezzi utilizzati dagli sviluppatori per creare il codice. Oggi questo vincolo è giustificato solo dalla storia.</p>
<p>Scrivere codice in un file di testo ha portato a un sacco di conseguenze che molti sviluppatori danno, senza motivo, per scontate:</p>
<ul>
<li>il codice viene letto dallo sviluppatore sequenzialmente. non interamente, ma comunque si viene portati a leggerlo dall'alto verso il basso. Strutture non sequenziali (condizioni, cicli) vengono per forza appiattite. metodi e funzioni vengono messi involontariamente in ordine.</li>
<li>L'eredità dei parser di file di testo è che la posizione nel file di testo (non nella struttura come sarebbe più corretto) di un comando spesso determina un comportamento diverso.</li>
<li>Gli sviluppatori si sono creati nel tempo convenzioni di tabulazione per facilitare la lettura e best practice di leggibilità (80 caratteri!!!!!) determinate dai display di 20 anni fa.</li>
<li>Le grammatiche stesse dei linguaggi di programmazione impongono l'utilizzo dei file di testo per demarcare porzioni di codice e della struttura del software.</li>
<li>alcuni linguaggi di programmazione hanno fatto di regole di tabulazione delle regole grammaticali vere e proprie.</li>
<li>i limiti degli strumenti di sviluppo sono spesso legati alla struttura dei file di testo del codice</li>
</ul>
<p>se oggi dovessimo inventare uno strumento per sviluppare software (attenzione, non ho detto per scrivere codice!) cosa proporremmo? il testo è indubbiamente un canale di comunicazione estremamente immediato per l'essere umano, ma dobbiamo per forza legarci a un file di testo? non è possibile pensare al codice sorgente come un mare indistinto di porzioni piccole di testo che si integrano a formare la base di codice di un sw? non cadremmo sicuramente nell'errore di considerare il confine del file di testo come un confine del sw, come spesso accade. certo perderemmo la possibilità di utilizzare uno stupido editor di testi per lavorare sul codice, ma non è forse meglio è più efficace avere un ambiente di sviluppo che dia tutti gli strumenti necessari a navigare nel codice, facendoci dimenticare della rappresentazione fisica del sorgente?</p>
<p>lancio quindi la proposta: proviamo a elencare gli scenari e le possibilità che si potrebbero avere abbandonando il vincolo legato alla memorizzazione su file di testo?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[io e il sw]]></title>
<link>http://sassaroli.wordpress.com/?p=9</link>
<pubDate>Sun, 06 Apr 2008 21:37:30 +0000</pubDate>
<dc:creator>sassaroli</dc:creator>
<guid>http://sassaroli.it.wordpress.com/2008/04/06/io-e-il-sw/</guid>
<description><![CDATA[Inauguro questa nuova categoria con una giustificazione. Chiedo venia se sfioro un nuovo meta.
Ho in]]></description>
<content:encoded><![CDATA[<p>Inauguro questa nuova categoria con una giustificazione. Chiedo venia se sfioro un nuovo meta.</p>
<p>Ho iniziato la mia carriera nello sviluppo del sw nel 1995. Non proprio la carriera, poichè ci sono entrato da studente all'istituto tecnico. ok, i primi 5 anni sono passati con poca significatività. Sufficienti a formarmi su Turbo Pascal e Assembler. Good. I fondamenti di ciò che so ora li ho appresi in quel momento. Gran finale con una tesina di maturità (vecchia maniera) sull'Object Orientation. Col senno di poi, non ci avevo capito granchè. Bertrand Meyer non era facile come autodidatta. L'ho apprezzato solo in seguito.</p>
<p>I primi due anni di università ho rischiato di retrocedere. Si esce dalle superiori pensando di saper tutto, si trova un'università che non riesce a smentirti. Tristezza. Una inutile esperienza in Modula2 e una inesistente preparazione su C++.</p>
<p>Terzo anno, un corso su Java, il primo progettino serio. Oh. Negli anni seguenti infilo tutti gli esami possibili con un progettino di sviluppo. Gioco con il Lisp. Conosco il mondo del web sviluppato in Java con le servlet e le jhtml (quando ancora le jsp si chiamavano così).</p>
<p>Inizio a lavorare alla ME&#38;S, una microsocietà di sw specializzata in strumenti di eLearning che lavora con Toolbook, una piattaforma di RAD per elearning con un linguaggio di scripting estremamente vivace. Evviva, imparo cosa significa lavorare nell'informatica e cos'è la consulenza. è il 1998. Qui proseguirò a sviluppare in Java. Qui nel 1999/2000 ci convertiamo tutti al Javascript. Venivamo dal mondo di Toolbook, interattivo, multimediale (era un concorrente di Director, l'antesignano di Flash). Non potevamo che cercare di fare altrettanto con Javascript. Ed ecco che in quei lontani anni sviluppiamo applicazioni Javascript che farebbero impallidire una applicazione AJax moderna. Qui nasce tutto il mio sapere Javascript e tutto cio' che oggi mi consente di parlare a braccio di come funziona un browser.</p>
<p>Dopo aver mollato una tesi mezza iniziata di intelligenza artificiale, mi infilo in una tesi sul sw testing, per la quale anzichè far testing devo sviluppare una gran applicazione in C++. Un tool per la generazione automatica di casi di test che integra un pre-compilatore, un esecutore simbolico, un valutatore di espressioni algebriche, un analizzatore di grafi e forse altro che ho rimosso.</p>
<p>Sviluppo la tesi in contemporanea con il master IT del CEFRIEL e mi guadagno due titoli con una fava. a fine master, inizio a lavorare al CEFRIEL nell'area di Ingegneria del Software. Coltivo una specializzazione sulla piattaforma Java Enterprise, su cui tengo un po' di corsi sia in CEFRIEL sia in Politecnico. Approfitto di un progetto per giocare anche con la piattaforma Eclipse e prendermi un po' di competenze anche nello sviluppo su architetture a plugin.</p>
<p>Col tempo, perdo dimestichezza col C++. Nel 2005 però derivo dal mondo Java per circa 4 mesi, sviluppando in C# una architettura per l'integrazione di strumenti di domotica sul Windows Media Center. Si parla di Universal Plug &#38; Play.</p>
<p>Lascio il C# e mi infilo nel Python per un po' di 2006. si sviluppa (giocando anche con Scrum) una piattaforma per la predizione di flussi di traffico sulla rete di milano. Non male.</p>
<p>Ultimamente ho perso un po' il ritmo, poichè son passato dalla parte oscura della forza (sono PM). Non mi va di aspettare oltre a dir la mia. Oltre suonerebbe solo come un rimpianto. Spero valga il penny.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Trentasei ore per programmare]]></title>
<link>http://andreachiarelli.wordpress.com/?p=35</link>
<pubDate>Fri, 04 Apr 2008 07:19:53 +0000</pubDate>
<dc:creator>Andrea Chiarelli</dc:creator>
<guid>http://andreachiarelli.it.wordpress.com/2008/04/04/trentasei-ore-per-programmare/</guid>
<description><![CDATA[Per chi ancora non fosse sazio dei vari reality che vanno in onda sulle reti televisive o fosse alla]]></description>
<content:encoded><![CDATA[<p>Per chi ancora non fosse sazio dei vari reality che vanno in onda sulle reti televisive o fosse alla ricerca di un reality su un argomento tecnico, ecco <a href="http://www.36hoursdeveloping.com/">36hoursdeveloping</a>.<br />
Si tratta di una <strong>"<em>maratona</em>" di programmazione</strong> (36 ore a partire dalle 9:00 di domattina) affrontata da quattro studenti di Informatica all'Università di Pisa e <strong>documentata in diretta da tre webcam</strong>.</p>
<p><!--more--></p>
<p>I ragazzi si cimenteranno nello sviluppo di una applicazione per <a href="http://it.wikipedia.org/wiki/Iphone">iPhone</a> senza un attimo di tregua, accettando anche suggerimenti dagli spettatori.</p>
<p>Sia sul <a href="http://www.36hoursdeveloping.com/idea.html">loro sito</a> sia sull'<a href="http://punto-informatico.it/p.aspx?id=2244791">intervista</a> apparsa oggi su Punto Informatico, <strong>i quattro citano </strong><a href="http://www.extremeprogramming.org/"><strong>Extreme Programming</strong></a><strong> come se fosse uno sport estremo</strong>.<br />
Forse non sanno che proprio <strong>Extreme Programming è </strong><a href="http://www.extremeprogramming.org/rules/overtime.html"><strong>nettamente contrario</strong></a><strong> ad un orario di lavoro "estremo"</strong>...</p>
<p>In ogni caso, mi sembra una buona mossa pubblicitaria. In bocca al lupo!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[lo sviluppo software e le metafore sbagliate: l'architettura (episodio 2)]]></title>
<link>http://giovannicuccu.wordpress.com/?p=20</link>
<pubDate>Sat, 15 Mar 2008 14:35:29 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/03/15/lo-sviluppo-software-e-le-metafore-sbagliate-larchitettura-episodio-2/</guid>
<description><![CDATA[Dopo aver spiegato perchè, secondo me, architettura e sviluppo software non si possono paragonare p]]></description>
<content:encoded><![CDATA[<p>Dopo aver spiegato perchè, secondo me, architettura e sviluppo software non si possono paragonare per quanto riguarda il processo di creazione del prodotto continuo le riflessioni estendole alla fase successiva: il post vendita.</p>
<p>Se nel caso della produzione la metafora poteva sotto qualche aspetto reggere, una volta che si parla di manutenzione la metafora è inapplicabile.</p>
<p>Provo ad elencare le differenze con una serie di domande.</p>
<p>Vi immaginate di dover chiamare per forza l'artigiano che vi ha fatto il lavoro (elettricista, muratore, idraulico, etc) per qualsiasi modifica?</p>
<p>Vi immaginate di dover pagare un contratto di assistenza annuale per i problemi con l'uso della casa?</p>
<p>Vi immaginate di sentirvi dire dopo tre/cinque anni che la vostra casa è obsoleta e che ne vuole una nuova?</p>
<p>Mi pare che sia sufficiente.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[lo sviluppo software e le metafore sbagliate: l'architettura (episodio 1)]]></title>
<link>http://giovannicuccu.wordpress.com/?p=19</link>
<pubDate>Sat, 08 Mar 2008 14:55:47 +0000</pubDate>
<dc:creator>giovannicuccu</dc:creator>
<guid>http://giovannicuccu.it.wordpress.com/2008/03/08/lo-sviluppo-software-e-le-metafore-sbagliate-larchitettura-episodio-1/</guid>
<description><![CDATA[E&#8217; già da diverso tempo che ho in testa questo argomento. Spesso la progettazione e lo svilup]]></description>
<content:encoded><![CDATA[<p>E' già da diverso tempo che ho in testa questo argomento. Spesso la progettazione e lo sviluppo vengono paragonate all'architettura, da cui vengono presi a prestito vari modelli. Un esempio su tutti è la qualifica software architect.</p>
<p>A mio parere assimilare il processo di realizzazione di un software al processo di realizzazione di un edificio è decisamente fuorviante e ci sono più divergenze che similitudini.</p>
<p>Consideriamo come viene fatto un edificio: si parte dal progetto che viene approvato (a volte accompagnato della presentazione di un plastico)  e da lì si comincia a costruire. Una volta che si comincia alcune cose diventano immutabili, per esempio non è più possibile (se non con costi ed oneri esagerati)  spostare la costruzione o cambiare forma alle fondamenta. E' possibile cambiare i particolari, le collocazioni di alcuni muri, ma la natura dello stabile rimane quella del progetto. La costruzione viene fatta da una serie di figure completamente diverse e spesso molto specializzate, chi tira su i muri difficilmente monta gli infissi o fa l'impianto elettrico o quello idraulico o posa i pavimenti. L'architetto o l'ingegnere o il geometra vanno in cantiere per assicurarsi che il direttore lavori segua fedelmente il progetto, ma sicuramente "non vanno alla betoniera".  Un altro fattore importante è l'interscambiabilità, un muratore un giorno fa un pezzo di muro che il giorno dopo può essere finito da un collega, senza particolari passaggi di consegna.</p>
<p>In sostanza tutto procede secondo logiche preordinate e basate su standard accettati. (Se qualcuno pensa che nei cantieri edili ci sia il caos legga quello che segue).</p>
<p>Nell'informatica invece non accade nulla o quasi di tutto questo. Il committente spesso aprrova un progetto non conoscendo i dettagli di cosa verrà fuori  e capisce cosa vuole solo quando vede funzionare un pezzo di software. Ne risulta che spesso è necessario un ciclo di prototipi e rilasci per tarare il tiro. Chi di noi andrebbe ogni giorno in un cantiere cantiere che ha commissionato dicendo "mi sposti la finestra più in qua" o  "le piastrelle che ho scelto e che avete montato non mi piacciono più" o ancora  "mi sposta la casa altri di 30cm dalla strada"? aggiungendo "tanto quanto vuoi che costi"?</p>
<p>Chi costruisce una casa sa benissimo che dopo che un pezzo è stato fatto c'è un costo ben preciso per buttare giù e rifare. Chi commissiona un software evidentemente no.</p>
<p>Un altro aspetto è la specializzazione che nell'informatica è molto meno sviluppata, proviamo a lasciare una classe o anche una funzione a metà ed assegnare ad un altro programmatore il compito di finirla; quanto tempo ci vuole per la presa in carico di quanto già fatto? Inoltre spesso unprogrammatore svolge diversi compiti (design dell'interfaccia grafica, modellazione/definizione di parti della base dati, etc)</p>
<p>Un altro indicatore che indica quanto la produzione del software sia diversa e più arretrata rispetto alle costruzioni edili è la presenza dei building block ovvero dei componenti riusabili. Nell'edilizia si usano, mattoni porte e finestre già fatte, nell'informatica molto meno. Cosa succederebbe se un giorno entraste nel cantiene dove stanno costruendo casa vostra e vedeste un muratore che con un camino acceso fabbrica dei mattoni? Immaginiamo il dialogo:</p>
<p>Noi: Buongiorno, cosa sta facendo?</p>
<p>Muratore: Buongiorno, sto facendo i mattoni per costruire la casa</p>
<p>Noi: Perchè?</p>
<p>Muratore: Sa, quelli che sono in commercio non mipiacciono tanto, poi hanno quegli spigoli così ruvidi, me li faccio io così faccio prima e sono come mi servono.</p>
<p>Il risultato sarebbe: fuori dal cantiere a calci nel sedere.</p>
<p>Nell'informatica molto pochi si scandalizzano se qualcuno nel 2008 si fa un package di logging in java o in .net eppure la fine dovrebbe essere quella del mutatore sopra citato.</p>
<p>Un'altra differenza sostanziale è che chi comincia a programmare fa una carriera in cui pian piano diventa coordinatore e poi project manager o commerciale; quanti muratori-architetetti o elettricisti-ingegneri  conosciamo?</p>
<p>Si conclude qui questa riflessione sul processo di costruzione software e sulle sue differenze rispetto al processo di costruzione edile.  Tutti i fattori elencati fanno parte della fase costruzione, manca ancora la fase "manutenzione e post vendita", ma credo che già si intuisca come parlare di software architect sia una cosa che non ha fondamento reale. Nei prossimi articoli proverò ad illustrare altre differenze e delle metafore più appropriate.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Il manifesto agile]]></title>
<link>http://bstrap.wordpress.com/?p=21</link>
<pubDate>Sun, 24 Feb 2008 14:19:08 +0000</pubDate>
<dc:creator>leoperria</dc:creator>
<guid>http://bstrap.it.wordpress.com/2008/02/24/il-manifesto-agile/</guid>
<description><![CDATA[Nel lontanto 2001, precisamente in Febbraio, in una località sciistica nelle Wasatch mountains dell]]></description>
<content:encoded><![CDATA[<p>Nel lontanto 2001, precisamente in Febbraio, in una località sciistica nelle Wasatch mountains dello Utah, 17 guru dello sviluppo software tra i quali personaggi del calibro di Martin Fowler, si incontrarono per studiare nuove e migliori metodologie di sviluppo sotware. Da questo profiquo incontro nacque il famoso "<i><a href="http://agilemanifesto.org/">Manifesto for Agile Software    Development</a>" </i>che è stato il primo passo ufficiale verso un nuovo modo di gestire i progetti software. Nella nostra azienda seguiamo più o meno consciamente questi principi e devo dire che portano reali vantaggi soprattutto perchè principi semplici e abbastanza facilmente adottabili e dunque rappresentano il punto di incontro tra "non avere nessun processo"(totale anarchia, <a href="http://www.laputan.org/mud/">BIG BALL OF MUD)</a>  ed "avere un Processo" (lento, pesante, eccessivamente burocratico). Qui' ne propongo una mia traduzione:</p>
<p class="MsoNormal"><b><span>Il manifesto dello Sviluppo Software Agile</span></b></p>
<p class="MsoNormal"><i>Diciassette anarchici concordano:</i></p>
<p class="MsoNormal">Stiamo portando alla luce metodologie migliori di sviluppo software <span> </span>facendolo in prima persona e aiutando altre persone a farlo. Attraverso questo lavoro siamo arrivati a concludere:</p>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]--><b><i>Individui e interazioni</i><span>  </span></b>piu’ che processi e strumenti.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]--><b><i>Software funzionante</i></b> piu’ che una documentazione esauriente.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]--><b><i>Collaborazione con il committente</i></b><i> </i>piu’ che negoziazione contrattuale.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><b><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></b></span></span><!--[endif]--><i><b>Rispondere al cambiamento</b> </i>piu’ che <span> </span>seguire un piano prestabilito.</li>
</ul>
<p class="MsoNormal">Significa che, nonostante apprezziamo gli aspetti che si trovano sulla destra di questi punti, diamo maggiore valore agli aspetti citati alla sinistra.</p>
<p class="MsoNormal">Seguiamo questi principi</p>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span>La nostra piu’ alta priorita’ deve essere <span>quella </span>di soddisfare i requisiti del committente attraverso precoci e continui rilasci di software di qualita’.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]-->Non bisogna temere il cambiamento dei requisiti, anche se avviene in fasi avanzate dello sviluppo. I processi agili sfruttano il cambiamento per il vantaggio competitivo del committente.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]-->Consegnare software funzionante in maniera frequente: ogni paio di settimane o al piu’ ogni paio di mesi, con una preferenza per scale temporali ridotte.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]-->I committenti e gli sviluppatori lavorano insieme quotidianamente per tutta la durata del progetto.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span><!--[endif]-->E’ necessario basare i progetti su individui motivati. Bisogna dare l’ambiente e il supporto di cui necessitano e avere fiducia in loro sul fatto che il lavoro verra’ portato a termine.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span><!--[endif]-->Il piu’ efficiente ed efficace metodo per trasmettere le informazioni al team e per<span>  </span>far si che esse circolino al suo interno e’ la conversazione faccia a faccia.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span><!--[endif]-->Un software funzionante e’ la principale misura dello stato di avanzamento del progetto.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span><!--[endif]-->I processi agili promuovono un’attivita’ di sviluppo software sostenibile. Promotori , sviluppatori ed utenti devono essere in grado di mantenere un passo costante a tempo indeterminato.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]-->La Semplicita – l’arte di massimizzare il lavoro non svolto – e’ essenziale.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"></span></span></span><!--[endif]-->Le migliori architetture, i migliori requisiti e progetti emergono da team auto-organizzati.</li>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"><span><span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">  </span></span></span><!--[endif]-->Ad intervalli regolari, il team deve riflettere su come diventare piu’ efficace, e dunque regola ed adegua il suo comportamente di conseguenza.</li>
</ul>
<p class="MsoNormal"><b><i>Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas</i></b></p>
<p><b><span style="font-size:11pt;line-height:115%;font-family:'Calibri','sans-serif';"> </span><span style="font-size:11pt;line-height:115%;font-family:'Calibri','sans-serif';"><a href="http://www.agilealliance.org/"><span>www.agileAlliance.org</span></a></span></b></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Android: Nuova SDK per il sistema operativo mobile by Google]]></title>
<link>http://netbay.wordpress.com/?p=37</link>
<pubDate>Wed, 13 Feb 2008 22:57:29 +0000</pubDate>
<dc:creator>jack@netbay</dc:creator>
<guid>http://netbay.it.wordpress.com/2008/02/13/android-nuova-sdk-per-il-sistema-operativo-mobile-by-google/</guid>
<description><![CDATA[Ottima novità per chi si cimenta in sviluppo e programmazione di applicazioni, in questo caso, in a]]></description>
<content:encoded><![CDATA[<p>Ottima novità per chi si cimenta in sviluppo e programmazione di applicazioni, in questo caso, in ambito mobile. Google ha rilasciato la nuova versione della SDK di Android, il futuro sistema operativo mobile della <a href="http://www.openhandsetalliance.com/" target="_blank">Open Handset Alliance</a>.</p>
<p><img src="http://www.netbay.it/wp-content/uploads/android-new-sdk.jpg" alt="Android SDK m5-rc14" align="left" hspace="5" /></p>
<p>La nuova SDK chiamata m5-rc14 presenta le novità seguenti:</p>
<ul>
<li><strong>Nuova interfaccia utente</strong></li>
<li><strong>Aggiunto un layout per animazioni</strong></li>
<li><strong>Geo-coding</strong>: una libreria grazie alla quale è possibile tradurre gli indirizzi in coordinate e viceversa</li>
<li><strong>Nuovi Codec multimediali</strong>: Aggiunto il supporto ai file audio OGG Vorbis, MIDI, XMF, iMelody, RTTL/RTX, e OTA</li>
<li><strong>Aggiornato il plug-in per Eclipse</strong></li>
</ul>
<p>Potete scaricare la nuova SDK da <a href="http://code.google.com/android/download.html" target="_blank">qui</a>, oppure leggere la <a href="http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html" target="_blank">notizia ufficiale</a>.</p>
<p>Infine, se siete interessati alla nuova interfaccia, ecco una lista di <a href="http://feeds.engadget.com/~r/weblogsinc/engadget/~3/234572118/" target="_blank">screenshot</a>.</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>&#160;</p>
<p>Fonte:  <a href="http://feeds.engadget.com/~r/weblogsinc/engadget/~3/234564877/" target="_blank">Engadget</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[La progettazione, fase essenziale nello sviluppo di un progetto]]></title>
<link>http://mart3.wordpress.com/2008/01/12/la-progettazione-fase-essenziale-nello-sviluppo-di-un-progetto/</link>
<pubDate>Sat, 12 Jan 2008 11:54:04 +0000</pubDate>
<dc:creator>lucamezzalira</dc:creator>
<guid>http://mart3.it.wordpress.com/2008/01/12/la-progettazione-fase-essenziale-nello-sviluppo-di-un-progetto/</guid>
<description><![CDATA[Andando avanti con i lavori e l&#8217;utilizzo degli strumenti sempre più potenti e versatili, ci r]]></description>
<content:encoded><![CDATA[<p>Andando avanti con i lavori e l'utilizzo degli strumenti sempre più potenti e versatili, ci rendiamo conto sempre di più che ci permettono di avere più tempo nella progettazione e nell'intregrazione di nuove idee e tecnologie.</p>
<p>Uno degli step fondamentali nello sviluppo di RIA e software desktop è la produzione di documentazione, studio sulla strada da percorrere e, quando il budget lo permette, integrazione con nuovi servizi e tecnologie.</p>
<p>Il 2007 è stato un anno ricco di novità sul campo software e ci ha reso più "ricchi" a livello di opportunità e possibilità di lavori / idee / ricerche.</p>
<p>Il 2008 sarà l'anno per poter integrare quanto di buono studiato e analizzato l'anno precedente e già ad oggi stiamo ricevendo grosse gratificazioni dai nostri clienti per proposte innovative e interessanti studiate ad hoc nel proprio campo lavorativo.</p>
<p>Infatti, ci proponiamo più come partner tecnologico che come e veri e propri fornitori e questo modo di porci ai nostri "partner" ci permette di dare innovazione continua e mirata.<br />
Un plus che ad oggi può fare veramente la differenza!</p>
]]></content:encoded>
</item>

</channel>
</rss>
