3 Étapes pour une Rédaction de Cahier des Charges d’Application Mobile Réussie [+ Modèle Gratuit]

cahier-des-charges-application-mobile

Comment procéder à la rédaction de votre cahier des charges fonctionnel ? Quel contenu votre cahier des charges doit-il fournir ? Quel plan doit-il suivre ? Comment faire un cahier des charges opérationnel pour votre projet d’application mobile ?

Le cahier des charges fonctionnel est une condition essentielle du succès de votre application mobile. Il ne vous viendrait probablement pas à l’idée de lancer la construction d’une maison sans des plans détaillés, réalisés par un architecte. Ce devrait être la même chose pour votre projet d’application mobile : un cahier des charges précis est indispensable.

Le cahier des charges d’une application mobile constituera la base contractuelle de la relation avec votre prestataire en charge du développement de l’application, à commencer par l’évaluation de la charge de travail, du coût de réalisation et des délais de livraison.

Cela semble être le bon sens. Pourtant, de nombreuses demandes de devis pour la réalisation d’une application mobile sur-mesure sont faites sans même une expression de besoins détaillée, et encore moins un cahier des charges précis. À ce stade, comment le prestataire peut-il évaluer la charge de travail à allouer au projet et donc son prix final ? Et bien, de nombreux prestataires répondent… un peu au hasard. C’est-à-dire qu’ils joueront ensuite de cette situation (situation où le périmètre fonctionnel du projet n’est pas clairement défini), pour vous demander ensuite des rallonges budgétaires. Définir clairement l’ensemble des fonctionnalités dans un cahier des charges est donc tout dans votre intérêt.  Certes, la création du cahier des charges prend du temps. Mais il vous permettra :

  • d’augmenter les chances de réussite de votre projet
  • de gagner du temps dans les phases de conception, de développement et de maintenance du projet (c’est-à-dire que plus le projet est clair, moins il y a de doute et de confusion et plus le développement de l’application est efficient).

La définition précise du cahier des charges n’est pas un pré-requis des prestataires dans la majorité des projets d’application. Ce n’est un pré-requis que dans 32% des cas.

Pourquoi ? Sur les 590 entreprises sondées par Micro Focus (dont 70 en France), 47% estiment qu’il s’agit d’une stratégie des prestataires pour faire gonfler leur facture, raison pour laquelle ils ne chercheraient pas à définir précisément les exigences en amont du projet.

Alors ne vous laissez pas piéger ! Exigez des devis précis sur la base d’un cahier des charges fonctionnel précis.

Nous vous expliquons dans les lignes suivantes comment :

  • décrire qui seront les utilisateurs de votre application et quelles actions ils pourront réaliser
  • détailler les fonctionnalités de chaque écran, maquettes à l’appui
  • procéder avec méthodologie, par exemple avec une modélisation UML
Sommaire
 

Comprendre pourquoi rédiger un cahier des charges (vidéo)

Le cahier des charges d’une application mobile explique l’objectif de l’application et quels problèmes l’application résout. Il décrit également précisément son fonctionnement. Idéalement, il comporte les maquettes de chaque écran ou vue de l’application. Après avoir détaillé les aspects fonctionnels de votre application, il vous faut prévoir l’environnement technique de cette dernière. Antony Zanetti, Directeur Technique et co-fondateur d’AxioCode vous présente l’importance du cahier des charges en vidéo.

1- Expression de besoins : Tous les moyens sont bons pour exprimer votre besoin d’application mobile

Se lancer dans la rédaction d’un cahier des charges en démarrant de zéro peut se révéler ardu. D’où l’intérêt d’écrire en amont une expression de besoin.

Même si ce document est informel et n’est qu’un simple guide pour la suite de votre projet, il demande tout de même une attention particulière avec certaines exigences.

10-commandements-expression-besoins-efficace

Découvrez les 10 points infaillibles pour rédiger une expression de besoins efficace. Gagnez du temps en vous aidant de notre modèle d’expression de besoins gratuit.

1- Écrire une expression de besoins claire, concise et synthétique

