MesBlog

Thinking in sharp architectures
posts - 160, comments - 518, trackbacks - 40

+ Tools, - Frameworks

Sabato ero ad un matrimonio, ho ritrovato tanti amici dell'università che era un po' di tempo che non vedevo.

Molto interessante è stata la discussione con uno di loro, che lavora nel campo del controllo strumentale delle strutture degli edifici (e relativi interventi di messa in sicurezza). Mi sono reso conto di una cosa mentre mi parlava delle altre attività che riesce a portare avanti: i cicli di investimento che la sua azienda opera per tecnologia e innovazione sono dell'ordine di 5-7 anni, nei quali si tende ovviamente a massimizzare lo sfruttamento delle strumentazioni fino al loro estremo, prima di cambiare.

Da quando ho messo in piedi la mia minuscola software house un tarlo mi sta rendendo la vita difficile (senza esagerare...): è giusto rincorrere in maniera ossessiva l'innovazione tecnologica nel nostro campo?

Io non metto in dubbio che sia positivo che Microsoft, Sun, o chi per esse aggiornino costantemente le proprie tecnologie su cui noi poi realizziamo lo nostre soluzioni, ma mi chiedo se sia realmente necessario bruciare conoscenze acquisite nello stretto volgere di un annetto o giù di lì. Rischiamo davvero di essere sempre in beta, di basarci su prodotti che vengono offerti con il solo supporto della libreria e tanto lavoro manuale da metterci.

Questo non è un discorso sulla passione, è un discorso che sa molto di più di strategia aziendale se vogliamo. Perchè quello che manca a mio avviso è una "line of business" (Janky sarà fiero di me...) anche piccola.

Da più parti si denuncia che la vera mancanza nel mondo del software è la qualità: si scrive troppo codice di bassa qualità, poco efficiente e in tempi troppo lunghi. Sinceramente penso che non sia tanto colpa della scarsa qualità delle persone che lo producono, ma sono molto più propenso a pensare che sia colpa della scarsissima qualità degli strumenti a disposizione. Come se oggi un mobiliere lavorasse ancora con gli strumenti di Geppetto...

Vedo mio cognato che fa mobili su misura da solo (si letteralmente da solo) ed ha un capannone con macchinari piuttosto moderni, che lo aiutano in maniera incredibile nel realizzare cucine, camere da letto, soggiorni.

E noi? Noi che utilizziamo WPF scrivendo XAML a mano quasi? Noi che "solo i grandi team di sviluppo hanno bisogno di Team System", noi che "una catena di montaggio basata su Continuous Integration è troppo complessa da mettere in piedi", noi che "la profilatura dei prodotti che sforniamo è troppo costosa in termini di tempo e strumenti", noi che "quanto è figo Silverlight, ma dalla 1.0 alla 1.1 (rigorosamente beta nds) sono quasi due prodotti diversi"...

Si è vero: mode polemica on. Ma io davvero comincio a pensare piano piano in termini di investimento aziendale, e temo sinceramente che sia dannoso stare troppo dietro alle ctp e alle beta (e se non erro Raf sarebbe d'accordo con me...).

Quindi come ai vecchi tempi degli slogan, io comincio ad essere dalla parte di quelli che vogliono più tools (a più buon mercato di grazia, o almeno con una migliore distribuzione del prezzo delle licenze per numero di sviluppatori!!!) ed un po' meno framework (mi vanno bene le Beta 2 al massimo, ma lasciamo le CTP a chi fa il tester di mestiere...).

Il mio lavoro è produrre software affidabile ed efficiente, in tempi stretti (sempre più stretti), a prezzi concorrenziali (sempre più concorrenziali). Ho bisogno di strumenti che mi aiutino a farlo, senza dover necessariamente rivoluzionare le mie conoscenze ogni 6 mesi.

Forse sono solo pigro?

Saluti

Print | posted on lunedì 25 giugno 2007 9.49 |

Feedback

Gravatar

# re: + Tools, - Frameworks

+1....
MA
C'è sempre un ma :)
Io penso che nell'attuale congiuntura, un pò di "corsa ad ostacoli" tra beta ed alpha, soprattutto nel campo dei liberi professionisti singoli (quindi leverei le aziende per quanto piccole) aiuta a scremare un pò il campo tra la gente che ha vera passione e quella che non ce l'ha...
Soprattutto in sede di colloquio, per me è molto utile per capire chi potrà nel caso remare da solo, e chi invece resterà in balia delle onde aspettando che qualcuno gli butti un salvagente......
25/06/2007 10.14 | Alessandro Ghizzardi
Gravatar

# re: + Tools, - Frameworks

Condivio quanto scrive Roberto.

E' difficile riuscire a gestire tutte le innovazione che a ritmi sempre più rapidi si susseguono tra ctp e betas.

Per mancanza di tempo, ma anche soprattutto quando è necessario giustificare i costi di un progetto.

In un ottica aziendale è importante fare queste considerazioni.
Nel mio caso la "passione" mi porta a riuscire a trovare il tempo e "quello che serve" per poter introdurre
il più possibile le novità.

Spesso nel mio caso poi la conoscenza e l'aggiornamento delle novità rimane solo "teorico" nel senso che non è possibile mettere subito in pratica...

Concordo con Alessandro nel dire che comunque in fase di colloquio per me è importante capire chi "sa".Ma devo dire che dopo tanti colloqui, sono pochi quelli che "hanno quella marcia in più".
25/06/2007 11.05 | Luca Mauri
Gravatar

# Re: + Tools, - Frameworks

Roberto, due post che sottoscrivo pienamente. Non rischierai un giorno di diventare polemico come me? :-)
A parte scherzi, credo che oggi bisogna avere l'abilità di splittare il nostro lavoro in due parti: uno più tecnicamente consolidato (tools, linguaggi, framework allo stato dell'arte) per fare il nostro lavoro verso i clienti e per portare a casa la pagnotta. Un'altra parte del nostro lavoro consiste imho nell'anticipare i tempi e capire le tecnologie future. Un esempio, per me, consiste in WPF: non lo uso ancora in produzione con i clienti, però scrivere piccole utility o sw freeware come quello su Flickr mi permette di studiare la tecnologia e di capire fin dove posso/può arrivare. Nel lavoro di tutti i giorni uso C# puro ed il compact framework.
25/06/2007 12.45 | Igor Damiani
Gravatar

