
guide
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Suggerimenti pratici per migliorare la scrittura e progettazione di applicazioni Web: utenti, programmazione e progettazione
Questa è la traduzione dell’articolo How To Build A Better Web Application For Your Business pubblicato originariamente su Smashing Magazine l’11 Agosto 2011. La traduzione (di Mariano Calandra) viene qui presentata con il consenso dell’editore e dell’autore.
Siete stufi di sentir parlare della nuova applicazione Web targata Silicon Valley, fatta con polvere di fata e finanziata da dei magici folletti? Se è così, allora questo articolo fa al caso vostro. Probabilmente, a molti di noi difficilmente capiterà di lavorare ad un’applicazione Web finanziata con alti capitali di rischio e per la quale gli obiettivi di business sono un aspetto secondario. Per noi, lo sviluppo di un’applicazione Web significa soddisfare una determinata necessità aziendale.
Sia che svolgiamo la nostra attività di sviluppatori come freelance, sia che lavoriamo con un’agenzia avremo a che fare con vincoli commerciali rigorosi e con tempo e budget limitati. O almeno… questa è la mia situazione. Ma come si può immaginare è stancante, dunque, individuare il giusto approccio è cruciale. Sulla base di esperienze lavorative passate, ho identificato tre segreti che se applicati potrebbero rendere questo lavoro molto più agevole:
Quando vi viene chiesto di creare un’applicazione Web, è esattamente questo il lavoro da fare: creare un’applicazione web. Non vi è stato chiesto di risolvere un problema d’affari o di far quadrare il bilancio aziendale. Dunque, vi dedicherete a realizzare una serie di funzionalità in modo da sviluppare l’applicazione che vi è stata commissionata.
Sfortunatamente, quest’ultimo è un approccio pericoloso. Focalizzando, infatti, l’attenzione sull’applicazione, l’enfasi è tutta sulle tecnologie e le funzionalità, non sulle esigenze degli utenti o sulle problematiche di fondo.
Un buon team di sviluppo, all’inizio del progetto, fa un passo indietro e guarda alle questioni di fondo che hanno portato alla necessità di realizzare un’applicazione.
Lo User testing è la chiave per conoscere l’utente. Mirate a testare l’applicazione almeno una volta al mese durante l’intero ciclo di sviluppo. Questo non porterà via molto tempo, né risulterà essere costoso. Ogni sessione richiede solo tre o quattro utenti e potrà essere completata con facilità in una mattinata. L’intero team di sviluppo può prendere parte a queste sessioni ed essere coinvolto in brevi attività di debriefing che possono svolgersi anche durante la pausa pranzo.
Punto cardine, dunque, di una applicazione web è l’utente e le sue necessità, la tecnologia esiste solo affinché queste possano essere soddisfatte.
Il che ci porta al prossimo segreto…
Se non si riesce a rimanere concentrati sulle esigenze degli utenti e gli obiettivi di business, le cose possono sfuggire di mano. Questo tipo di progetti tollerano davvero poco i cambiamenti incontrollati.
In genere, non appena le persone coinvolte nel progetto, vedranno un’anteprima dell’applicazione, inizieranno a suggerire idee per nuove funzionalità. Il problema è che da ogni nuova caratteristica deriva una maggiore complessità. Questo può, in ultima analisi, compromettere l’efficacia finale della stessa. Quando sviluppate un’applicazione web, spiegate ai clienti la necessità di partire con un’applicazione semplice.
Una volta che la vostra applicazione minimale è stata lanciata, parte la fase di monitoraggio degli indicatori chiave di performance (KPI, Key Performance Indicators). Come suggerisce il nome, i KPI aiuteranno il team a giudicare il successo dell’applicazione che si sta sviluppando.
Non esistono indicatori validi per tutti i progetti. Buona norma, dunque, sarà stabilire all’inizio del processo di sviluppo, quali saranno gli indicatori di successo della vostra applicazione. In combinazione con il feedback fornito degli utenti, questo monitoraggio fornisce un quadro più chiaro, indicandovi su che binari deve proseguire lo sviluppo. Ma attenzione, al feedback degli utenti.
Gli utenti spesso reagiscono negativamente al cambiamento. Imparare un nuovo sistema richiede tempo, anche se in fin dei conti sarà più facile da utilizzare. Non importa. Gli utenti inevitabilmente si lamenteranno e daranno una pletora di suggerimenti.
Non reagite troppo tempestivamente a questi suggerimenti! Daniel Burka, una volta mi confessò che quando lavorava per Digg, era pratica comune lasciare trascorrere almeno due settimane prima di prendere provvedimenti e considerare il feedback degli utenti. Lasciate il tempo agli utenti di regolare l’applicazione prima di apportare correzioni.
Si pensi a quanti gruppi di protesta nascono su Facebook ogni qual volta nel social network cambia anche la cosa più banale. Questo, ovviamente, non è un invito ad ignorare le opinioni degli utenti. In realtà, si dovrebbe, per quanto consentito, raccogliere attentamente quanti più feedback possibili.
È interessante notare come molti dei suggerimenti degli stakeholder (persone interessate nella riuscita del progetto, che non sono direttamente utenti dell’applicazione) riguardino problematiche di gestione, come la presentazione, il flusso di lavoro e il monitoraggio.
Sebbene questi suggerimenti siano a volte validi, spesso, la loro soluzione ideale è di tipo manageriale, piuttosto che tecnica. Ad esempio, dei clienti mi chiesero che il loro sistema di gestione dei contenuti, non avrebbe dovuto pubblicare dei documenti senza che questi venissero prima sottoposti al nulla osta di altri funzionari dell’organizzazione. Naturalmente, questo è del tutto lecito e si implementa senza troppa difficoltà, infatti è una funzionalità già presente nella quasi totalità dei CMS presenti in commercio.
In casi come questo, però, una buona comunicazione all’interno del team di lavoro permetterebbe di risolvere la questione senza il bisogno di implementare una nuova funzionalità. Basterebbe informare coloro che pubblicano contenuti di non farlo finché un responsabile non li abbia prima controllati.
Se l’aggiunta di nuove caratteristiche si traduce in un aumento della complessità, allora non dovreste risolvere ogni problematica con una nuova funzionalità. Se davvero necessario, quest’ultima potrà essere aggiunta in un secondo momento. Come ovvio, per far ciò è necessario che l’applicazione sia facilmente espandibile.
Poiché il vostro insieme iniziale di funzionalità è destinato a evolvere in base al feedback degli utenti e degli obiettivi di business, costruire una applicazione difficilmente espandibile non è una scelta saggia, soprattutto se di proposito abbiamo lanciato la stessa con un insieme minimale di funzionalità.
Realizzare un’applicazione flessibile non è ovviamente facile. La regola aurea sarebbe integrare, sin dall’inizio, un sistema che potremmo definire volgarmente “a plug-in”, così facendo l’introduzione di nuove funzionalità risulterà molto più immediata. Il trucco è riconoscere nella fase di start-up del progetto se c’è bisogno di flessibilità. Il che introduce il punto successivo.
Non c’è cosa più sconveniente e fastidiosa di dover gestire problematiche inaspettate nel bel mezzo dello sviluppo. Cercate, dunque, di avere piena consapevolezza di tutti i possibili scenari sin dall’inizio. Certo, non potete predire il futuro. Lo stratagemma, in queste situazioni, è conoscere quali sono le domande appropriate da fare prima ancora di iniziare a sviluppare. Troppo spesso, infatti, l’attenzione è posta su domande sbagliate, quali:
Concentrandovi su questioni di politica interna all’azienda, probabilmente il vostro progetto verrà approvato in tempo brevissimi, ma, altrettanto probabilmente, condurrà l’applicazione a risultati molto meno soddisfacenti. Per quanto mi riguarda, sono quattro le questioni che, quando ignorate, hanno causato problemi nel processo di sviluppo:
Ogni applicazione Web presenta sfide uniche. Nel corso del tempo, si impara dai propri errori e si sviluppa un proprio metodo. Ricordate sempre di tener conto delle esigenze degli utenti, di mantenere il tutto quanto più semplice possibile e di porre le giuste domande quando serve. Questi accorgimenti saranno preziosi per il futuro.
Tuttavia, vi è anche l’occasione per imparare l’uno dall’altro. Purtroppo, molti sviluppatori spendono la vita in isolamento all’interno di grandi organizzazioni. Articoli come questo dovrebbero stimolare la discussione e incoraggiare a condividere le vostre esperienze - siano esse positive o negative – di sviluppatori di applicazioni web.
Se vuoi aggiornamenti su Come sviluppare applicazioni web migliori inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
TypeScript: un superset di JavaScript che introduce l’utilizzo di Static Type, Classi e Moduli; implementa molte delle nuove funzionalità dello […]
Tutti i linguaggi per diventare uno sviluppatore di app per Android.
Come creare applicazioni per il Web con PHP e MySQL per il DBMS.
Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.
I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.
Diventare degli esperti in tema di sicurezza delle applicazioni Java.
Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.
Le principali guide di HTML.it per diventare un esperto dei database NoSQL.
Ecco come i professionisti creano applicazioni per il Cloud con PHP.
Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.
Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.
Fare gli e-commerce developer con Magento, Prestashop e WooCommerce.
Realizzare applicazioni per il Web utilizzando i framework PHP.
Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.
Percorso base per avvicinarsi al web design con un occhio al mobile.
Realizzare siti Web e Web application con WordPress a livello professionale.
Uno sguardo ravvicinato alle componenti del framework in grado di assisterci nella creazione di moduli
Un’alternativa semplice, potente e anti-spam alla newsletter tradizionale
Quali sono i principali metodi per testare l’usabilità di un sito web
Jelastic Cloud è un servizio PaaS (Platform as a Service) offerto da Aruba, e destinato a tutte le aziende e gli sviluppatori interessati al deploy di applicazioni complesse direttamente su un’infrastruttura potente e rodata in Cloud. In questa guida scopriremo le tecnologie supportate (WordPress, Magento, Docker, Kubernetes, PHP, Java, Node.js) e come sfruttarle per un deploy di applicazioni e CMS.