Dietro le quinte, il lavoro di un team di sviluppo e di gestione dell’operatività di un prodotto digitale è caratterizzato da molte soddisfazioni così come da molti problemi frustranti.

Dal punto di vista delle soddisfazioni, una di quelle che personalmente mi stimolano di più è quella di poter creare, spesso da zero, qualcosa che genera un risultato anche molto rilevante per un cliente.

Tra le frustrazioni ci sono invece quelle relative al fatto che è impossibile produrre software senza difetti o riuscire a servire sempre correttamente una richiesta operativa di un utente, anche con le migliori intenzioni, così come riuscire a far sì che un’infrastruttura abbia un uptime del 100% in un anno è pressoché infattibile e, in ultima istanza, anti economico.

In generale molti di questi problemi rimangono poco visibili agli utenti finali e ai committenti, se il team è ben organizzato e ci sono dei processi di controllo adeguati.

Tuttavia, proprio per la natura del software e dei sistemi che lo fanno girare su Internet, e in generale della complessità di una piattaforma digitale, è inevitabile imbattersi in bug, incidenti e problemi di comunicazione.

Continua a leggere

Il mondo sta cambiando più velocemente che mai e l’evoluzione tecnologica ha reso più facile creare, vendere e comprare prodotti e servizi. L’innovazione continua è un enorme indicatore di successo in gran parte dei settori merceologici.

Essere sul mercato oggi è infatti molto differente rispetto anche a soli pochi anni fa: il digitale non è più un’opzione o un canale secondario, in molti casi è la modalità principale; allo stesso tempo è diverso dal marketing e dal modo di organizzare un’impresa tradizionale.

Continua a leggere per scoprire come i riscontri degli utenti cambiano in tempo reale le strategie e perché è ora di mettere da parte le richieste di progetti a costo fisso e gli RFP per creare le migliori soluzioni possibili.

Continua a leggere

Alcuni clienti preferiscono ricevere offerte a corpo dai loro fornitori, nella convinzione di poter rimuovere l’incertezza in termini di costo, tempistiche e funzionalità dei progetti. I clienti sono soddisfatti nel pensare di poter mantenere il controllo su questi aspetti, senza tuttavia rendersi conto che così facendo perdono il controllo sulla qualità.

Cosa ci vuole per realizzare un prodotto digitale di alta qualità? Innanzitutto, i prodotti migliori sono il risultato di uno sforzo collaborativo tra cliente e fornitore poiché è necessaria l’esperienza di entrambi. Inoltre, è indispensabile poter adattare un progetto agli inevitabili cambiamenti che ci saranno in corso d’opera, come avviene e come in realtà deve essere in un prodotto digitale.

Non è necessario che tutte le funzionalità siano completamente definite all’inizio del progetto, che è il momento in cui quest’ultimo è meno conosciuto: sia il cliente che il fornitore sono nella posizione di poterle dettagliare meglio solo man mano che passa il tempo.

Continua a leggere

Navigando molti siti e applicazioni web, l’esperienza è spesso poco piacevole: alcune volte l’interfaccia è poco intuitiva o troppo pesante, l’aspetto è sgradevole, l’applicazione non risponde come dovrebbe o è lenta in modo frustrante. Anche se di solito gli utenti non sono in grado di indicare uno specifico problema, si rendono conto lo stesso che qualcosa non funziona nel modo migliore e non tornano più.

Anche uno solo di questi problemi può far sprofondare il tuo prodotto, ed è necessaria una grande capacità su tutti questi fronti per realizzare qualcosa di veramente speciale. E’ per questo motivo che un’attenzione quasi fastidiosa ai dettagli del design, dell’esperienza utente, dell’architettura dell’informazione, della tecnologia e dell’infrastruttura è fondamentale per il successo dei progetti dei nostri clienti.

Continua a leggere

Una delle sfide più importanti nello sviluppo di applicazioni software critiche per le aziende è la progettazione di valide architetture che siano in grado di assicurare requisiti non funzionali quali l’estensibilità, la manutenibilità, la testabilità e la leggibilità del codice nel tempo.

Quando i clienti ci chiedono infatti di modificare o riscrivere le loro applicazioni, ciò avviene spesso perchè si ritrovano con una base di codice sviluppata male che ha costi e tempi di manutenzione troppo elevati per via delle (mancate) scelte progettuali; in questi casi riscrivere o effettuare il refactoring dell’applicazione con adeguati principi architetturali diventa una scelta da valutare molto seriamente dopo un accurato audit.

Continua a leggere