Toute application web "sur mesure" nécessite d'être décrite de façon suffisamment atomique, pour qu'elle corresponde réellement à votre besoin.
Par contre, comme dans le cas de la confection d'un costume sur mesure, certains éléments peuvent être décrits sans trop rentrer dans les détails, là où d'autres doivent être exprimés très précisément.
Par exemple, la couleur, la forme du veston, le modèle du pantalon devront être choisis avec attention. Tandis que les autres décisions sur le type de piqûre, d'ourlet ou encore le nombre de boutons de manchette peuvent être choisis dans un catalogue plus restreint, avec un accompagnement plus directif de votre couturier préféré.
Dans le cas de la création d'une application web, certaines fonctionnalités n'ont pas le même besoin de description (même si elles sont tout autant importantes !).
Prenons par exemple le système d'authentification, la gestion des mots de passe, l'envoi des notifications, l'administration des utilisateurs...
Ces fonctionnalités sont essentielles, mais avant de passer du temps à les décrire dans le menu détail, mieux vaut que vous consacriez vos premiers efforts à définir ce qui fera la valeur ajoutée de votre nouvelle application, sa différence avec la concurrence ou tout simplement sa valeur ajoutée dans votre process métier.
De notre point de vue, on ne va jamais trop loin, mais la complexité réside plutôt dans la cohérence et la cohésion de ces spécifications, afin de garantir que toutes les fonctionnalités de même criticité ou importance seront décrites sensiblement de la même façon.
Comme nous l'évoquions, avant de définir le "comment", nous trouvons important de comprendre le pourquoi : la valeur métier que toute fonctionnalité apporte, sa criticité et globalement son usage idéal.
Une méthode couramment utilisée consiste à décrire chacune de ces fonctionnalités sous le format d'une "user story" ou d'une exigence (fonctionnelle ou non).
Ces user stories regroupent trois dimensions, et se résument à cette phrase :
"En tant que X, je souhaite Y afin de Z"
où
Exemple d'une user story conçue pour décrire
une des fonctionnalités d'une plateforme web
Cette façon de rédiger ses spécifications fonctionnelles permet de toujours les orienter vers l'utilisateur (interne ou externe) et d'exprimer clairement ce qu'il peut faire en détaillant son objectif ou sa plus-value.
Ceci permettra à terme de prioriser les user stories selon leur degré de bénéfice ou de "valeur métier" (business value).
Chez Synbioz, nous abordons les spécifications fonctionnelles en trois temps :
Exemple de maquettes / prototype détaillé d'une application
L'ensemble de ces livrables constitue pour nous les éléments minimaux de vos spécifications fonctionnelles.
D'autres livrables seront importants comme les maquettes définitives, la charte graphique, tous les éléments visuels (logos, icônes, images...), les traductions éventuelles, etc.
Mais globalement, même si essentiels, ces livrables peuvent arriver en cours de projet.
Selon le type de projet, les spécifications fonctionnelles pourront êtres loties pour concentrer les efforts sur les premières fonctionnalités attendues dans le cadre du MVP (Minimum Viable Product) que nous aurons défini ensemble.
Ces spécifications seront bien entendu soumises à validation avant le démarrage de l'implémentation, et pourront faire l'objet d'adaptations en cours de route.
Mais un cadre cohérent sera alors défini, permettant à chaque interlocuteur de se projeter beaucoup plus aisément sur cette nouvelle application en devenir.
Ecrire de bonnes spécifications est une étape clé dans la réussite de votre projet : n'hésitez pas à vous faire accompagner dans cette démarche !