maggio 2016 Blog Posts
Quelli che non sono d’accordo con noi sono più importanti di quelli che lo sono. Circondarsi di persone che sono solo d’accordo con noi è il miglior modo per vivere e prendere decisioni con un paraocchi. Il ruolo del “devil’s advocate” è fondamentale in ogni decisione, e in un gruppo di persone se tale figura è assente è importante cercare di crearla, magari anche in maniera fittizia, perché stimolare il dissenso è importantissimo per garantire che il processo decisionale sia di qualità. Sempre per quella storia dei no-manager, nell’accezione...
Investire un'oretta del nostro preziosissimo tempo in questo video è tempo speso in maniera perfetta:
Kathy Sierra: Building the minimum Badass User, Business of Software 2012 from The BLN & Business of Software on Vimeo.
Il punto che espone Kathy è decisamente intrigante ed è la massimizzazione dell’approccio user-centrico, tutto gira intorno all’utente, è orientato all’utente, e non solo. Insomma guardatelo
Sono stato per anni un accanito utente di OneDrive, di SkyDrive prima e di LiveMesh prima ancora (di cui ho fatto anche tutta la fase di beta testing). Ho documenti per circa 41Gb e non ho mai avuto il benché minimo problema, poi tutto iniziò con: https://blog.onedrive.com/onedrive_changes/, che in realtà non mi toccava neanche di striscio, mi infastidiva molto ma essere infastidito non è un buon motivo in questo caso. Di palo in frasca… Ho un abbonamento MSDN (Visual Studio Enterprise with MSDN) personale come MVP e uno come azienda, bene. Ho un abbonamento Office 365 Personal,...
Mi sono fatto ri-prendere dallo shopping compulsivo di libri, è sempre stata una mia debolezza. Non solo, siccome la passione per la gestione dei team e dei prodotti/progetti è sempre forte e il modello aziendale in cui vivo è decisamente complesso mi sono iscritto al corso di Kanban di Brando sono curioso di capire se posso trarne qualche spunto lavorativo interessante.
Agli inizi del 2000, se ricordo bene, viene da me la Banca del Tempo di Treviglio che sapeva che il sottoscritto smanettava con i computer e mi chiede come poter realizzare una sorta di agenda che visualizzasse: una serie di eventi pianificati per la settimana corrente una serie di eventi pianificati per la settimana successiva Ovviamente dovevano poter inserire eventi a piacimento e il sistema avrebbe in automatico scelto cosa far vedere, con quale livello di dettaglio e quando. Quella qui di seguito è una foto dell’applicazione che gira ancora...
…un approccio tradizionale basato su una banalissima CRUD, come non c’è nulla di sbagliato nei DataSet o in un servizio WCF. L’architettura non deve essere guidata dalle scelte tecnologiche, tanto quanto le scelte tecnologiche non devono essere guidate dall’hype del momento. Scegliere quindi di prendere un’applicazione esistente, farne un massiccio refactoring per trasformare il monolite in qualcosa basato su microservices senza che vi sia una validissima motivazione di business e senza che i pro e contro siano stati valutati cum grano salis è semplicemente folle. Allo stesso modo scegliere in un nuovo progetto una tecnologia o un’architettura semplicemente...
Come in parte abbiamo già detto tutto il nostro sapere sta su GitHub, in una serie di repository pubblici e in una serie ben più ampia di repository privati. GitHub fa tante belle cose lo ammetto ma devo anche dire che la gestione degli “issue” fa letteralmente acqua da tutte le parti, sono lontani dal minimo sindacale necessario per poterli definire uno strumento in qualche modo utile per la gestione di un progetto. (fine dello sfogo) GitHub per tanti buoni motivi resta comunque il centro del nostro mondo e per una questione di sanità mentale di tutti noi...
Electron ha il suo perché, non c’è che dire. Per chi non lo sapesse Electron è sostanzialmente una piattaforma di sviluppo per applicazioni “desktop” che vi consente di realizzare applicazioni cross-platform (Windows, OSX, Linux) utilizzando JavaScript, HTML, and CSS. Quindi ad esempio vi permette di realizzare un’applicazione desktop usando AngularJs e Bootstrap. Quello che Electron fa è fornirvi una shell ad hoc per ogni piattaforma e le API unificate per consentirvi di dialogare in maniera uniforme ed agnostica alla piattaforma che vi ospita. Non è molto diverso da quello che Cordova fa nel mondo mobile. La...
Quando parliamo di sistemi distribuiti di solito uno dei dogmi fondanti è il cosiddetto CAP Theorem, internamente ne abbiamo coniato un altro, per certi versi simile: RTL. Reliability, Throughput, Latency Mentre CAP descrive una caratteristica intrinseca del sistema, RTL vuole principalmente descrivere una caratteristica dell’output del sistema, o se vogliamo vederla in un modo diverso di quali sono le aspettative che l’utente può avere e che desidera vengano rispettate. Come per CAP, Reliability, Throughput e Latency non posso tutte e e tre essere massimizzate contemporaneamente. Devo fare delle scelte e sacrificarne almeno una, o una parte di...
Sono reduce da un’esperienza alquanto interessante in merito alla gestione di un progetto lungo, complesso e molto faticoso. Ho raccolto una parte delle mie impressioni e alcune considerazioni nel mio blog in inglese: Deadlines: are they a good thing? The acting and directing metaphor. You might already know that for living I work in the software industry. It has been my primary job for the last 16 years or so. You might not know that my secret dream is to be an artist. I studied classical dance when I was...
Ci siamo lasciati con un primo tentativo che sebbene praticabile espone comunque il fianco ad sacco di potenziali magagne. Prendiamo la solita immagine che abbiamo usato usato fino ad ora e proviamo ad applicare sull’immagine delle etichette che rappresentano gli attori di cui abbiamo parlato nel post precedente, l’obiettivo di questo esercizio è trovare gli owner, trovare quindi quali porzioni dell’informazione che stiamo visualizzando sono gestite da chi. I nostri attori potrebbero essere i seguenti, potrebbero essercene di più o di meno ovviamente in base al contesto: Marketing Warehouse ...
Lo dico una volta per tutte: I microservice sono una cagata pazzesca. L’aspetto a mio personalissimo modo di vedere problematico e che porta troppo spesso ad errori di design madornali è che la teoria dei microservice confonde: gli aspetti di design (SOA) con gli aspetti di deploy con gli aspetti infrastrutturali legati al come garantisco alta scalabilità e alta affidabilità infine siccome non era abbastanza detta anche un assioma sulla dimensione. I microservice, se interpretati con il minestrone li sopra, sono una cagata pazzesca....
Con grande piacere sono stato invitato, dai ragazzi di Brain-Sys e da Overnet, al Focus Day che si terrà a Milano il 27 maggio. Il focus della giornata sono i “developer tools” quindi tutti gli strumenti che un team di sviluppo si trova ad usare quotidianamente, parleremo quindi di Visual Studio, dando anche una sbirciata a cosa ci riserva il nuovo Visual Studio “15”, di NPM, Bower, Grunt e Gulp senza dimenticarci di UWP e Xamarin per lo sviluppo cross-platform. Io personalmente mi dedicherò a qualcosa di un po’ inusuale: GitFlow & GitHubFlow: gestire...