Negli ultimi anni stiamo assistendo ad una sorta di “corsa all’oro” nello sviluppo di nuove applicazioni mobile. Ma siamo davvero certi di sapere quali siano tutti i passi da percorrere prima, durante e dopo lo sviluppo?

 

how-long-does-it-take-to-build-an-app-kinvey

I media sono pieni di articoli su ragazzini che hanno sviluppato in proprio una App di incredibile successo, e questa è la ragione che porta molti a sviluppare una propria applicazione.

A volte è davvero un successo. Altre volte non lo è. Purtroppo la seconda opzione è la più frequente. Ci rendiamo conto di quanto successo può avere un’applicazione quando nostra nonna ci chiede come installare WhatsApp sul suo smartphone (da noi regalato a Natale) oppure nostro figlio che ancora non sa leggere ci chiede di giocare a Pokemon Go.

Non è altrettanto facile rendersi conto di quanto tempo serva per sviluppare un’applicazione simile o più semplice. È ancora più difficile dare un valore ad un oggetto che siamo abituati a comprare sullo store a pochi euro.

Da una recente analisi eseguita da Kinvey (creatore di una piattaforma “Backend as a Service”) il ciclo medio di sviluppo di una app mobile è di 18 settimane. Stiamo parlando di solo sviluppo escludendo quindi eventuali ricerche di mercato ed analisi eseguite prima dello sviluppo e la pubblicazione sugli store con relative campagne di marketing / advertising.

Naturalmente il tempo impiegato può variare in base al tipo di applicazione. Di seguito riportiamo una breve guida sulle fasi da seguire. Prendete quelle che più si adattano al vostro progetto oppure seguitela passo-passo. L’importante è iniziare…

Step 1: Ricerca di mercato

Prima di partire è necessario fare un’attenta ricerca di mercato sui vostri competitor (se esistono altre app simili) ed eventualmente quali possono essere le funzionalità che vi distinguono da loro ed alle quali dare maggiore importanza in fase di analisi. Analizzate le recensioni ed i feedback degli utenti e andate a caccia di nuovi spunti o funzionalità mancanti.

Step 2: Scelta della piattaforma

Ci sono due sistemi operativi che dominano il mercato degli smartphone: iOS di Apple e Android di Google. Da varie analisi di mercato (Garder, IDC,…) emerge che nel 2016 queste due piattaforme hanno raggiunto una quota di mercato pari al 99,3%! Android leader con 86,8% contro il 12,5% di Apple. Windows, Blackberry e altri raggiungono insieme appena il 0,7%% della quota di mercato.

Quindi la domanda è ovvia: Android o iOS? Tutto dipende dalla vostra strategia di mercato. Con lo sviluppo su piattaforma Android si sarà certamente in grado di raggiungere una più ampia gamma del mercato. Ma con lo sviluppo iOS, dall’altro lato, si raggiungono utenti che mediamente pagano 4 volte di più che gli utenti Android – in altre parole gli utenti iOS sono più propensi all’acquisto.

Oppure se l’applicazione non richiede particolari funzionalità legate all’hardware, potete decidere di sviluppare su una soluzione Ibrida multi-piattaforma come Ionic.

diffusione_OS
Fonte Idc, Nov 2016

Step 3: Envisioning, analisi di dettaglio del progetto

Definire una chiara visione degli obiettivi del cliente per la soluzione da sviluppare è una delle fasi più critiche del ciclo di vita di ogni progetto.
Attraverso una serie di sessioni di scoperta con il cliente, il team di progetto assicura una comprensione globale della visione del cliente, i requisiti, e il design, necessari per una soluzione di successo.
Durante la fase di Envisioning, i requisiti vengono creati in collaborazione con il cliente, e sono definiti i casi d’uso per ogni esigenza.

design_vs_ux

Step 4: User Experience