Exposez des faits et ne vous attardez pas sur la solution à apporter. Écrivez des phrases courtes et factuelles. Ajoutez des maquettes ou des schémas de votre application mobile pour bien vous faire comprendre.

2- Ne pas rédiger un cahier des charges fonctionnel

Contrairement au cahier des charges, l’expression de besoins n’est pas contractuelle. Elle doit être concise et ouverte aux changements.

3- Délimiter le contexte de votre projet mobile

Posez-vous ou reposez-vous les questions essentielles :

  • Qu’est-il possible de faire ? Avec quels partenaires ? Avec quelles ressources humaines, financières ?
  • Quel business plan ou retour sur investissement ?
  • Avez-vous le temps de réaliser ce projet ?
  • Existe-t-il déjà une solution dans le domaine ?
  • Le projet est-il adapté à la culture locale ?
  • Le projet est-il conforme au cadre réglementaire et légal ?

4- Définir les échéances de votre projet

  • Quand peut-il commencer ?
  • Avez-vous une date limite de livraison de votre application ?
  • Quelles sont les disponibilités des personnes impliquées ?

5- Identifier les utilisateurs de votre application mobile

  • S’agit-il de particuliers ou d’entreprises, dans quel secteur d’activité ?
  • Quelle est leur typologie ?
  • Qui prendra la décision de l’utiliser ou de l’acheter ?
  • A quel prix ?
  • A quelle période ?

6- Lister les fonctionnalités de votre application mobile

Sans entrer dans les détails comme dans un cahier des charges, vous devez lister les fonctionnalités de votre application mobile. Il est conseillé de les nommer et les numéroter.

Par exemple : L’objectif de mon application est de permettre aux particuliers de louer leur véhicule. Voici deux fonctionnalités qui découlent de cet objectif et leurs cas d’utilisation.

Fonctionnalité A : GESTION DES UTILISATEURS
A01 Les utilisateurs doivent s’inscrire à la plateforme
A02 Les utilisateurs doivent se connecter à un compte pour accéder à la carte
A03 Les utilisateurs ont la possibilité de s’inscrire via les réseaux sociaux

 

Fonctionnalité B : GESTION DES VÉHICULES
B01 Un utilisateur peut ajouter, modifier, supprimer un véhicule sur la carte
B02 L’utilisateur peut déterminer un prix de location
B03 L’utilisateur peut fixer un prix de location différent en fonction des horaires et des jours de la semaine

Posez-vous les bonnes questions :

  • L’utilisateur doit-il créer un compte ?
  • L’utilisateur doit-il se connecter à un compte ? Par e-mail/Mot de passe ? Via les réseaux sociaux ? Lesquels ?
  • L’application doit-elle utiliser les outils intégrés au téléphone tels que l’appareil photo, le GPS, le système NFC, le Bluetooth, un scan de QR Code… ?
  • Voulez-vous intégrer des achats “in-app” (dans l’application) ? L’application doit-elle contenir des fonctionnalités e-commerce ? L’utilisateur doit-il commander des produits ?
  • L’utilisateur doit-il payer dans l’application ? Par carte bancaire ? Via PayPal ? Autres ?
  • Faut-il insérer un système de réservation ?
  • L’utilisateur doit-il pouvoir noter des produits, des chauffeurs, etc. ?
  • L’application doit-elle fournir un chat, une messagerie instantanée ?
  • Faut-il une vérification ou un envoi SMS ?
  • L’utilisateur doit-il partager sur les réseaux sociaux ?
  • L’application doit-elle contenir un calendrier ? Un système de planification ?
  • Faut-il prévoir des notifications Push ?
  • Souhaitez-vous envoyer des e-mails automatiques (à l’inscription de votre utilisateur par exemple) ?
  • L’application doit-elle être traduite en plusieurs langues ? Combien de langues ? Fournissez-vous les traductions ?
  • L’application doit-elle fonctionner sans connexion Internet ?
  • Devez-vous accéder aux données de l’application via un espace de gestion (back office) ? Devez-vous gérer une base de données clients ou d’informations diverses ?
  • Faut-il créer une API ? C’est-à-dire : l’application doit-elle être mise à jour ou liée à un site web ou un service web externe ?

