Bon, je sais qu’en tant que développeurs, on est un peu allergiques à tout ce qui se fait en dehors du développement. Moi la première, je veux du code du code du code ! Mais, s’il y a bien quelque chose de fondamental dans le développement d’une application, c’est le cahier des charges.

Véritable structure de ton projet, il te permettra d’être en conformité avec tes attentes de départ (ou de celle de ton client si tu développes une application pour quelqu’un d’autre). Il sera comme un phare qui éclaire ta direction. Tu pourras donc t’y référer autant que bon te semble car il t’évitera de te perdre.

Il te permettra également de poser tes idées. En effet, comme on l’a dit dans les 5 étapes pour lancer ton application, tu vas d’abord lancer une version basique de ton application. La version MVP (Minimum Viable Product) te permettra de toucher tes premiers utilisateurs et d’améliorer tes versions plus sereinement.

Dans cet article, nous allons voir comment établir un cahier des charges pour « soi-même ». C’est à dire pour mener à bien un projet personnel, ou une idée. Ce sera ainsi l’occasion d’étudier en profondeur le potentiel économique de notre idée. Mais tu peux tout à fait transposer ta lecture si tu le réalises le cahier des charges avec un client.

Je te parlerai également de mon projet d’application mobile, celui qui est au coeur de ce blog. Souviens toi, j’avais effleuré le sujet ici. Quelques mois plus tard, mes idées sont plus claires et surtout, je sais ce que je veux publier sur le store aujourd’hui. Je n’entrerai pas ici dans trop de détails pour ne pas surcharger l’article, mais plus tu en mets dans ton cahier des charges et mieux c’est.

Composition du cahier des charges

Il n’y a pas de cahier des charges parfait et celui que je vais te présenter n’est qu’une variante parmi tant d’autres. Mais les idées contenues sont généralement les mêmes d’une entreprise à l’autre.

Le cahier des charges est composée de deux parties principales :

    • Une partie fonctionnelle : analyse et expression du besoin. C’est la première chose à analyser, bien avant le technique. Elle définit les besoins généraux du projet ainsi que l’étude du besoin et l’analyse fonctionnelle.
    • Une partie technique : détails des préconisations et contraintes techniques. Elle contient l’environnement technique, ainsi que les outils, la faisabilité, la gestion de projet, etc.

Nous trouverons donc :

  • Introduction
  • Contexte du projet
  • Définition des besoins
  • Identité visuelle
  • Contraintes techniques
  • Budget et charge de travail
  • Délais et gestion de projet
  • Annexes

Un cahier des charges n’étant pas gravé dans le marbre, tu pourras toujours venir modifier des éléments au fur et à mesure

Contexte

Commençons par le commencement et parlons de nous en long en large et en travers, ou de la société que nous avons créée dans le cadre du développement de notre application. Tu peux t’appuyer sur ces quelques questions :

Quel est le statut actuel de la marque et son identité ?
Quelle est son histoire ?
Quel est son secteur d’activité ?
Quel est le projet en lui-même ? Brève description de ton projet. Pour celle-ci, tu peux t’appuyer sur la vidéo très intéressante de Hugo Taschet de DevClub (plateforme / coeur de métier / originalité).

J’aime aussi rajouter un « pourquoi » : Pourquoi cette application sera utile ?

C’est bien beau de vouloir faire un nouveau Twitter, mais qu’est ce que ça va apporter de plus à tes utilisateurs ?

Pour mon projet

Je m’appelle Sara et je suis développeuse web. J’ai décidé de développer ce projet d’application mobile développée en Swift suite à une envie de développer mes compétences sur ce langage et dans le développement d’applications mobiles.

Actuellement développeuse Java/Angular, j’ai déjà eu l’occasion de travailler sur un projet d’application Android et cette manière de développer m’a beaucoup plu. C’est pourquoi, j’ai eu envie de parfaire mon apprentissage et d’ajouter une corde à mon arc.

Travaillant pour le développement d’Objectif Appli (qui aujourd’hui n’a pas de statut juridique et légal), je développe une application mobile qui s’intitulera XXX (suspense, tu en sauras plus bientôt).
Cette application iOS a pour but de dispenser des cours de Swift/SwiftUI, de permettre à ses utilisateurs de s’entraîner sur smartphone et de participer à des challenges pour gagner des récompenses.

Cible :  futurs développeurs, développeurs junior ou souhaitant s’orienter vers Swift

Définition des besoins

C’est dans cette partie que tu vas détailler les besoins de tes utilisateurs. Tu peux expliquer plus en détail ton « pourquoi ». Si tu as besoin d’un peu d’aide, tu peux t’appuyer sur le QQOQCP :

–  Qui ? (De qui ? Avec qui ? Pour le compte de qui ?)

–  Quoi ? (Quoi ? Avec quoi ? En relation avec quoi ?)

–  Où ? (Où ? Par où ? Vers où ?)

–  Quand ? (Tous les quand ? À partir de quand ? Jusqu’à quand ?)

–  Comment ? (De quelle façon, dans quelles conditions ? Par quel méthode ?)

–  Pourquoi ? (Pour quels raisons ? )

Tu peux également décrire ici ton « persona« , c’est à dire ta cible parfaite. Tu peux rentrer dans les détails et même générer une photo avec l’IA, pourquoi pas ?

Tu décriras également la concurrence : qui ? combien ? quels produits ? quelles évolutions ?
N’hésites pas à regarder les avis sur leurs propres applications mobiles. Les positifs comme les négatifs car ils t’apporteront beaucoup.

C’est également l’occasion de réaliser une matrice SWOT (tableau des forces et faiblesses).

Je rajoute dans cette section une liste d’évolutions futures pour avoir en tête ma vision à long terme.

Il est intéressant de rajouter des exemple d’utilisations en créant des cas fictifs. Dans mon cas, je pourrais décrire la participation d’un utilisateur à un challenge. J’écrirais étape par étape les différentes actions.

Pour mon projet

Cette application mobile permettra aux utilisateurs d’apprendre Swift & SwiftUI grâce à une plateforme sur mobile (où ils veulent et quand ils veulent). Ils pourront également s’entrainer en écrivant ou réorganisant du code. Je développerai également une section challenge, pour ceux qui souhaitent s’entraîner tous les jours ou se challenger.

L’utilisateur n’aura pas forcément besoin de créer un compte.

La première version (MVP) contiendra une première partie avec les bases du langage Swift, les cours seront détaillés et possèderont une partie exercices, ainsi qu’un ou plusieurs quizz. A terme, les vidéos YouTube enregistrées pour la chaîne d’Objectif Appli seront intégrées à l’application.

L’application sera disponible sur iPhone et iPad. A voir pour retransposer sur macOS par la suite et si c’est vraiment intéressant pour les utilisateurs.

Analyse des concurrents :

– 🇺🇸 « Unwrap » de Paul Hudson : (Swift) cours écrits et vidéos, section de pratique et section de challenge. Se rapproche de ma vision.

– 🇺🇸 « VStack » de Swiftky Rush : (SwuftUI) cours écrits et vidéos, section de challenge.

– 🇫🇷 Purple Giraffe : uniquement des vidéos, il y a aussi des cours payants. Les cours sont rajoutés via le compte du site. Connexion obligatoire.

Identité visuelle

Dans cette section, il est important de renseigner tout ce qui concerne l’identité de ta future application. Logo, charte graphique, maquette et wireframe, tout ce qui pourras t’aider à visualiser ton but.

Cette section étant particulièrement importante et grosse, j’ai préparé une série d’articles pour t’aider à la renseigner. Tu ne verras donc pas aujourd’hui mes sublimes maquettes, je suis sûre que tu en meurs d’envie.

En attendant, tu peux te renseigner chez Les Audacieuses Créatives pour la construction de ton identité visuelle. Que ce soit pour ta marque ou celle de ton application, elle est très importante et permet aux utilisateurs de te reconnaître en un clin d’oeil.

Contraintes techniques

Ça y est, parlons code !

Bon, pas la peine de nous emballer, c’est pas encore l’heure de coder. Mais on peut déjà envisager notre façon d’aborder les choses.

Répertorions ici le choix de notre plateforme, des entités que l’on va utiliser, de l’architecture du projet (MVVM, MVC, etc.), tout ce qui pourra être technique. Lâchons-nous !

Il pourrait être intéressant de créer une section entière aux utilisations de l’application et de commencer à se pencher sur les User Story (cas d’utilisation). Mais personnellement, je change souvent d’avis pour une même idée et je préfère me laisser le choix de créer mes User Story plus tard.

Déroulement du projet

En voilà une section qui elle est aussi est très intéressante. Enfin, pour ceux/celles qui aiment planifier, mais pas que. C’est ici que nous allons détailler la gestion de projet.

Nous pourrions revenir ici sur les cas d’utilisation dont nous parlions plus tôt (User Story). Mais c’est également le moment de planifier les étapes de création.

Il convient aussi de se fixer un objectif, une date butoire. Il est impératif de déterminer un jour qui soit réaliste pour soi. Car une date trop proche te fera louper des étapes et une date trop éloignée te fera procrastiner.
La loi de Parkinson dit :

Le travail se dilate de manière à remplir le temps disponible pour son achèvement

C’est à dire que plus on dispose de temps pour effectuer une tâche, plus elle prendra de temps pour être achevée, même si elle pourrait être réalisée plus rapidement. Ne fixe donc pas d’objectifs trop éloignés.

Personnellement, j’ai choisi la date du 04 Septembre 2023. Ça peut paraître très éloignée mais ayant un travail à temps plein et une famille à gérer, c’est le compromis le plus réaliste que j’ai trouvé. Ça me laisse le temps d’aborder tous les sujets de ce cahier des charges, de monter une identité visuelle, de tenir à jour ce blog, d’échanger avec la communauté, de faire passer des tests, et surtout, de gérer les imprévus. Finalement, ces quelques mois vont passer très vite.

Je me suis créé un dashboard ClickUp qui me permet de planifier mes tâches et de savoir comment organiser mon temps. Je peux y créer des tâches, un diagramme de Gantt, un échéancier, estimer et chronométrer mes tâches et plein d’autres choses très utiles dans la gestion de projet. Je te prépare d’ailleurs un article à ce sujet car je suis fan fan fan de cet outil !

Nous pouvons également documenter la délégation de tâches : quoi ? à qui ? pourquoi ?

Pour mon projet

Le projet sera livré le 04/09/23. La date sera communiquée sur les réseaux sociaux dès la fin des tests.

Dans l’ordre :

– Création du cahier des charges : deadline 5/05/23

– Maquette et Wireframs : deadline 14/05/23

– Développement : deadline 1/08/23

– Test & Retouches projet : deadline 27/08/23

– Publication sur l’App Store : deadline 01/09/23

[…]

Voici la vue « Gantt » de mon dashboard ClickUp

Merci d’être allé(e) au bout de cet article. Je sais, ce n’est pas forcément une partie de plaisir pour tout le monde… Mais il est vraiment ton meilleur allié dans la réalisation d’un projet et il ne pourra t’apporter que des bonnes choses. 

T’es-tu réconcillié(e) avec le cahier des charges ? Dis nous maintenant que tu es motivé(e) à le créer !! 💪

Si tu as aimé cet article, partage le 🫶