<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Evangelism 2.0: riflessioni sul business del software da un punto di vista privilegiato!</title><subtitle type="html">Diario non-solo-tecnico sul rapporto tra tecnologia e business</subtitle><id>http://blogs.msdn.com/scoriani/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/scoriani/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2008-10-20T18:22:55Z</updated><entry><title>ROI: ma è davvero un tabù per l’industria del software?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/17/roi-ma-davvero-un-tab-per-l-industria-del-software.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/17/roi-ma-davvero-un-tab-per-l-industria-del-software.aspx</id><published>2009-02-17T03:26:28Z</published><updated>2009-02-17T03:26:28Z</updated><content type="html">&lt;p&gt;Durante certe discussioni dico sempre che secondo me l’industria del software, rispetto a tante altre che ci circondano nella vita di tutti i giorni, è ancora come un ragazzino alle prime armi. Mi piace citare alcuni casi concreti, vissuti tra amici e conoscenti, in alcuni settori manifatturieri dove l’acquisto di una nuova macchina o l’aggiunta di una linea di produzione, viene analizzata e soppesata al milligrammo, e le valutazioni in termini di produttività e ritorno dell’investimento sono l’ago della bilancia per decisioni vitali per quel business. Nella mia vita professionale ho partecipato una sola volta ad uno studio vero e serio sul ritorno dell’investimento in campo IT e devo dire che è stata una esperienza veramente impegnativa e costruttiva, della durata di alcuni mesi e con alcuni risvolti “psicologici” veramente interessanti che hanno “ribaltato” convinzioni pregresse e partiti presi. Per chi sviluppa una soluzione software, sia essa ad uso interno o un prodotto pacchettizzato, alcuni spunti introduttivi possono venire da questo &lt;a href="http://www.joshholmes.com/blog/2009/02/16/MeasuringROIMovingFromCostCenterToStrategicPartner.aspx"&gt;post&lt;/a&gt;, che in modo mooolto semplificato tratta praticamente tutti gli aspetti importanti su cui occorre interrogarsi prima di prendere decisioni. Ovviamente troveremo molti argomenti di caro vecchio “buon senso”, ma sappiamo quanto questo a volte sia offuscato dai problemi contingenti di un processo di sviluppo software. Meglio dargli una riletta ogni tanto quindi… :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9426760" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="Generale" scheme="http://blogs.msdn.com/scoriani/archive/tags/Generale/default.aspx" /><category term="IT" scheme="http://blogs.msdn.com/scoriani/archive/tags/IT/default.aspx" /><category term="Business" scheme="http://blogs.msdn.com/scoriani/archive/tags/Business/default.aspx" /></entry><entry><title>Disponibile un aggiornamento dei Books Online di SQL Server 2008</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/03/disponibile-un-aggiornamento-dei-books-online-di-sql-server-2008.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/03/disponibile-un-aggiornamento-dei-books-online-di-sql-server-2008.aspx</id><published>2009-02-03T11:39:52Z</published><updated>2009-02-03T11:39:52Z</updated><content type="html">&lt;p&gt;Per tutti gli “avidi” utilizzatori dei Books Online di SQL Server, segnalo la disponibilità di un &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-4D7A-B628-0A98145BCB97&amp;amp;displaylang=en"&gt;refresh&lt;/a&gt; datato 30/1/2009 pronto per essere integrato nelle installazioni esistenti.&lt;/p&gt;  &lt;p&gt;Buona lettura :) &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9392885" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/scoriani/archive/tags/SQL+Server/default.aspx" /></entry><entry><title>Learning WPF</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/02/learning-wpf.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/02/learning-wpf.aspx</id><published>2009-02-02T03:41:22Z</published><updated>2009-02-02T03:41:22Z</updated><content type="html">&lt;p&gt;WPF, e più in generale la realizzazione di interfacce utente, sono tematiche che esulano un pò dalla mia sfera di competenze e proprio per questo sono sempre alla caccia di risorse che possano aiutarmi a colmare qualche gap mio e a indirizzare le richieste che i partner con i quali lavoro possono farmi. A tal proposito segnalo alcune risorse utili a chi intende utilizzare questa tecnologia all’interno di progetti in produzione:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Innanzitutto alcune linee guida generale per lo sviluppo di interfacce utente con &lt;a href="http://msdn.microsoft.com/en-us/library/aa511329.aspx"&gt;WPF&lt;/a&gt; e più in generale con &lt;a href="http://msdn.microsoft.com/en-us/library/aa511258.aspx"&gt;Windows Vista / Windows 7&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Un interessante &lt;a href="http://blogs.msdn.com/jaimer/archive/2009/01/13/xaml-guidelines-part-3-draft.aspx"&gt;documento&lt;/a&gt; di Jaime Rodriguez sulle linee guida per l’organizzazione dei progetti e best practices per lo sviluppo con WPF&lt;/li&gt;    &lt;li&gt;La &lt;a href="http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx"&gt;“WPF Application Quality Guide”&lt;/a&gt;, un ricco documento di grande aiuto a chi ha bisogno di addentrarsi in tematiche quali data-driven testing, stress e stability testing, accessibility testing, updated globalization e localization testing. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Più approfondisco il tema e più capisco quando sia vasto ed interessante, anche se continuo a preferire quello che stà “dietro le quinte” di una applicazione rispetto a tutti questi “lustrini”… :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9388907" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="User Interface" scheme="http://blogs.msdn.com/scoriani/archive/tags/User+Interface/default.aspx" /><category term="Design" scheme="http://blogs.msdn.com/scoriani/archive/tags/Design/default.aspx" /><category term="Windows Vista" scheme="http://blogs.msdn.com/scoriani/archive/tags/Windows+Vista/default.aspx" /><category term="WPF" scheme="http://blogs.msdn.com/scoriani/archive/tags/WPF/default.aspx" /></entry><entry><title>Sessioni alla SQL Server &amp; BI Conference 2009</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/01/sessioni-alla-sql-server-bi-conference-2009.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/01/sessioni-alla-sql-server-bi-conference-2009.aspx</id><published>2009-02-01T19:15:00Z</published><updated>2009-02-01T19:15:00Z</updated><content type="html">&lt;p&gt;Sono molto felice di poter tenere 2 sessioni alla prossima &lt;a href="http://www.sqlconference.it/"&gt;SQL Server &amp;amp; Business Intelligence Conference 2009&lt;/a&gt; che si terrà i prossimi 1 e 2 Aprile al Conference Center Microsoft a Segrate. Ho dato una mano, per quanto possibile, agli organizzatori con la definizione dell’agenda e delle track e devo dire che il risultato mi sembra molto buono. Io terrò due sessioni, la prima sulle evoluzioni della piattaforma di accesso ai dati Microsoft, nella quale partendo dalla release 2.0 di ADO.NET cercherò di descrivere le novità introdotte sino ad oggi, e la seconda a quattro mani con Gianluca Hotz su come monitorare e risolvere problematiche di performance con le nuove funzionalità introdotte in SQL Server 2008. Sono particolarmente contento di quest’ultima sessione, era tanto tempo che ci tenevo a fare una sessione a quattro mani con Gianluca, le cui competenze sulla materia sono insuperabili, e finalmente questa volta ne abbiamo l’occazione!&lt;/p&gt;  &lt;p&gt;Spero che il risultato sarà altrettanto buono anche per chi ci verrà ad ascoltare, e spero che siano in tanti :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9388480" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="SQL Server" scheme="http://blogs.msdn.com/scoriani/archive/tags/SQL+Server/default.aspx" /><category term="Conferenze" scheme="http://blogs.msdn.com/scoriani/archive/tags/Conferenze/default.aspx" /></entry><entry><title>.NET Services, Azure Services Platform e dintorni</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/01/net-services-azure-services-platform-e-dintorni.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/01/net-services-azure-services-platform-e-dintorni.aspx</id><published>2009-02-01T18:53:09Z</published><updated>2009-02-01T18:53:09Z</updated><content type="html">&lt;p&gt;Tutti sanno che non sono tra quelli che pensano che il Cloud Computing sostituirà, almeno non in tempi brevi, le forme tradizionali di soluzioni e infrastrutture IT. Ci sono però una serie di scenari importanti dove questo genere di strumenti consente di risolvere in modo brillante problematiche altrimenti complesse da gestire. Mi vengono in mente certamente scenari di comunicazione tra sistemi che appartengono a organizzazioni diverse che hanno la necessità di scambiare in modo flessibile informazioni tra di loro, o di sistemi che parlano “lingue” differenti all’interno della stessa organizzazione, o dispositivi distribuiti ed eterogenei che necessitano di interagire con repository di dati “always on” e in grado di gestire carichi di lavoro non regolari, con picchi e situazioni di stress. Parlando di quanto presentato da Microsoft in questo campo, certamente le componenti della Azure Services Platgorm, .NET Services e SQL Services in particolare, mi sembra siano tra gli aspetti più interessanti da valutare.&lt;/p&gt;  &lt;p&gt;Volevo segnalare alcune risorse recentemente rese disponibili, in particolare una serie di &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5057e2b3-c8e5-4b26-a601-ff9621589ce3&amp;amp;DisplayLang=en"&gt;whitepaper&lt;/a&gt; sui .NET Services, ed una applicazione di &lt;a href="http://www.codeplex.com/azureissuetracker"&gt;esempio&lt;/a&gt; chiamata “Azure Issue Tracker” che mostra proprio uno scenario simile a quello da me descritto.&lt;/p&gt;  &lt;p&gt;Sto preparando una sessione, da presentare in una prossima conferenza, durante la quale mostrare una soluzione che, partendo da una applicazione esistente “on premise”, integra una serie di servizi “on the cloud” e utilizza tecnologie di sincronizzazione per allineare i dati prodotti da applicazioni e dispositivi esterni con una&amp;#160; infrastruttura aziendale tradizionale. Vorrei usare questo blog come una serie di diario “how i did it” per la realizzazione di questa applicazione di esempio. Spero solo di avere il tempo per poter tenere aggiornato il tutto…. :) &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9388457" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="Windows Azure" scheme="http://blogs.msdn.com/scoriani/archive/tags/Windows+Azure/default.aspx" /><category term=".NET Services" scheme="http://blogs.msdn.com/scoriani/archive/tags/.NET+Services/default.aspx" /><category term="Cloud Computing" scheme="http://blogs.msdn.com/scoriani/archive/tags/Cloud+Computing/default.aspx" /></entry><entry><title>Il mio TechEd in Islanda</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/02/01/il-mio-teched-in-islanda.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/02/01/il-mio-teched-in-islanda.aspx</id><published>2009-02-01T17:54:56Z</published><updated>2009-02-01T17:54:56Z</updated><content type="html">&lt;p&gt;La situazione economica che ha investito l’Islanda negli ultimi mesi è stata un pò sotto gli occhi di tutto il mondo. Praticamente l’impatto della crisi finanziaria iniziata lo scorso anno ha avuto su questo paese delle conseguenze piuttosto pesanti, facendo ridurre ad appena un terzo quella che era una tra le economie più floride del mondo (il loro reddito pro-capite era tra i più elevati in assoluto). Per darvi una idea, nel 2007 qualcosa come 700 persone hanno partecipato alle due edizioni del TechEd Europe, tra IT Pro e Developers, circa 7 volte la partecipazione italiana!!! Nel 2008 invece praticamente nessuno si è potuto permettere questo investimento e i colleghi della filiale locale hanno pensato di organizzare un evento che potesse permettere ai loro clienti e partner locali di avere comunque una introduzione ai temi di maggior interesse legati alle tecnologie Microsoft. Hanno chiesto a tutte le altre filiali la disponibilità di figure tecniche che potessero definire una agenda ed erogare le sessioni ed è nato così un valido &lt;a href="http://www.microsoft.com/iceland/events/best_of_convention.mspx"&gt;evento&lt;/a&gt; che dal punto di vista della risonanza e della partecipazione è stato dichiarato un successo! Circa 1000 partecipanti in una nazione che conta circa 450000 abitanti non è male :)&lt;/p&gt;  &lt;p&gt;Io ho dato subito la mia disponibilità a dare una mano ed ho partecipato molto volentieri all’iniziativa, anche perchè non ero mai stato in Islanda ed ero molto curioso. Dopo circa 5 ore di volo sono stato subito affascinato da ciò che si poteva osservare dal finestrino, ghiacciai immensi e un paesaggio spettacolare in una giornata di sole splendido. Sceso a terra, il tragitto tra l’aereoporto (spettacolare) e il centro di Reykjavik è qualcosa di veramente impressionante, quasi lunare dire, con le roccie vulcaniche nere che escono dalla neve che ricopre qualsiasi cosa, senza un albero o una traccia di vegetazione visibile. Arrivando poi nella zona della capitale tutto cambia, e la vista della baia è spendida, come del resto la città stessa. Un mix di tradizione fatta di casette piccole e coloratissime e della zona direzionale modernissima, fatta di vetro, legno e acciacio.&lt;/p&gt;  &lt;p&gt;L’evento, di soli 2 giorni, è andato molto bene e ho conosciuto un sacco di persone molto preparate e stranamente aperte e simpatiche. Spero che le due sessioni che ho tenuto, sull’accesso ai dati e SQL Server, siano state di gradimento alla platea, che mi ha tributato un applauso e tempestato di domande :)&lt;/p&gt;  &lt;p&gt;Invitato dai colleghi islandesi e insieme agli altri speaker stranieri ho potuto brevemente provare anche la vita notturna della capitale, piena di piccoli pub e di ristoranti dove ho mangiato veramente bene e ho visto un sacco di gente.&lt;/p&gt;  &lt;p&gt;Insomma, esperienza molto positiva e, anche se non era la prima volta, gli speech in Inglese mi pare siano stati comprensibili :) ora magari proverò a puntare un evento di un livello un pò più alto come il TechEd Europe!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9388413" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author></entry><entry><title>Ricerca di Nucleus su Patterns &amp; Practices</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/01/16/ricerca-di-nucleus-su-patterns-practices.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/01/16/ricerca-di-nucleus-su-patterns-practices.aspx</id><published>2009-01-16T14:47:44Z</published><updated>2009-01-16T14:47:44Z</updated><content type="html">&lt;p&gt;Seguo molto attentamente l’evoluzione del programma &lt;a href="http://msdn.microsoft.com/practices"&gt;Patterns &amp;amp; Practices&lt;/a&gt; che i colleghi di MS Corporation hanno iniziato ormai tanti anni fa, praticamente con la nascita del .NET Framework, e lo considero una risorsa importantissima sia per le librerie di codice disponibili che per le interessantissime guide. Mi era sfuggita però questa ricerca di &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3696068D-BE4A-4731-AB15-492377AA4C6D&amp;amp;displaylang=en"&gt;Nucleus&lt;/a&gt; che presenta esperienze reali vissute da clienti e partner nell’adozione di questi strumenti insieme con suggerimenti e linee guida per introdurli nella propria organizzazione.&lt;/p&gt;  &lt;p&gt;Ho sperimentato personalmente il contenuto di questo paragrafo:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Prepare for adoption resistance &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Because patterns and practices introduces standardization and its benefits increase with the rate of reuse, the more broadly Microsoft patterns and practices is adopted, the greater will be the returns. However, changes to development practices typically encounter cultural issues, and Microsoft patterns and practices is no exception. Developers sometimes resist adoption because of its emphasis on     &lt;br /&gt;reuse, since developers typically prefer to create their own work rather than customize someone else’s.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;e credo che effettivamente sia lo scoglio più grande da superare per convincere le persone ad utilizzare le componenti di codice riutilizzabile disponibile. In ogni caso, con tutti le dovute cautele, il riutilizzo di tali componenti può portare vantaggi misurabili nello sviluppo di soluzioni di qualsiasi tipologia.&lt;/p&gt;  &lt;p&gt;Anche in questo caso, una letta è sicuramente utile…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9327248" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term=".NET General" scheme="http://blogs.msdn.com/scoriani/archive/tags/.NET+General/default.aspx" /></entry><entry><title>Windows 7 Beta 1 e il mio notebook…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/01/14/windows-7-beta-1-e-il-mio-notebook.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/01/14/windows-7-beta-1-e-il-mio-notebook.aspx</id><published>2009-01-14T20:13:10Z</published><updated>2009-01-14T20:13:10Z</updated><content type="html">&lt;p&gt;Prendiamola come una battuta, ma da quando è uscita la beta 1 di Win7 e hanno iniziato a spuntare tutte queste recensioni positive il mio ThinkPad T61p con Windows Vista Ultimate x64 SP1 ha iniziato ad andare come un missile!! :)&lt;/p&gt;  &lt;p&gt;Basta dare una occhiata alla mia Sidebar e ai vari indicatori presenti (uptime di quasi 20gg!), la decina di applicazioni user aperte + SQL Server, Analysis Services e Reporting Services attivi e un Visual Studio 2008 e chiaramente si può capire come, poverino, sia spaventato per una possibile formattazione e installazione della beta e le provi tutte per convincermi a non farlo…. :)&lt;/p&gt;  &lt;p&gt;Vedremo come andrà a finire…&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/scoriani/WindowsLiveWriter/Windows7Beta1eilmionotebook_FFEA/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/scoriani/WindowsLiveWriter/Windows7Beta1eilmionotebook_FFEA/image_thumb.png" width="115" height="345" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9319021" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="Windows Vista" scheme="http://blogs.msdn.com/scoriani/archive/tags/Windows+Vista/default.aspx" /><category term="Windows 7" scheme="http://blogs.msdn.com/scoriani/archive/tags/Windows+7/default.aspx" /></entry><entry><title>Analisti, chi li ama e chi li odia…</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2009/01/07/analisti-chi-li-ama-e-chi-li-odia.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2009/01/07/analisti-chi-li-ama-e-chi-li-odia.aspx</id><published>2009-01-07T14:58:30Z</published><updated>2009-01-07T14:58:30Z</updated><content type="html">&lt;p&gt;…ma certo le loro opinioni per qualcuno un certo peso ancora lo hanno, almeno per le aziende “sotto analisi” :)&lt;/p&gt;  &lt;p&gt;E per iniziare l’anno in bellezza, a questo link su &lt;a href="http://www.microsoft.com/presspass/itanalyst/default.mspx"&gt;PressPass&lt;/a&gt; i colleghi delle PR hanno pensato bene di presentare una bella carrellata sui report più recenti dei principali analisti relativamente alle diverse aree dell’application platform Microsoft. Quando lavoravo più a contatto con i clienti finali questo genere di informazioni spesso generava sorpresa e stupore nel vedere Microsoft posizionata così bene in ambito Enterprise. A me stupisce invece come certi altri player rimangano così in alto con una offerta di prodotti ormai di un’altra epoca, sotto tutti i punti di vista. Evidentemente sul mercato c’è veramente ancora tanto spazio…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9287283" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author></entry><entry><title>Team Foundation Server Branching Guide 2.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/12/22/team-foundation-server-branching-guide-2-0.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/12/22/team-foundation-server-branching-guide-2-0.aspx</id><published>2008-12-22T03:51:01Z</published><updated>2008-12-22T03:51:01Z</updated><content type="html">&lt;p&gt;Nella mia vita professionale ho lavorato, più o meno a stretto contatto, con diverse tipologie di aziende che si occupano di sviluppo software. Da quelle che lavorano più “a progetto”, dove ogni commessa è (quasi) diversa da un’altra, a chi invece si è dedicato alla creazione ed evoluzione di una o più linee di prodotto. Qualunque fosse la modalità con la quale queste aziende si presentavano sul mercato, il problema di gestire il ciclo di vita delle soluzioni software è sempre stato vitale, anche se poi nella realtà gli approcci adottati erano troppo approssimativi e poco efficaci.&lt;/p&gt;  &lt;p&gt;Qualche giorno fa è stata rilasciata su Codeplex la &lt;a href="http://www.codeplex.com/TFSBranchingGuideII"&gt;guida&lt;/a&gt; al branching con TFS, sviluppata da un gruppo di colleghi dei Servizi di Microsoft, chiamati VSTS Rangers, insieme con alcuni contributi esterni, che vuole essere uno strumento utile e interessante per dare uno spunto a chi, nei diversi scenari affrontati, ha proprio la necessità di capire quale strategia di branching è più adeguata alle sue esigenze.&lt;/p&gt;  &lt;p&gt;La guida, pur essendo stata pensata per TFS, può in realtà dare degli spunti utili anche per chi utilizza altri strumenti di gestione del codice sorgente e del processo di sviluppo.&lt;/p&gt;  &lt;p&gt;Secondo me una occhiata la merita.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9246011" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term=".NET General" scheme="http://blogs.msdn.com/scoriani/archive/tags/.NET+General/default.aspx" /><category term="Software Development Process" scheme="http://blogs.msdn.com/scoriani/archive/tags/Software+Development+Process/default.aspx" /><category term="ALM" scheme="http://blogs.msdn.com/scoriani/archive/tags/ALM/default.aspx" /></entry><entry><title>EWD451. Lord, deliver us from charlatans!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/12/20/ewd451-lord-deliver-us-from-charlatans.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/12/20/ewd451-lord-deliver-us-from-charlatans.aspx</id><published>2008-12-20T19:22:08Z</published><updated>2008-12-20T19:22:08Z</updated><content type="html">&lt;p&gt;&lt;a title="http://www.cs.utexas.edu/users/EWD/translations/EWD451-English.html" href="http://www.cs.utexas.edu/users/EWD/translations/EWD451-English.html"&gt;http://www.cs.utexas.edu/users/EWD/translations/EWD451-English.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Molto meno citato di qualche altro suo scritto, ma molto attuale e… accidenti se vero!!! :)&lt;/p&gt;  &lt;p&gt;Questo Edsger W. Dijkstra doveva avere un caratterino abbastanza compatibile con il mio, avremmo potuto andare parecchio d’accordo :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9244139" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="Personal" scheme="http://blogs.msdn.com/scoriani/archive/tags/Personal/default.aspx" /></entry><entry><title>Il Software, le architetture e l’industria delle costruzioni.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/12/11/il-software-le-architetture-e-l-industria-delle-costruzioni.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/12/11/il-software-le-architetture-e-l-industria-delle-costruzioni.aspx</id><published>2008-12-11T19:40:54Z</published><updated>2008-12-11T19:40:54Z</updated><content type="html">&lt;p&gt;Come afferma giustamente &lt;a href="http://blogs.ugidotnet.org/pape/archive/2008/11/06/sipuofare.aspx"&gt;Andrea&lt;/a&gt; nel suo post, gli argomenti relativi a temi architetturali nello sviluppo di soluzioni software si stanno affermando sempre di più anche tra coloro che utilizzano la piattaforma Microsoft. A mio parere questo è dovuto, tra le altre cose, ad una sorta di “cambio generazionale”, assolutamente buono e giusto, che sta interessando il mondo dello sviluppo. La generazione dei “programmatori” (virgolette) self-made che sono nati dal mondo VBA/Access/Office, che passava a VBx per poter distribuire le proprie applicazioni (mono utente, desktop based, ecc.) senza costringere i clienti ad acquistare Office stesso, viene via via “contaminata” e accerchiata da forze nuove che sono nate professionalmente nell’era del web, hanno studiato magari Java o altro all’Università, ed entrate nel mondo del lavoro si accorgono che sviluppare una soluzione distribuita non è possibile senza una adeguata progettazione. Allo stesso tempo la piattaforma Microsoft è cresciuta, è nato .NET Framework, i tools si sono in qualche modo evoluti per supportare questo genere di esigenze e all’interno dei team i ruoli hanno iniziato ad essere maggiormente definiti.&lt;/p&gt;  &lt;p&gt;Che c’è che non va in tutto questo? Assolutamente nulla, è cosa buona e giusta, tranne per un piccolo particolare che proprio non mi piace :), la continua metafora con l’industria delle costruzioni, e in particolare il ruolo di “architetto”. Mi sono sempre chiesto il perchè di questa associazione, visto che a mio parere ci sono molte più similitudini tra l’industria del software ed altri settori. Penso ad esempio all’industria meccanica, dove il contetto di *blueprint* è fondamentale per la realizzazione di *macchine complesse*, tipicamente costruite da *componenti* che da sempre mettono i progettisti davanti alla classica scelta “build or buy”, che devono rispettare determinati standard (ISO è nato qui, per esempio) per poter interoperare tra di loro. Beh, in questo genere di industria (che conosco molto bene dati i miei trascorsi nel mondo dell’automazione) non esiste il concetto di “architetto” ma piuttosto quello del progettista: la differenza sarà anche sottile ma il primo termine mi ha sempre richiamato alla mente concetti quali “bello ma impossibile, quasi sempre parecchio costoso, ridondante, esagerato…” mentre il secondo mi fa pensare ad “efficienza, precisione, lotta al superfluo, prestazioni…”. &lt;/p&gt;  &lt;p&gt;Devo dire che la troverei una associazione molto più sensata e, in un certo senso, anche una sorta di “manifesto” per coloro che nel mondo del software sono chiamati a progettare soluzioni complesse.&lt;/p&gt;  &lt;p&gt;Certo, tutto sommato non è una grande differenza e mi sto facendo solo delle pippe mentali… o forse no?!?! :) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;P.S: io cmq continuo a sentirmi sempre una via di mezzo tra il geometra e il manovale… :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9197371" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="General" scheme="http://blogs.msdn.com/scoriani/archive/tags/General/default.aspx" /><category term="Generale" scheme="http://blogs.msdn.com/scoriani/archive/tags/Generale/default.aspx" /><category term="Design" scheme="http://blogs.msdn.com/scoriani/archive/tags/Design/default.aspx" /></entry><entry><title>Visual Studio 2010 e .NET Framework 4.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/11/13/visual-studio-2010-e-net-framework-4-0.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/11/13/visual-studio-2010-e-net-framework-4-0.aspx</id><published>2008-11-13T15:04:20Z</published><updated>2008-11-13T15:04:20Z</updated><content type="html">&lt;p&gt;Dopo la PDC 2008 una serie di risorse e informazioni sulle nuove versioni di Visual Studio e del .NET Framework sono state rese pubbliche. Ne segnalo in particolare due:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;La virtual machine disponibile a questo &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&amp;amp;displaylang=en"&gt;link&lt;/a&gt; con esempi ed hands on labs&lt;/li&gt;    &lt;li&gt;Il “Visual Studio 2010 and .NET Framework 4.0 Training Kit - November Preview”, disponibile a questo &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;link&lt;/a&gt; con presentazioni ed altro materiale di studio&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Il materiale sarà aggiornato con l’uscita delle prossime CTP.&lt;/p&gt;  &lt;p&gt;Buon testing!! :)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9065993" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author></entry><entry><title>I programmi Microsoft per le aziende che sviluppano soluzioni software</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/10/24/i-programmi-microsoft-per-le-aziende-che-sviluppano-soluzioni-software.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/10/24/i-programmi-microsoft-per-le-aziende-che-sviluppano-soluzioni-software.aspx</id><published>2008-10-24T14:16:01Z</published><updated>2008-10-24T14:16:01Z</updated><content type="html">&lt;p&gt;Lavorando a stretto contatto con i partner Microsoft che sviluppano soluzioni software mi sono accorto di quanto i programmi e le attività disponibili (di formazione, marketing, co-selling, ecc.) per una azienda che ha l’obiettivo di aumentare le opportuntià di business e di crescita tecnica siano così tante e purtroppo così poco conosciute. In collaborazione con gli altri colleghi delle altre divisioni interessate ho pensato quindi di fare cosa gradita nel produrre un &lt;a href="https://partner.microsoft.com/italy/40084404"&gt;documento&lt;/a&gt; che provi a fare chiarezza tra tutte queste risorse, evidenziando il “percorso” che può guidare una software house interessata verso un profiquo rapporto di collaborazione con Microsoft. &lt;/p&gt;  &lt;p&gt;Queste informazioni sono particolarmente rivolte ai decisori tecnici e di business di queste aziende, quindi chiederei a chi legge di girare queste informazioni anche alle figure con quel profilo all’interno della propria azienda.&lt;/p&gt;  &lt;p&gt;Per qualsiasi informazione a riguardo conttattatemi direttamente!&lt;/p&gt;  &lt;p&gt;Silvano&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9014546" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term="Generale" scheme="http://blogs.msdn.com/scoriani/archive/tags/Generale/default.aspx" /><category term="Business" scheme="http://blogs.msdn.com/scoriani/archive/tags/Business/default.aspx" /></entry><entry><title>Riflessioni su Entity Framework v1 e vNext #2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/scoriani/archive/2008/10/20/riflessioni-su-entity-framework-v1-e-vnext-2.aspx" /><id>http://blogs.msdn.com/scoriani/archive/2008/10/20/riflessioni-su-entity-framework-v1-e-vnext-2.aspx</id><published>2008-10-20T19:22:55Z</published><updated>2008-10-20T19:22:55Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;EntityClient&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Entity Framework != O/RM &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Sappiamo tutti che il buon vecchio pattern in un ADO.NET Data Provider è Connection/Command/Reader, dove attraverso una connessione fisica ad una base dati inviamo un comando in SQL nativo per quella particolare base dati per interagire con il modello logico che rappresenta la struttura fisica dei dati in un particolare database, ed eventualmente riceviamo uno stream di dati ai quali accediamo attraverso un approccio cursor-based in sola lettura. Per interagire con l’EDM, l’Entity Framework ci mette a disposizione un particolare Data Provider ADO.NET chiamato EntityClient. Quest’ultimo presenta l’identico pattern di utilizzo, ma invece di interagire con delle righe e delle colonne ci permette di interagire con delle entità. Accetta quindi un comando che, invece di essere in SQL nativo, ha una nuova sintassi orientata alle entità chiamata Entity SQL (o eSQL), indipendente dal dialetto SQL utilizzato dalla base dati sottostante e dalla struttura logica del database. Questo eSQL “capisce” invece quanto definito nell’EDM (meglio dire nei metadati generati a partire dall’EDM) in termini di relazioni, navigabilità tra le entità e quant’altro. Quando un comando eSQL viene passato all’EntityClient Provider questo lo traduce in un albero di comandi chiamato CCT (o Canonical Command Tree) che viene a sua volta girato all’ADO.NET Data Provider sottostante. Infatti, perchè quest’ultimo sia utilizzabile con EF ha come requisito fondamentale la capacità di ricevere un CCT e di tradurlo nel dialetto SQL che la base dati utilizzata è in grado di risolvere. In seguito all’esecuzione di questo comando l’ADO.NET Data Provider potrà restituire un DataReader all’EntityClient che, in accordo con quanto definito nei metadati generati a partire dall’EDM, prenderà i dati restituiti con un certo formato dalla base dati e li “manipolerà” restituendoli al chiamante con la “forma” delle entità richieste dalla query eSQL. A livello di mapping, i metadati contengono le informazioni legate all’area concettuale (CSpace, l’EDM vero e proprio), all’area di storage (SSpace, tutto ciò che è legato al modello logico dello spazio di storage, tabelle tipicamente ma potrebbe essere altro) e al mapping tra questi due “spazi” di rappresentazione delle informazioni. Questi metadati vengono generati a partire dai tre “asset” chiamati CSDL, MSL e SSDL, oggi conosciuti come schema XML, eventualmente embedded negli assembly della nostra applicazione ma domani chissà… :)&lt;/p&gt;  &lt;p&gt;Fino a qui, nulla di tutto questo ha a che fare direttamente con le funzionalità di un O/RM, mentre ha molto a che fare con una sorta di “azionabilità” o utilizzabilità dell’EDM da parte di altre tecnologie che necessitano di un modello concettuale di astrazione rispetto a diverse rappresentazione logiche di dati di natura diversa.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Entity Framework e O/RM&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Dove EF inizia a sovrapporsi a tecnologie di Object/Relational Mapping è con l’entrata in campo degli Object Services, componente che abbandona il pattern Connection/Command/Reader per abbracciare concetti quali ObjectContext, DataClasses e ObjectQuery&amp;lt;T&amp;gt;. Gli Object Services possono ancora ricevere comandi in termini di eSQL, come l’Entity Client, ma invece di ritornare un Reader il risultato di una query è una enumerazione di qualche tipo (IEnumerable&amp;lt;T&amp;gt;), la materializzazione di oggetti sulla base delle informazioni restituite dai layer inferiori e delle informazioni relative al modello a oggetti (OSpace) e al mapping (OCSpace) contenute nei metadati. I servizi offerti sono relativi, per esempio, alla materializzazione degli oggetti secondo quanto richiesto dai comandi eseguiti al tracking dello stato delle istanze degli oggetti materializzati e alla persistenza delle modifiche nella base dati sottostante.&lt;/p&gt;  &lt;p&gt;Essendo ObjectQuery&amp;lt;T&amp;gt; una implementazione di IQueryable&amp;lt;T&amp;gt;, diventa naturale intuire che gli Object Services di EF sono naturalmente un provider LINQ e consentono quindi anche questa ulteriore modalità, oltre a eSQL di interagire con lo stack sottostante.&lt;/p&gt;  &lt;p&gt;Sicuramente in un confronto 1:1 con un tool O/RM esistente come NHibernate (POCO, Lazy Loading, ecc.) o altri, quanto messo a disposizione da EF in questo campo ha dei limiti (come &lt;a href="http://blogs.msdn.com/timmall/archive/2008/07/17/newsflash-ef-v1-0-was-not-intended-to-be-a-nhibernate-compete.aspx"&gt;ammesso&lt;/a&gt; anche da Tim, PM del prodotto) che la v2 sembra in grado di ridurre rapidamente (&lt;a href="http://blogs.msdn.com/jkowalski/archive/2008/09/25/ef-poco-adapter-updated-v1-03.aspx"&gt;qui&lt;/a&gt; e &lt;a href="http://blogs.msdn.com/jkowalski/archive/tags/EFLazyLoading/default.aspx"&gt;qui&lt;/a&gt; trovate già alcune implementazioni fatte da persone del team per testare gli scenari per la v2), ma l’obiettivo non è esattamente questo, quanto piuttosto una visione di più ampio respiro che spero queste mie riflessioni abbiano in qualche modo iniziato a spiegare.&lt;/p&gt;  &lt;p&gt;More to come…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9007716" width="1" height="1"&gt;</content><author><name>scoriani</name><uri>http://blogs.msdn.com/members/scoriani.aspx</uri></author><category term=".NET General" scheme="http://blogs.msdn.com/scoriani/archive/tags/.NET+General/default.aspx" /><category term="Entity Framework" scheme="http://blogs.msdn.com/scoriani/archive/tags/Entity+Framework/default.aspx" /></entry></feed>