Mobile App Development Cost and Process

iPhone App Development Cost / Process, Android App Development Cost / Process

Spesso i clienti mi chiedono di fornire loro un costo approssimativo per sviluppare un’app, in modo che possano decidere un budget o avvicinarsi agli investitori per raccogliere fondi per il progetto dell’app.

In questo articolo, andrò oltre il processo di sviluppo dell’app mobile, diversi requisiti di talento, ed elementi che influenzano lo sviluppo dell’app mobile.

Processo di sviluppo dell’app mobile

Le voci seguenti mostrano il tipico processo di sviluppo dell’app mobile:

  1. Wireframing – Wireframing è un processo importante per la costruzione di un’app; questo perché costruirà le basi di come l’app deve essere progettata e funzionare. Una cosa importante da notare è che con le applicazioni mobili, sarà molto più dispendioso in termini di tempo e costi rifare le schermate o ricostruire la funzionalità rispetto a una web app, quindi, è importante costruire i wireframes prima di iniziare lo sviluppo. Durante il wireframing, uno specialista dell’UX dell’app e uno sviluppatore dell’app hanno bisogno di avere sessioni di scoperta (brainstorming) con il proprietario del progetto per stabilire come l’app sarà progettata e funzionerà; maggiore è la complessità o il numero di schermate del progetto, maggiore sarà il tempo necessario per completare il wireframing. Per completare il wireframing, uno specialista UX dell’app disegnerà la navigazione, le schermate, e tutti gli elementi che vanno nelle schermate dell’app e annotando le funzionalità per ogni schermata.
  2. App Screen Design – Progettazione delle schermate dell’app (front-end) sia per iOS che per Android.
  3. Programmazione di app – Programmazione delle schermate delle app (front-end) sia per iOS che per Android.
  4. Application / Database Framework – Impostazione del framework lato server dell’applicazione (cloud / back-end) e creazione della struttura del database.
  5. Programmazione dell’applicazione lato server – Scrivere tutto il codice lato server per implementare le funzionalità di back-end.
  6. Sviluppo delle API – Scrivere tutte le API che collegano le schermate dell’applicazione all’applicazione lato server e al database.
  7. QA usabilità – Testare le schermate dell’app alla ricerca di bug e risolvere eventuali problemi.
  8. QA multi-piattaforma, multi-dispositivo, versioni OS, risoluzioni – Testare l’app su tutte le diverse piattaforme (iPhone, Android, Windows Phone) e diverse versioni OS di ogni piattaforma (Apple iOS ha due versioni popolari: iOS 8 e iOS 7, Android OS ha cinque versioni popolari (Android 4.1,4.2,4.3,4.4,5.0), diverse risoluzioni di diversi dispositivi mobili (tra diversi dispositivi di smartphone, phablet e tablet, ci sono un bel po’ di risoluzioni per le quali testare e può richiedere molto tempo).
  9. Back-end QA Testare il codice back-end per le prestazioni e la sicurezza.
  10. Impostazione Cloud – Distribuire l’applicazione lato server sul server / cloud.
  11. Submit to App Stores – Distribuire l’applicazione negli App Stores.

Talenti necessari per costruire un’applicazione mobile di qualità

Costruire un’applicazione mobile di qualità richiede molti passaggi e richiede diversi talenti con diverse specialità:

  • Per il wireframing, un UX (User Experience) Specialist che ha esperienza nel costruire schermate di app con la migliore esperienza utente. Un UX Specialist dovrebbe conoscere le convenzioni dell’app e le regole per mostrare la navigazione e gli elementi sugli schermi rendendo facile per gli utenti navigare meglio nell’app e trovare ciò di cui hanno bisogno, nella giusta priorità.
  • Per la progettazione delle schermate dell’app, il Designer deve sapere come progettare per diversi dispositivi: iPhone, Android e schermi di telefoni Windows. In breve, il designer deve avere l’esperienza e la visione di come diversi oggetti o elementi grafici appariranno sui piccoli schermi dei telefoni e sulle diverse risoluzioni. Il Designer ha anche bisogno di usare la giusta dimensione, la giusta grafica e icone, e i temi per l’app.
  • Per programmare le schermate dell’app, il programmatore deve avere esperienza nell’uso dell’ambiente Xcode con Objective-C o Swift per iOS, e Java per Android. Di solito, i programmatori si specializzano nello sviluppo iOS o nello sviluppo Android.
  • Per scrivere l’applicazione lato server e le API, il programmatore deve avere esperienza nella scrittura di codice mantenibile con la migliore sicurezza e performance.
  • Per il QA, lo specialista del Quality Assurance e il tester devono essere orientati al dettaglio e avere esperienza nel cercare i problemi di funzionalità e design che di solito non sono facili da vedere per gli sviluppatori.
  • La distribuzione dell’applicazione lato server va oltre l’essere uno sviluppatore o un programmatore; richiede un programmatore esperto e uno specialista di cloud, a volte chiamato DevOps. Il DevOps deve avere esperienza nell’installazione dell’applicazione, creare un ambiente server affidabile, ridondanza del database, backup, sicurezza, prestazioni e scalabilità dell’applicazione.
  • La distribuzione dell’applicazione all’app store è di solito un compito facile.

Quindi, quando si guarda ai requisiti di talento per la costruzione di un’applicazione, ci si rende conto che per costruire un’applicazione di qualità che sia ben progettata, facile da usare, funzionale e scalabile, avrete bisogno di diversi talenti con diverse esperienze e specialità, e questo può aggiungere costi sostanziali al progetto dell’applicazione.

Mobile App Development Ball-park Cost

Sulla base di tutti i talenti che sono necessari e tutto il lavoro e il processo che va in costruzione di un app, ho creato qui sotto, una stima dei costi di costruzione di app.

Per saperne di più sullo sviluppo di app native contro lo sviluppo di app ibride, clicca sul link sottostante:
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP: Minimum Viable Product

Ripartizione dei costi per lo sviluppo di app native: Android & iPhone
Progetto Piccolo MVP Piccola Impresa Medio MVP Media Impresa Grande MVP Grande Impresa
Discovery e Wireframing $1,500 $2,500 $2,500 $3,500 $5,000 $9,000
App Screen Designs $2,000 $3,000 $3,500 $5,000 $5,000 $9,000
sviluppo nativo iOS $9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Sviluppo nativo Android $9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Programmazione back-end, database e API $5,000 $7,000 $9,000 $10,000 $12.000 $12.000
Amministrazione applicazioni N/A $7,500 $9.000 $15.000 $10.000 $20.000
Assicurazione qualità e perfezionamento iOS $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Assicurazione qualità e perfezionamenti Android $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Deployment e Cloud $1,500 $2,000 $2,000 $3,000 $2,000 $3,000
Totale (una piattaforma) $21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Totale (Android e iPhone) $32,000 $49,000 $110,000 $125,500 $168,000 $251,000

Ripartizione dei costi per lo sviluppo di app ibride: Android & iPhone
Progetto Piccolo MVP Piccola Impresa Medio MVP Media Impresa Grande MVP Grande Impresa
Discovery e Wireframing $1,500 $2.500 $2.500 $3.500 $5.000 $7.500
App Screen Designs $2,000 $3,000 $3,500 $6,000 $5,000 $9,000
Sviluppo App ibrido utilizzando la tecnologia PhoneGap $10,000 $12,000 $38,000 $45,000 $65,000 $100,000
Programmazione back-end, Database e API $5,000 $7,000 $9,000 $10,000 $12,000 $12,000
Application Administration N/A $7,500 $9,000 $15,000 $10,000 $20,000
Assicurazione qualità e perfezionamenti $2,000 $4,000 $5,000 $7,000 $9,000 $11,000
Deployment e Cloud $1,500 $2,500 $2,000 $3,000 $2,000 $3,000
Totale (Android & iPhone) $22,000 $38,500 $69,000 $89,500 $108,000 $162,500

Fattori di costo per lo sviluppo di app mobili

Il costo dello sviluppo di un’app mobile si basa su questi fattori:

1. Piattaforme e ambiente dell’app

Costruire per tutte le piattaforme aumenta sostanzialmente il costo. Questo perché Apple iPhone usa l’IDE Xcode e il linguaggio di programmazione Objective-C o Swift, Android usa il linguaggio di programmazione Java e Windows usa il linguaggio di programmazione C#.

Se lo sviluppatore ha bisogno di costruire l’app per tutte le piattaforme, e l’app deve essere costruita utilizzando il linguaggio di programmazione nativo di ogni piattaforma, il costo di sviluppo sarà raddoppiato o triplicato a causa della quantità di tempo che è necessario per costruire l’app utilizzando diversi linguaggi di programmazione di ogni piattaforma.

Se l’app può essere costruita usando una tecnologia di sviluppo ibrida, lo sviluppatore può costruirla una volta usando, per esempio, HTML5, CSS e JavaScript e usare PhoneGap per preparare l’app per tutte le piattaforme. Questo può ridurre il costo sostanzialmente, di costruire per tutte le piattaforme.

Per saperne di più sulle differenze tra lo sviluppo di app native e lo sviluppo di app ibride, utilizzate l’articolo seguente:
Sviluppo app nativa vs sviluppo app ibrida / PhoneGap

2. Personalizzazioni vs utilizzo di widget app standard e convenzione

Più personalizzazioni fai, più tempo ci vuole per sviluppare la tua app.

Inoltre, è bene sapere che l’ambiente di sviluppo dell’app per ogni piattaforma fornisce alcuni widget per costruire la convenzione standard come la navigazione, il cambio di schermata, le animazioni e altri elementi di interazione dell’utente dell’app. Quando si utilizza la convenzione standard, il costo di sviluppo dell’app sarà più conveniente.

3. Numero di schermate dell’app

Il numero di schermate ha un impatto diretto sul costo; più schermate hai, più lavoro ci sarà per costruire l’app.

4. Complessità delle schermate

Si raccomanda di costruire schermate più pulite (e meno trafficate) con una navigazione semplice che usi le convenzioni standard delle app. Questo fornirà la migliore esperienza utente e riduce il costo di sviluppo.

Se si costruiscono schermate affollate con molti elementi di navigazione complessi, il costo dello sviluppo dell’app sarà più alto

5. Ecommerce e acquisti In-App

Ogni volta che si lavora con il denaro, lo sviluppatore deve essere molto attento ai calcoli e alla sicurezza.

Quindi, gli acquisti in-app e l’avere a che fare con il denaro aggiungono più tempo allo sviluppo perché è necessario del tempo extra per assicurarsi che i calcoli siano accurati e che l’app sia sicura.

Anche dopo che lo sviluppo è completato, raccomanderei di fare ulteriori test sulle transazioni per garantire l’accuratezza dei calcoli prima di andare in diretta con l’applicazione.

6. Integrazione con le API di terze parti

Quando l’applicazione deve comunicare con altri servizi, lo sviluppatore deve imparare e interfacciarsi con le API di terze parti.

Questo richiederà tempo extra per imparare le API di terze parti e implementarle correttamente. In molti casi lo sviluppatore non può valutare la quantità di lavoro che comporta l’interfacciamento con le API di terze parti finché non passa un po’ di tempo ad imparare l’API e ad interfacciarsi con essa.

7. Animazione complessa

Animazioni e giochi personalizzati e complicati possono richiedere un tempo di sviluppo sostanziale.

Animazioni complicate che non forniscono alcuno scopo pratico possono anche rallentare la vostra app e frustrare l’utente. Quindi, cercate di stare lontano da animazioni complicate che non servono ad alcuno scopo pratico.

8. Supporto per più risoluzioni dello schermo mobile

Ci sono tre tipi di dispositivi mobili:

  • Smartphone – esempi: Apple iPhone 3,4,5,6 o Samsung Galaxy S2, S3, S4, S5, o LG Nexus 4, 5.
  • Phablets (la dimensione dello schermo è tra Smartphone e Tablets), esempi: Apple iPhone 6 Plus o Motorola Nexus 6.
  • Esempi di tablet: Apple iPad versioni multiple, mini versioni multiple, Air, Samsung Galaxy Tab (versioni multiple)

I dispositivi di cui sopra hanno tutti diverse risoluzioni dello schermo. Per le versioni più recenti del sistema operativo dei dispositivi, ci sono modi per ridimensionare il contenuto per adattarlo alla maggior parte degli schermi, ma costruire interfacce personalizzate per supportare tutte le risoluzioni dello schermo può essere molto dispendioso in termini di tempo e denaro.

9. Supporto per tutte le versioni del sistema operativo (OS) dei dispositivi

Di seguito è riportato l’elenco di tutte le versioni OS dei dispositivi mobili e tutte le versioni OS popolari. Se stai cercando di supportare tutte le versioni OS di tutti i dispositivi, il costo sarà molto più alto.

Vorrei raccomandare di selezionare solo le versioni popolari dei dispositivi OS da supportare.

  • I dispositivi mobili di Apple Il sistema operativo mobile di Apple si chiama iOS. iOS ha versioni che vanno dalla versione 1.0 alla 8.0 (rilasciata nel settembre 2014).
    Di seguito è riportato l’elenco delle versioni popolari di iOS, e le percentuali approssimative della loro quota di mercato a febbraio 2015:
    • iOS 8: 80%
    • iOS 7: 19%
  • I dispositivi mobili di Android Il sistema operativo Android ha versioni che vanno dalla 2.2 alla 5.0 (rilasciata il novembre 2014) A febbraio 2015, le versioni Android OS popolari sono: (le percentuali sono approssimative)
    • Android OS 4.4: 60%
    • Android OS 4.3: 7%
    • Android OS 4.2: 13%
    • Android OS 4.1: 12%
    • Android OS 5.0: 5%
  • Dispositivi Windows Mobile Microsoft Phone OS ha versioni che vanno dalla 7 alla 8 (rilasciato nell’ottobre 2012) A questo punto non ho abbastanza dati per fornire la percentuale approssimativa della quota di mercato di ogni versione.

10. Supporto offline

Sviluppare la funzionalità di supporto offline può richiedere molto tempo e a sua volta aumenterà il costo dello sviluppo.

11. Continuità / funzione Handoff

La funzione Handoff fornisce la funzionalità di connessione e condivisione / spostamento di informazioni e dati tra diversi dispositivi.

Costruire la funzionalità di handoff può richiedere molto tempo e può aggiungere costi sostanziali al progetto.

La ricerca per questo articolo è stata completata il 24 febbraio 2015; le informazioni possono cambiare.

Leave a Reply