Réalisation d'une App Web de gestion de commande sur-mesure en seulement 5 jours
Delicia - deiliciageneve.com

Réalisation d'une App Web de gestion de commande sur-mesure en seulement 5 jours

Delicia est une entreprise de confection culinaire artisanale qui souhaitait une application pour gérer les commandes effectuées par téléphone ou depuis son site Internet. Ce commerce n'a pas trouvé sur le marché un logiciel leur convenant: simple, abordable et personnalisable. L'un des besoins spécifiques de Delicia étant de pouvoir imprimer automatiquement un nouveau ticket au laboratoire de préparation lorsqu'une commande est validée. L'un des défis pour moi était de développer rapidement une App Web répondant à leurs attentes et avec un budget limité.

Je souhaite partager avec vous 5 approches que j'ai mis en oeuvre pour réaliser cette App Web en 5 jours. Celles-ci permettent d'accélérer le développement et d'éviter les pièges inhérents à la réalisation d'une application pour un tiers.

Partager une vision commune avec le client

Résultat de l'atelier d'Event Storming effectué avec Delicia

Une demi journée fut consacrée à la clarification des fonctionnalités grâce à l'atelier d'Event storming. J'ai effectué cette activité avec l'équipe de Delicia en utilisant l'outil collaboratif en ligne Miro. Cette activité permet d'identifier les fonctionnalités à travers les différents événements qui pourraient survenir dans l'application. Il permet aussi de s'accorder sur un vocabulaire commun, d'identifier des cas à la marge et de délimiter le périmètre fonctionnel. Un autre aspect intéressant de cet exercice est de faire émerger de manière naturelle une architecture logicielle transposable dans le code. En effet, en implémentant le schéma résultant lors du développement, on évite ainsi les nombreux pièges associés à une application mal architecturée ainsi qu'à une mauvaise compréhension des besoins.

Une application est la cristallisation de la compréhension des besoins par l'équipe de développement

Représenter la réalisation future

Croquis de l'application

Une demi journée supplémentaire m'a permis de créer les croquis des écrans de l'application à partir des fonctionnalités identifiées dans l'atelier précédent. Ces mockups ont été créés avec les outils de wireframing de Miro simple à prendre en main. Sur la base de ces ébauches, le client peut se projeter sur l'application future, en valider les fonctionnalités et le périmètre. On peut ainsi efficacement se mettre d'accord sur le résultat qui sera livré. Un autre avantage de cette pratique est de faire émerger rapidement des incertitudes sur des choix de conception, d'ergonomie ou encore de navigation. Auxquels le client pourra se prononcer avant même d'avoir débuter le développement. À partir de ces écrans et des fonctionnalités, je suis en mesure d'estimer le temps nécessaire à la réalisation du projet ainsi que son coût.

Évaluer la faisabilité

Une des complexités techniques de ce projet résidait dans l'impression automatique d'un ticket dans le laboratoire de confection lorsque qu'une commande était validée sur l'application. Avant de débuter la réalisation, je souhaitais m'assurer que cette fonctionnalité puisse être implémentée de manière simple et efficace. En accord avec l'équipe de Delicia, nous avons choisi de ne pas réinventer la roue, et d'acquérir une imprimante de ticket de Printer Point disposant d'une API hébergée dans le cloud afin d'effectuer des requêtes HTTP pour l'impression. Sans une solution tierce, j'aurais entrepris la réalisation d'une preuve de concept (PoC) avant toute chose afin de valider la faisabilité du projet.

Utiliser des outils adaptés

Afin de réaliser l'application Web efficacement, je me suis reposé pour la partie backend sur le SDK de Google Cloud Firebase. Ce dernier permet de déployer facilement une application Web ou mobile sur le cloud. De nombreux services sont à disposition pour accélérer le développement:

  • un service d'authentification mis en place en un tour de bras;
  • une base de données NoSQL disposant d'une gestion automatique de la synchronisation des données, d'un cache et un système simple de sécurisation de l'accès aux données;
  • des cloud functions (lamda) permettant d'exécuter du code backend dans le cloud, utilisées dans ce projet pour envoyer des requêtes à l'API d'impression;
  • des analytics et encore de nombreux autres services clés en main.

Une demi journée fut nécessaire pour activer les différents services ci-dessus, créer un dépôt Git et déployer l'application dans le cloud.

L'application frontend a elle été développée sur le framework Angular et Material Design pour les composants graphiques. En effet, j'ai beaucoup d'expérience sur ces technologies ce qui me permet de développer rapidement. De plus, ces technologies sont populaires et mon client aura donc moins de difficultés à trouver des compétences sur le marché si besoin.

Livrer l'application en continu

Plus un problème est détecté rapidement, moins il est couteux à corriger.

C'est pour cette raison qu'après chaque journée de développement, l'application était déployée et testée par l'équipe de Delicia. Les problèmes ont pu être corrigés au fur et à mesure du développement. Cela nous a aussi permis de re-prioriser des fonctionnalités et d'améliorer l'expérience utilisateur tout au long du développement. Après 3 jours et demi de développement, l'application est livrée et prête à se frotter à une utilisation plus intensive d'ici la fin de l'été, lorsque les activités reprendront de plus belle.

2 écrans de l'application réalisée

Améliorons-nous

Voici en résumé les approches que j'ai mis en place pour la conception de cette application Web dans un temps court et avec un budget limité:

  • un atelier permettant d'avoir une compréhension globale des besoins du client;
  • des croquis qui permettent de s'aligner précisément et rapidement sur ce qui sera livré;
  • une preuve de concept pour s'assurer de pouvoir résoudre efficacement une complexité technique.
  • des outils adaptés, éprouvés et sur lesquels je suis expérimenté;
  • la livraison en continue afin de recevoir des retours rapide du client sur la réalisation.

Suite à la réalisation de ce projet, j'ai effectué un dernier atelier de mon côté: une retrospective afin d'identifier ce qui avait bien fonctionné et ce que je pourrais améliorer dans un projet futur. C'est par la répétition de cet exercice de manière régulière que j'en suis arrivé à mettre en application ces 5 approches qui me semblent être des éléments essentiels au succès de cette App Web. Cependant, si vous devez retenir une seule chose de cet article, c'est sans conteste la rétrospective, qui vous permettra de rentrer dans un processus d'amélioration continue et de mettre en place différentes approches adaptées à votre contexte. C'est une pratique qui s'avèrera essentiel aux succès de tout vos futurs projets.

Et vous, quelles sont les approches que vous utilisez pour une conception rapide et efficace ?

À propos de moi

Jeremy Jay Gobet

Actif dans différents domaines durant ces 10 dernières années j'accompagne mes clients dans la conception logicielle en facilitant l'intégration des technologies et approches méthodologiques.

Mes expériences pluridisciplinaires me permettent d’avoir un regard critique et transverse, dans l'intégralité du processus de conception logicielle.

https://craftslab.ch

Loïc POISOT

CEO of CustomsBridge. Together, let's simplify Customs !

2y

Très bon article, En effet, la roue vertueuse de l'analyse et de l'adaptation doit tourner le plus souvent possible, et ça ne s'arrête pas au monde du développement informatique 😉

To view or add a comment, sign in

Explore topics