# re: + Tools, - Frameworks

Condivido in pieno
25/06/2007 14.49 | Alessandro Gervaoni
Gravatar

# re: + Tools, - Frameworks

Hai assolutamente ragione! Concordo pienamente.
26/06/2007 9.29 | Fabio Serra
Gravatar

# re: + Tools, - Frameworks

Roberto, hai tutta la mia comprensione. Credo che il problema di fondo per noi sia che la vita delle tecnologie che utilizziamo è enormemente più breve del tempo necessario a padroneggiarle. Ad esempio ad oggi conosco moltissime persone che pur usando ASP.NET 2.0 ancora non riescono a sfruttare al massimo questa tecnologia, magari perchè l'hanno abbracciata da pochi mesi, per non parlare di quelli che ancora si arrabattano sulla versione 1.1... e siamo in attesa che esca la versione 3.5 del framework...
26/06/2007 10.09 | Andrea Boschin
Gravatar

# Re: + Tools, - Frameworks

Andream hai colto perfettamente il senso del mio post. Faccio un esempio: ogni anno la Ferrari progetta e realizza un nuova vettura di Formula 1, ma prima di padroneggiarla e di renderla veramente efficiente passano i gran premi, i test e un lavoro continuo di affinatura. Io sono assolutamente conscio che in tantissimi ancora non abbiamo spinto asp.net 2.0 alle sue massime possibilità in fatto di estendibilità e prestazioni. e chi lo ha fatto molto spesso ci è riuscito perchè la contingenza di un progetto gli ha permesso di andare a fondo su molti argomenti.
Inoltre, fattore davvero molto importante, è la percezione di un applicativo (web o meno) che i nostri clienti hanno, in fatto di investimenti e di ammortamenti. Creare oggi un'applicazione con il fx 2.0, significa portarla avanti in fatto di garanzia e supporto per qualche anno.
Non so, a volte ho la sensazione che non si faccia maturare fino in fondo una tecnologia in modo da avere una base veramente affidabile di conoscenze e di soluzioni, e di conseguenza una percezione del nostro lavoro veramente affidabile e di qualità.
Fra l'altro il tempo (ben) speso nello studio dei nuovi framework viene inevitabilmente tolto da quello per padroneggiare e sperimentare i tool che potrebbero andare a comporre una nostra line of business di produzione del sw, strumenti che personalmente trovo di enrome importanza.
saluti
26/06/2007 10.39 | Roberto Messora
Gravatar

# re: + Tools, - Frameworks

condivido il problema che descrivi.

su questo tema mi aiuta distinguere tra conoscienze volatili e conoscienze permanenti e privilegio l'aggiornamento su quelle permanenti senza trascurare le seconde.

Per esempio:

- Volatile : SqlServer vs Permanente : Modello Relazionale - SQL e linguaggi relazionali - Modellazione concettuale

- Volatile : Ciclo di vita del software con TS Permanente : Ingegneria del Software

- Volatile : Microsoft Threat Analysis & Modeling Permanente: sicurezza delle reti e del software


Sento meno i tool come soluzione della cosa, prima dei tool vedo le persone e l'interazione , cioè l'organizzazione del team e il modo di lavorare che aiuta molto la qualità.
26/06/2007 12.46 | Luca Minudel
Comments have been closed on this topic.

Powered by: