Il Software, le architetture e l’industria delle costruzioni.

Published 11 December 08 05:40 PM | scoriani 

Come afferma giustamente Andrea 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.

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…”.

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.

Certo, tutto sommato non è una grande differenza e mi sto facendo solo delle pippe mentali… o forse no?!?! :)

 

P.S: io cmq continuo a sentirmi sempre una via di mezzo tra il geometra e il manovale… :)

Filed under: , ,

Comments

# Laura said on December 15, 2008 7:04 AM:

Sono pienamente d'accordo con la tua visione. Penso anche io che il software sia una "macchina." Essa deve essere progettata identificandone le parti o "componenti" che la costituiscono. Si realizzano dunque i componenti e si assemblano. E poi i vari componenti, se ben progettati possono essere riutilizzati anche in altre "macchine". Cosa che non puoi fare nell'industria delle costruzioni. Inoltre il progettista è un tecnico capace di valutare il rapporto costi benefici, che determinate scelte tecnologiche comportano. Mentre, come anche tu affermi, un architetto va semplicemente alla ricerca della perfezione, rischiando di perdere di vista il vero obbiettivo di chi ti commissiona il progetto. Infatti,secondo me, un importante elemento nella realizzazione dei progetti software è il tempo. Se scelte perfette da un punto di vista teorico, non ti fanno rispettare le scadenze il tuo progetto è comunque un fallimento. Chi si ritiene un architetto, almeno nella mia esperienza,  non sempre è in grado di fare queste valutazioni.

Un altro fattore che avvalora la tua tesi, è che nell'ambito accademico, ho sempre sentito parlare di Ingegneria del Software,  e mai di Architettura del software. Questo è una definizione che ho cominciato ad usare da quando ho partecipato ai workshop di UgiDotnet.

Infine penso che  gli operai specializzati dell'industria di ieri, siano i programmatori delle software house di oggi.

New Comments to this post are disabled

About scoriani

Silvano Coriani fa parte del gruppo Developer and Platform Evangelism di Microsoft per l’Italia, dove si occupa come attività principale del supporto e della divulgazione di contenuti tecnici riguardanti le varie componenti della piattaforma per lo sviluppo di applicazioni sui sistemi operativi Windows, con una particolare predilezione per SQL Server ed il .NET Framework. In precedenza, si è occupato di consulenza, formazione e sviluppo software, in collaborazione con Mondadori Informatica Education, partecipando anche come speaker a diverse conferenze a livello nazionale, come la WPC. Ha iniziato ad occuparsi di informatica con la comparsa dei primi home computer, prima con il Commodore Vic20 poi con il C64, preferendo da subito la lettura dei manuali ai vari videogame disponibili. Dopo aver completato anche gli studi formali sulla materia, ha iniziato la sua carriera occupandosi dello sviluppo di firmware su microprocessori a 8 e 16 bit, in Assembler e C, soprattutto nell’area dell’automazione industriale e del controllo di processo. È passato poi al mondo dello sviluppo su PC, iniziando con applicazioni in C su MS-DOS e proseguendo su quasi tutte le versioni di Windows, prima in C++ per la creazione di componenti e device driver, e successivamente affiancando a quest’ultimo l’utilizzo di Microsoft Visual Basic per la realizzazione di interfacce utente. Da qui poi sono iniziati i primi contatti con SQL Server (6.0 all’epoca) e con gli altri prodotti server della piattaforma Microsoft, utilizzati per lo sviluppo di soluzioni prima client/server e poi distribuite, con l’introduzione di MTS e COM+. L’incontro con il .NET Framework è avvenuto alla sua prima apparizione pubblica, nel Luglio 2000, ed è stato l’inizio di un nuovo corso di studio e approfondimento su questa affascinate piattaforma, sulla quale poi ha realizzato diverse applicazioni commerciali. Nel 2002, insieme a quattro amici, ha fondato DevLeap, un gruppo di professionisti che si occupano di approfondire le tecnologie di sviluppo, di produrre documenti e libri su argomenti di alto livello per la comunità degli sviluppatori, di fornire servizi di consulenza e mentoring alle aziende. Nel 2003 ha scritto il libro “ADO.NET Full Contact”, pubblicato da Mondadori Informatica

Search

This Blog

Syndication

Page view tracker