Coût et processus de développement d’applications mobiles

Coût / processus de développement d’applications iPhone, coût / processus de développement d’applications Android

Souvent, les clients me demandent de leur fournir un coût approximatif pour développer une application, afin qu’ils puissent décider d’un budget ou approcher des investisseurs pour lever des fonds pour le projet d’application.

Dans cet article, je vais passer en revue le processus de développement d’applications mobiles, les différentes exigences de talents, et les éléments qui affectent le développement d’applications mobiles.

Processus de développement d’applications mobiles

Les éléments ci-dessous montrent le processus typique du développement d’applications mobiles :

  1. Wireframing – Le wireframing est un processus important de la construction d’une app ; c’est parce qu’il va construire la base de la façon dont l’app doit être conçu et fonctionner. Une chose importante à noter est qu’avec les applications mobiles, il sera beaucoup plus long et coûteux de refaire les écrans ou de reconstruire les fonctionnalités qu’avec une application web, il est donc important de construire les wireframes avant de commencer le développement. Au cours de cette étape, un spécialiste UX et un développeur d’applications doivent organiser des séances de découverte (brainstorming) avec le maître d’ouvrage afin de déterminer la manière dont l’application sera conçue et fonctionnera. Plus le projet est complexe ou comporte un grand nombre d’écrans, plus la réalisation du wireframing sera longue. Pour réaliser le wireframing, un spécialiste UX de l’application dessinera la navigation, les écrans et tous les éléments qui entrent dans les écrans de l’application et notera les fonctionnalités de chaque écran.
  2. Conception des écrans de l’application – Conception des écrans de l’application (front-end) pour iOS et Android.
  3. Programmation de l’application – Programmation des écrans de l’application (front-end) pour iOS et Android.
  4. Cadre d’application / base de données – Mise en place du cadre côté serveur de l’application (cloud / back-end) et création de la structure de la base de données.
  5. Programmation des applications côté serveur – Écriture de tout le code côté serveur pour la mise en œuvre de la fonctionnalité back-end.
  6. Développement des API – Écriture de toutes les API qui connectent les écrans de l’app à l’application côté serveur et à la base de données.
  7. AQ de l’utilisabilité – Tester les écrans de l’app pour détecter les bogues et corriger les problèmes.
  8. QA multi-plateformes, multi-appareils, versions OS, résolutions – Tester l’application sur toutes les différentes plateformes (iPhone, Android, Windows Phone) et les différentes versions OS de chaque plateforme (Apple iOS a deux versions populaires : iOS 8 et iOS 7, Android OS a cinq versions populaires (Android 4.1,4.2,4.3,4.4,5.0), Différentes résolutions des différents appareils mobiles (entre les différents appareils de smartphones, phablets et tablettes, il y a pas mal de résolutions à tester et cela peut prendre du temps).
  9. QA back-end Tester le code back-end pour la performance et la sécurité.
  10. Configuration du cloud – Déployer l’application côté serveur sur le serveur / cloud.
  11. Soumettre aux App Stores – Déployer l’application sur les App Stores.

Talent nécessaire pour construire une application mobile de qualité

Construire une application mobile de qualité nécessite de nombreuses étapes et requiert différents talents avec différentes spécialités :

  • Pour le wireframing, un spécialiste UX (User Experience) qui a de l’expérience dans la construction d’écrans d’apps avec la meilleure expérience utilisateur. Un spécialiste UX doit connaître les conventions et les règles de l’app pour mettre en valeur la navigation et les éléments sur les écrans, ce qui permet aux utilisateurs de mieux naviguer dans l’app et de trouver ce dont ils ont besoin, dans la bonne priorité.
  • Pour concevoir les écrans de l’app, le Designer doit savoir comment concevoir pour différents appareils : écrans d’iPhone, d’Android et de Windows phone. En bref, le designer doit avoir l’expérience et la vision de la façon dont les différents objets ou éléments graphiques vont se présenter sur les petits écrans de téléphone et les différentes résolutions. Le Designer doit également utiliser la bonne taille, les bons graphiques et icônes, et les thèmes de l’application.
  • Pour programmer les écrans de l’application, le programmeur doit avoir de l’expérience dans l’utilisation de l’environnement Xcode avec Objective-C ou Swift pour iOS, et Java pour Android. Habituellement, les programmeurs se spécialisent soit dans le développement iOS, soit dans le développement Android.
  • Pour écrire l’application côté serveur et les API, le programmeur doit avoir de l’expérience dans l’écriture de code maintenable avec la meilleure sécurité et performance.
  • Pour l’assurance qualité, le spécialiste de l’assurance qualité et le testeur doivent être orientés vers les détails et avoir de l’expérience dans la recherche de la fonctionnalité et des problèmes de conception qui ne sont généralement pas faciles à voir par les développeurs.
  • Le déploiement de l’application côté serveur va au-delà du fait d’être un développeur ou un programmeur ; il nécessite un programmeur expérimenté et un spécialiste du cloud, parfois appelé DevOps. Le DevOps doit avoir de l’expérience dans l’installation de l’application, la création d’un environnement serveur fiable, la redondance de la base de données, la sauvegarde, la sécurité, la performance et l’évolutivité de l’application.
  • Le déploiement de l’application sur l’app store est généralement une tâche facile.

Ainsi, lorsque vous examinez les besoins en talents pour la construction d’une app, vous vous rendez compte que pour construire une app de qualité, joliment conçue, conviviale, fonctionnelle et évolutive, vous aurez besoin de différents talents avec différentes expériences et spécialités, ce qui peut ajouter un coût substantiel au projet d’app.

Coût approximatif du développement d’applications mobiles

Sur la base de tous les talents nécessaires et de tout le travail et le processus qui entrent dans la construction d’une application, j’ai créé ci-dessous, une estimation approximative du coût de la construction d’applications.

Pour en savoir plus sur le développement d’applications natives par rapport au développement d’applications hybrides, cliquez sur le lien ci-dessous :
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP : Minimum Viable Product

.

Répartition des coûts approximatifs pour le développement d’applications natives : Android & iPhone
Projet Petit MVP Petite entreprise Moyen MVP Moyenne Entreprise Grand MVP Grande Entreprise
Découverte et Wireframing 1,500 $2,500 2, 500 3, 500 5, 000 9, 000
Dessins d’écrans d’applications 2, 000 3,000 3,500 5,000 5,000 9,000
développement natif iOS 9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Développement natif Android 9 000$ 11 000$ 37 000$ 45 000$ 60 000$ 90,000
Programmation back-end, base de données et API 5 000$ 7 000$ 9 000$ 10,000 12 000$ 12 000$
Administration des applications N/A 7,500 9 000$ 15 000$ 10 000$ 20 000$
Assurance qualité et perfectionnements iOS 2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Assurance qualité et perfectionnements Android 2 000 2 500 5,000 $6,500 $7,000 $9,000
Déploiement et Cloud $1,500 $2,000 2,000 3,000 2,000 3,000
Total (une plateforme) 21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Total (Android et iPhone) 32,000 49,000 110,000 125,500 168,000 $251,000

.

Répartition des coûts approximatifs pour le développement d’une application hybride : Android & iPhone
Projet Petit MVP Petite entreprise Moyen MVP Moyenne Entreprise Grand MVP Grande Entreprise
Découverte et Wireframing 1,500 2 500 2 500 3 500 5 000 7 500
Créations d’écrans d’applications 2,000 3,000 3,500 6,000 5,000 9,000
Développement d’applications hybrides utilisant la technologie PhoneGap 10,000 12,000 $38,000 $45,000 $65,000 $100,000
Programmation back-end, Base de données et API 5 000$ 7 000$ 9 000$ 10,000 $12,000 $12,000
Administration des applications N/A $7,500 $9,000 $15,000 $10,000 $20,000
Assurance qualité et perfectionnements 2 000 4 000 5,000 7 000 9 000 11 000
Déploiement et cloud 1,500 $2,500 $2,000 $3,000 $2,000 $3,000
Total (Android & iPhone) 22 000$ 38 500$ 69,000 $89,500 $108,000 $162,500

Facteurs de coût du développement d’une application mobile

Le coût du développement d’une application mobile est basé sur ces facteurs :

1. Plateformes et environnement de l’appli

Construire pour toutes les plateformes augmente substantiellement le coût. En effet, l’iPhone d’Apple utilise l’IDE Xcode et le langage de programmation Objective-C ou Swift, Android utilise le langage de programmation Java et Windows le langage de programmation C#.

Si le développeur doit construire l’application pour toutes les plateformes, et que l’application doit être construite en utilisant le langage de programmation natif de chaque plateforme, le coût du développement sera doublé ou triplé en raison de la quantité de temps nécessaire pour construire l’application en utilisant différents langages de programmation de chaque plateforme.

Si l’app peut être construite en utilisant une technologie de développement hybride, le développeur peut la construire une fois en utilisant, par exemple, HTML5, CSS et JavaScript et utiliser PhoneGap pour préparer l’app pour toutes les plateformes. Cela peut réduire considérablement le coût, de la construction pour toutes les plateformes.

Pour en savoir plus sur les différences entre le développement d’applications natives et le développement d’applications hybrides, utilisez l’article lié ci-dessous :
Développement d’apps natives vs développement d’apps hybrides / PhoneGap

2. Personnalisations vs utilisation de widgets et de conventions d’apps standard

Plus vous faites de personnalisations, plus le développement de votre app prend du temps.

De plus, il est bon de savoir que l’environnement de développement de chaque plateforme fournit certains widgets pour construire la convention standardisée comme la navigation, le changement d’écran, les animations et d’autres éléments d’interaction avec l’utilisateur de l’app. En utilisant la convention standardisée, le coût de développement de l’app sera plus rentable.

3. Nombre d’écrans de l’app

Le nombre d’écrans a un impact direct sur le coût ; plus vous avez d’écrans, plus le travail de construction de l’app sera important.

4. Complexité des écrans

Il est recommandé de construire des écrans plus propres (et moins chargés) avec une navigation simple qui utilise des conventions d’app standard. Cela permettra d’offrir la meilleure expérience utilisateur et de réduire le coût du développement.

Si vous construisez des écrans chargés avec de nombreux éléments de navigation complexes, le coût du développement de l’app sera plus élevé

5. Ecommerce et achats in-app

Tout moment où vous travaillez avec de l’argent, le développeur doit être extra prudent avec les calculs et la sécurité.

Ainsi, les achats in-app et le traitement de l’argent ajoutent plus de temps au développement parce que du temps supplémentaire est nécessaire pour s’assurer que les calculs sont précis, et que l’application est sécurisée.

Même après que le développement soit terminé, je recommanderais de faire des tests supplémentaires sur les transactions pour garantir l’exactitude des calculs avant de mettre en ligne l’application.

6. Intégration avec les API tierces

Lorsque l’appli doit communiquer avec d’autres services, le développeur doit apprendre et s’interfacer avec les API tierces.

Cela nécessitera du temps supplémentaire pour apprendre les API tierces et les implémenter correctement. Dans de nombreux cas, le développeur ne peut pas évaluer la quantité de travail qu’implique l’interfaçage avec des API tierces avant d’avoir passé un certain temps à apprendre l’API et à s’interfacer avec elle.

7. animation complexe

Les animations et les jeux personnalisés et compliqués peuvent prendre un temps de développement substantiel.

Les animations compliquées qui ne fournissent aucun objectif pratique peuvent également ralentir votre application et frustrer l’utilisateur. Donc, essayez de rester à l’écart des animations compliquées qui ne servent aucun objectif pratique.

8. Prise en charge de plusieurs résolutions d’écran mobile

Il existe trois types d’appareils mobiles :

  • Les smartphones – exemples : Apple iPhone 3,4,5,6 ou Samsung Galaxy S2, S3, S4, S5, ou LG Nexus 4, 5.
  • Phablets (la taille de l’écran se situe entre le Smartphone et les Tablettes), exemples : Apple iPhone 6 Plus ou Motorola Nexus 6.
  • Tablettes exemples : Apple iPad plusieurs versions, mini plusieurs versions, Air, Samsung Galaxy Tab (plusieurs versions)

Les appareils ci-dessus ont tous des résolutions d’écran différentes. Pour les versions les plus récentes de l’OS des appareils, il existe des moyens de redimensionner le contenu pour qu’il corresponde à la plupart des écrans, mais construire des interfaces personnalisées pour prendre en charge toutes les résolutions d’écran peut être très long et coûteux.

9. Prise en charge de toutes les versions du système d’exploitation (OS) des appareils

Vous trouverez ci-dessous la liste de toutes les versions d’OS des appareils mobiles et de toutes les versions d’OS populaires. Si vous cherchez à prendre en charge toutes les versions du système d’exploitation de tous les appareils, le coût sera beaucoup plus élevé.

Je recommanderais de ne sélectionner que les versions populaires des OS des appareils à supporter.

  • Appareils mobiles d’Apple L’OS mobile d’Apple est appelé iOS. iOS a des versions allant de la version 1.0 à 8.0 (sortie en septembre 2014).
    Vous trouverez ci-dessous la liste des versions iOS les plus populaires, ainsi que les pourcentages approximatifs de leur part de marché en février 2015 :
    • iOS 8 : 80%
    • iOS 7 : 19%
  • Les appareils mobiles d’Android Android OS a des versions allant de 2.2 à 5.0 (sorties le novembre 2014) En février 2015, les versions populaires d’Android OS sont : (les pourcentages sont approximatifs)
    • 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%
  • Appareils Windows Mobile Microsoft Phone OS a des versions allant de 7 à 8 (sorties en octobre 2012) À ce stade, je n’ai pas assez de données pour fournir le pourcentage approximatif de la part de marché de chaque version.

10. Support hors ligne

Le développement pour la fonctionnalité de support hors ligne peut prendre du temps et, à son tour, augmentera le coût du développement.

11. Continuité / Fonctionnalité Handoff

La fonctionnalité Handoff permet de se connecter et de partager / déplacer des informations et des données entre différents appareils.

La construction de la fonctionnalité de handoff peut prendre du temps et peut ajouter un coût substantiel au projet.

Les recherches pour cet article ont été effectuées le 24 février 2015 ; les informations peuvent changer.

Leave a Reply