7- Envisager les évolutions de votre application mobile

Quand on réfléchit aux fonctionnalités d’un projet mobile, qui plus est en groupe, les idées jaillissent souvent avec enthousiasme.

Mais ensuite, il est difficile de faire la part des choses : on a tendance à vouloir tout faire, tout de suite. C’est une des 6 causes majeures d’échec d’un projet mobile.

Évaluez la hauteur de la marche à franchir par rapport à vos ressources : si cette marche est trop haute, l’effort à fournir sera trop important et le projet sera compromis.

Définissez plutôt l’application mobile minimum qu’il vous faut pour démarrer et réfléchissez aux versions successives que vous pourrez envisager.

Vous obtiendrez des objectifs réalistes et surtout, les retours que vous recevrez de la première version vous permettront de revoir les fonctionnalités des versions suivantes, d’en ajouter de nouvelles auxquelles vous n’aurez pas pensé ou de supprimer celles qui, à l’usage, paraîtront superflues.

8- Définir le contexte technique de votre projet mobile

L’application devra-t-elle délivrer tous les services même sans connexion internet ? Sur quels types d’appareils devra-t-elle être disponible : smartphones, tablettes ? Aurez-vous besoin d’intégrer une solution de paiement, un système d’authentification des utilisateurs, un back-office disponible en ligne ?

Et, question cruciale : application native, web, hybride ou mixte ?

  • Une application mobile native est développée spécifiquement pour un système d’exploitation (iOS pour Apple, Android, sans compter Microsoft). C’est ce que l’on télécharge à partir de l’Apple Store ou de Google Play.

Avantages : une bonne adaptation à l’ergonomie du smartphone qui est assez différente entre Apple et Android, une plus grande rapidité, un meilleur accès aux ressources du smartphone (micro, caméra, GPS…), la possibilité de délivrer des notifications push, une disponibilité sans connexion internet lorsqu’il n’est pas nécessaire d’interagir avec une base de données.

Inconvénient principal : un coût supérieur aux autres solutions du fait qu’il faut développer le plus souvent 2 applications, Apple et Android. Cet inconvénient est réduit lorsque l’on utilise un outil de développement “cross-platform” comme Xamarin qui permet de mutualiser le code métier tout en produisant de véritables applications natives.

 

  • Une application web est la version mobile d’un site internet. L’application n’est pas installée sur le smartphone mais disponible via son navigateur web.

Le principal avantage d’une application web est un coût largement inférieur à celui d’une application native.

Les inconvénients d’une application web correspondent aux avantages d’une application native : une adaptation limitée à l’ergonomie du smartphone car identique pour Apple et Android, une moins grande rapidité, un moins bon accès aux ressources de l’appareil, pas de notifications push et un usage généralement impossible sans connexion internet.

A cela s’ajoute le fait que l’application en elle-même n’est pas téléchargée ni disponible par une icône sur le smartphone, ce qui en réduit considérablement l’intérêt au plan marketing.

En pratique, une application web sera le plus souvent limitée à l’affichage sur mobile de contenu existant.

 

  •  Une application hybride est en quelque sorte à mi-chemin entre l’application native et l’application web. Plus rapide et moins chère qu’une application native, mais moins performante.

Une application hybride délivre souvent de faux espoirs : pour atteindre le même niveau de qualité qu’une application native, on atteindra le même budget.

Et surtout, les outils de développement ne sont pas ceux des applications natives et posent souvent des problématiques techniques qui peuvent se révéler extrêmement coûteux, pouvant aller jusqu’à l’abandon du projet ou le re-développement d’applications natives.

Réservez les outils hybrides aux applications éphémères.

 

  • Une application “mixte” représente un compromis particulièrement intéressant entre application native et web.

Elle consiste à développer une application native et d’y intégrer à la fois des vues (écrans) natives et des vues web selon les besoins d’ergonomie et d’interaction avec le smartphone.

De nombreux grands acteurs du numérique ont adopté cette solution pragmatique, comme Amazon par exemple.

9- Décrire les contraintes de votre application mobile

Contraintes techniques, humaines, réglementaires, financières, liées au marché ou à la nature de votre prestation ?

10- Réfléchir aux impacts de votre application mobile

  • Devez-vous prévoir des formations pour vos équipes ?
  • Votre communication web devra-t-elle être adaptée ?
  • Votre application aura-t-elle des impacts sur des logiciels existants ?
  • Faudra-t-il mettre en place des dispositifs ou des équipes pour l’assistance de vos utilisateurs ?

Une fois votre expression de besoins rédigée, vous y voyez plus clair et pouvez vous attaquer au cahier des charges de votre application mobile.

2- Rédiger votre cahier des charges avec méthode

Vous pouvez réfléchir à votre expression de besoins et la rédiger seul (ou mieux, en équipe) sans assistance méthodologique particulière.

Par contre, la rédaction d’un cahier des charges d’une application mobile nécessite des compétences spécifiques et une expérience éprouvée.

Ce document doit être exhaustif et précis, il constituera la base contractuelle de la relation avec votre prestataire en charge du développement de l’application, à commencer par l’évaluation de la charge de travail, du coût de réalisation et des délais de livraison.

Si vous n’êtes pas à l’aise avec ce travail ou si vous ne disposez pas ressources en interne, AxioCode peut vous accompagner grâce à son offre de rédaction de cahier des charges.

Utiliser les langages de modélisation graphique

Utilisez par exemple UML (de l’anglais Unified Modeling Language), un langage de modélisation graphique conçu pour visualiser la conception d’un système à partir d’une méthode normalisée.

Article similaire :  Choisir l'agence de développement mobile Parfaite, les 10 points à étudier

La modélisation UML consiste à décrire de manière visuelle et graphique les besoins et les solutions fonctionnelles et techniques de votre projet d’application mobile. Un texte décrivant de façon précise ce qui doit être réalisé contient plusieurs dizaines de pages, sources d’interprétations et d’incompréhensions.

UML apporte une méthode éprouvée pour représenter le projet sous différents angles.

Identifier les acteurs du projet d’application mobile

À partir de l’expression de besoins, la première étape de la modélisation UML consiste à identifier les acteurs, c’est-à-dire ceux qui vont interagir avec l’application mobile : le plus souvent un humain, parfois une machine ou un système qui ne fait pas partie de l’application à réaliser mais qui participe à son fonctionnement.

Définir les acteurs consiste à définir les profils des différentes personnes ou machines qui vont interagir avec l’application.

Ci-dessous un exemple d’acteurs identifiés, qui montre aussi certains héritages entre acteurs. Notez qu’il est souhaitable de décrire les rôles des différents acteurs.

acteurs-uml

Exemple : Acteurs identifiés pour un projet d’application mobile

 

Identifier les cas d’utilisation liés aux acteurs

À partir de l’expression de besoins et de l’identification des acteurs qui vont interagir avec votre application mobile, la description des cas d’utilisation est déjà en bonne voie : vous allez vérifier que chaque acteur dispose des fonctionnalités nécessaires et vous pourrez vous assurer de ne rien oublier.

Pour identifier les cas d’utilisation, il faudra vous placer du point de vue de chaque acteur, définir comment et pourquoi il se servira de l’application.

La difficulté de l’exercice réside dans le choix du niveau de détail ou la finesse des cas d’utilisation.

Un cas d’utilisation très générique nécessitera une description détaillée peu propice à une bonne compréhension ; pour résoudre un problème complexe il faut d’abord le découper en problèmes plus élémentaires.

À l’inverse, la définition de cas d’utilisation très fins multipliera leur nombre de façon inutile pour une modélisation efficace. Il faut éviter les redondances et limiter le nombre de cas d’utilisation en se situant à un bon niveau de finesse. Ne le cachons pas, c’est un problème assez difficile qui nécessite de l’expérience.

Dans l’exemple ci-dessous, la solution retenue a été de décomposer le cas d’utilisation “Gestion des données ENS” (référencé UC01) en différentes fonctions (référencées FCTxxx) :

cas-utilisation-cahier-des-charges

Exemple de cas d’utilisation dans un cahier des charges fonctionnel

Ce second exemple montre que la description d’un cas d’utilisation peut être accompagnée d’informations structurées, d’autant plus utiles que le projet est complexe :

cas-utilisation-cahier-des-charges-2

Exemple de cas d’utilisation dans un cahier des charges fonctionnel

La description du cas d’utilisation en lui-même peut également être structurée, comme dans l’exemple ci-dessous en différentes phases :

 

cas-utilisation-cahier-des-charges-3

Exemple de cas d’utilisation découpé par phases

Profitez d’ailleurs de notre exemple de cahier des charges d’application mobile pour gagner du temps dans votre démarche.

3- Créer les maquettes de votre application mobile

C’est bien connu : un beau dessin vaut mieux qu’un long discours. Lorsque vos cas d’utilisation sont décrits et exhaustifs, ou en parallèle de ce travail de spécifications fonctionnelles, la réalisation de maquettes de votre application mobile est la meilleure façon de montrer ce qui devra être réalisé.

Ce travail graphique permet d’échanger plus facilement avec l’ensemble des personnes impliquées dans le projet plutôt qu’avec uniquement un cahier des charges fonctionnel sous forme de texte.

Idéalement, des ateliers de spécifications permettront d’organiser les échanges et de mettre au point les maquettes et les spécifications fonctionnelles associées (cas d’utilisation en l’occurrence) d’un atelier à l’autre. Ce processus itératif représentera un travail non négligeable mais indispensable pour aboutir à un bon résultat.

À la fin de ce processus vous disposerez du prototype de votre application mobile. AxioCode peut vous accompagner dans la création de votre application. Dès la phase de réflexion, contactez un expert AxioCode pour échanger sur votre projet.

Représentation simplifiée : mockup

Le mockup ou wireframe est une représentation schématique de votre application mobile.

Il permet de définir les différentes zones de chaque vue (écran) sous forme de croquis, accompagné d’explications autant que nécessaire comme dans l’exemple ci-dessous :

maquettes-application-mobile-exemple

Exemple de maquettes brutes avec un détail des fonctionnalités

Pour réaliser un bon mockup, commencez par réfléchir à l’arborescence et au menu de votre application mobile. L’inventaire des acteurs et des cas d’utilisation vous aura préparé le travail et vous permettra de ne rien oublier.

Expliquez avec quels éléments l’utilisateur pourra interagir, et de quelle manière : en appuyant ou en glissant le doigt par exemple.

Peaufiner votre projet et vos mockups entre chaque atelier de spécifications.

Différents outils permettent de créer des mockups. Balsamiq par exemple est intéressant car il propose un grand nombre de modèles.

Représentation fidèle : prototype

Le prototype est une maquette haute-fidélité interactive. Il permet de passer d’une vue à l’autre en naviguant entre les différents écrans. Le prototype permet de se rendre compte du fonctionnement et de l’ergonomie de l’application mobile.

Le prototype intègre également un aspect essentiel qui est le design de votre application mobile. Pour cela, il faudra trouver le style qui conviendra à votre application mobile.

N’hésitez pas à regarder d’autres applications pour vous aider à faire vos choix de

  • typographie (quelles polices utiliser, avec quel style et quelle taille ?),
  • couleurs,
  • mise en page et de placement des différents éléments,
  • transition entre les vues,
  • etc.

Au final, un prototype présentera les différentes vues (écrans) de l’application mobile, par exemple :

fei-maquettes-application-mobile

Exemple de prototypes dynamiques et haute-fidélité

Vous êtes en manque d’inspiration sur le design de votre application mobile ? Nous vous avons concocté une sélection de sites internet qui vous aideront à trouver des idées de design.

A ce stade, il est vivement recommandé de faire appel à un professionnel du design mobile, qui pourra être le prestataire en charge du développement de l’application. AxioCode vous accompagne dès la définition de votre cahier des charges, la création de vos maquettes hautes fidélités sous forme de prototype. Contactez-nous.

Envoyer votre cahier des charges aux agences mobiles

Votre cahier des charges en mains, votre application mobile est sur la bonne voie, mais n’existe pas encore. Prochaine étape : trouver le bon prestataire.

Envoyez votre cahier des charges à des prestataires identifiés. Demandez des devis et exigez des engagements fermes sur les prix et les délais de réalisation de votre application.

Sur quels critères choisir votre prestataire ? Nous vous proposons une grille de calcul qui prend en compte :

  • L’expérience : depuis combien de temps le prestataire réalise-t-il des applications mobiles ? Avec quelles équipes, combien de développeurs, quelles qualifications ou certifications ?
  • Les références vous permettront de juger de la pertinence du prestataire par rapport à votre projet. Ses réalisations sont-elles de la même que ce que vous recherchez ? Faites la différence entre des applications vitrine, des applications de jeu ou des applications de gestion, de mise en relation ou destinées à un usage professionnel sur le terrain.
  • La technologie : sauf pour un projet éphémère, prohibez les technologies hybrides et exigez des applications natives iOS (Apple) et Android..
  • L’organisation : aurez-vous un interlocuteur dédié ? Quelle est l’organisation mise en place par le prestataire pour vous aider et vous garantir une livraison au coût prévu et dans les délais ?
  • Le coût : quel est le montant du devis ? Est-il détaillé fonctionnalité par fonctionnalité ?
  • Les délais : à quelle date votre application sera-t-elle disponible ? La rapidité de fabrication de votre application dépendra du nombre de développeurs qui y travailleront simultanément.
  • Le service après-vente : le prestataire offre-t-il une période de garantie, un contrat de maintenance ou de support ?

criteres-choix-prestataires

Notre conseil : déterminez l’importance de chaque critère selon votre projet, votre entreprise, votre équipe… et donnez-leur un barème. Attribuez ensuite des points à chaque prestataire.

Celui avec le nombre de points le plus élevé est certainement le prestataire le plus adapté pour votre projet.

L’avantage de créer votre cahier des charges avec AxioCode

AxioCode a développé une plateforme de gestion de projet baptisée “Managician”. Elle est utilisée dès la réalisation des spécifications fonctionnelles (cahier des charges fonctionnel) pour définir précisément l’application web ou mobile que vous souhaitez développer.

Notre logiciel permet d’assurer la réalisation du cahier des charges fonctionnel et technique de manière structurée et complète en tenant compte des bonnes pratiques de modélisation et d’ingénierie logicielle. En ne réalisant plus l’analyse fonctionnelle sur un outil de traitement de texte (Word), nous avons réduit considérablement les incertitudes et les risques d’oublis. Ainsi, Managician permet de gagner du temps lors des étapes de conception, de développement et de maintenance de l’application. En effet, le logiciel permet une connaissance et un suivi optimal du projet, et ce, tout au long de la vie de votre application. Avec Managician, la documentation de votre application est facilement modifiable, flexible, évolutive. Avoir une documentation fonctionnelle et technique complète même après la livraison de votre application mobile, permet d’assurer sa pérennité en facilitant sa maintenance. L’équipe d’AxioCode s’engage à mettre la documentation systématiquement à jour à chacune des évolutions de votre application.

Bon à savoir : L’outil logiciel développé par AxioCode permet de réaliser des spécifications fonctionnelles détaillées : glossaire, acteurs, fonctionnalités, cas d’utilisation et scénarios, modèles de données, exigences, pages et vues mobiles, formulaires, tableaux, …

Comme nous vous le disions en début d’article, écrire un bon cahier des charges complet et précis nécessite un certain savoir-faire. C’est pourquoi nous vous partageons notre retour d’expérience.

Par ailleurs, nous vous donnons un exemple gratuit en bonus sur lequel vous appuyez pour le créer vous-même. Cliquez sur ce lien pour télécharger votre modèle gratuit.

Vous n’avez pas les compétences en interne ? Vous n’avez pas le temps de rédiger un cahier des charges ? Ne paniquez pas, AxioCode peut vous aider, prenez rendez-vous pour un diagnostic gratuit téléphonique de 30 minutes avec l’un de nos experts.

Vous avez un projet ? Parlons-en !

Livre Blanc

Notre modèle de
Cahier des charges

Une application métier
vous pose problème ?
Sur le même sujet