Questa fase che fa parte dell’analisi del progetto è forse la più importante e la chiave di successo del vostro progetto.
Sviluppare un’applicazione ben progettata con una grafica accattivante non significa dare una buona esperienza utente e ancora più importante, non significa fornire un utilizzo semplice e comprensibile dell’App.

È per questo che è importante affidarsi ad esperti qualificati in grado di definire correttamente: la struttura dell’interfaccia utente, la tavolozza dei colori, i font e la distribuzione delle informazioni, ecc …
In questa fase si definiscono, grazie all’utilizzo di wireframe, il look e l’interazione fra le varie funzionalità.

Step 5: Iniziare lo sviluppo

Finalmente si sviluppa! Anzi no…
La programmazione è una delle parti cruciali per lo sviluppo di una nuova applicazione, ed è per questo che molte persone pensano che sia necessario iniziare da subito con lo sviluppo. Sbagliato.

Forse ne sarete sorpresi, ma ci sono un paio di strumenti che vi possono aiutare a testare la vostra applicazione con i clienti finali, prima ancora di iniziare lo sviluppo creando dei prototipi che simulano l’interazione tra le varie viste. Stiamo parlando di strumenti come Invision o Proto.io.
Terminata questa fase di prototipizzazione, inizia lo sviluppo vero e proprio. Solitamente si tratta di un processo iterativo in cui si sviluppano e si testano blocchi di codice rilasciandoli in test all’utente finale ed affinandoli di volta in volta.

A seconda del tipo di applicazione ci possono essere anche delle componenti server da sviluppare (backend) per fornire i dati necessari all’applicazione per il suo funzionamento. Gran parte delle applicazioni che prevedono una profilazione dell’utente, infatti, prevede lo sviluppo di un vero e proprio “ecosistema”, costituito da web-application di backend e frontend – aspetti sicuramente da non sottovalutare, in quanto saranno gli strumenti attraverso i quali gestirete la “vita quotidiana” della vostra app!

Step 5: Stabilizzazione

Lo sviluppo finale e il collaudo è focalizzato alla stabilizzazione della mobile app, ad apportare piccole modifiche finali in base al feedback del cliente (fine tuning) e garantire la compatibilità con i vari dispositivi mobili presenti sul mercato. In questa fase è importante tenere bene a mente gli obiettivi principali della nostra idea, per non rischiare di mettere troppa carne al fuoco in un momento che dovrebbe invece essere esclusivamente riservato al processo di raffinamento (fine-tuning) dell’app.

Step 6: Release

Dopo le fasi di sviluppo e di test il progetto è completo, e il team di norma assiste il cliente per rilasciare l’applicazione mobile per l’Apple App Store, Google Play Store, o altri app store. L’App Store di Apple può richiedere fino a due settimane prima di approvare l’applicazione per il download pubblico.

Step 7: Analytics

Gli strumenti analitici rappresentano un supporto fondamentale nel determinare il comportamento degli utenti della tua app. Per questo in fase di progettazione e sviluppo è importante definire quali sono le fasi o gli eventi che vogliamo tracciare e che hanno più valore per la nostra applicazione.
Prendiamo per esempio il processo di registrazione di un’app. Con l’analisi, è possibile scoprire se il processo di registrazione è chiaro e facile da usare per il consumatore finale oppure no. Basta solo un piccolo errore nella procedura di registrazione per dissuadere il cliente dal procedere con la registrazione e disinstallare l’App!

Step 8: Gestione degli aggiornamenti dei sistemi operativi

Ultimo punto da considerare nello sviluppo di un’App mobile, è la gestione degli aggiornamenti dei vai sistemi operativi. Per fortuna non è sempre necessario ma può succedere che a seguito di una nuova release del sistema operativo, alcune funzionalità non siano più disponibili e quindi l’applicazione deve essere rivista. Assicuratevi di avere un contratto di manutenzione con il vostro fornitore, per far fronte anche a questa evenienza.