Master Expert Technologie de l'information EPITECH 2020.
Co-fondateur et CTO d'une startup dans l'Edtech 2019 - fin 2022. (+3 ans)
Formation PSPO-1 Agile Scrum 2022.
Co-fondateur et CTO d'une startup dans la Deeptech fin 2022 - aujourd'hui.
Animation d’un atelier de conception d'une solution
Justification de choix techniques et de sécurité
Présentation d'un devis de la production de la solution et QCM individuel
Transformation des spécifications fonctionnelles en techniques
Transformation d’un cahier des charges en spécifications fonctionnelles
3 personnes maximum, définissez qui aura le rôle de l'UX Designer, du Product Owner et du Développeur.
Trouvez un nom pour votre groupe !
Réalisez l'atelier ensemble pour arriver face au client avec une proposition.
Présentez vos travaux et faites participer le client à votre atelier pour récupérer ses retours.
Améliorez vos travaux pour passer à l'étape suivante de la conception de la solution.
UX Research
Design Thinking
Interviews
Who has the problem ?
What is the problem ?
When / Where does the problem occur ?
Why is it important to address for the customer ?
Exemple :
Students taking more than four modules find it challenging to see when their assignments are due if they have more than 5 due dates, meaning they miss deadlines and lose marks.
Lean UX
Hypothèses
Analyse
Format :
[type d'utilisateur] a besoin [le besoin] afin d'accomplir [objectif].
L'objectif est très important ici, car il va vous permettre de vérifier que l'utilisateur arrive à accomplir son objectif avec votre produit.
Mise en relation entre particulier et artisan
Proposer toutes les prestations d'artisanats
Proposer les artisans proches du chantier
Le problème à résoudre :
Les particuliers qui ont besoin de réaliser des travaux ont du mal à trouver des artisans de confiance et leurs tarifs ; Cela peut conduire à des frais non prévus ou des dégâts quand l'artisan n'est pas professionnel.
Un système de recommendation
Un système de suggestion sur les critères du particulier
Offre détaillée de chaque artisan sur sa prestation
Progresser rapidement grâce à des formations de seniors
Proposer toutes les catégories de formation professionnelle
Formation interactive avec exercices et corrections
Le problème à résoudre :
Les particuliers qui ont un plan de carrière difficile à atteindre ont du mal à monter en compétence quand ils sont isolés dans leur entreprise ; Cela ne leur permet pas de développer leurs compétences aussi vite qu'avec un senior dans leur équipe.
Un système d'éditeur de formation en ligne
Une IA qui réponds aux questions les plus posées ou redirige vers le senior
Notation des formations & recommendation
Résoudre un escape game seul ou à plusieurs en VR de chez soi
Proposer les meilleurs escape games créés par des agences
Un système d'énigme et de mini-jeu poussé
Le problème à résoudre :
Les agences d'escape game ont du mal à avoir des revenues récurrents en fidélisant leurs joueurs ; La location de l'espace et du personnels est très coûteux et il n'y a pas beaucoup de re-jouabilité quand le joueur termine un escape game.
Un système d'éditeur d'escape game VR pour les agences
Un système de paiement par abonnement ou d'achat à l'unité
Notation des escape games & recommendation
Nous allons utiliser Miro pour réaliser nos ateliers, copier la template et inviter votre groupe.
Attention, le client connaît son problème.
C'est à un expert de définir son besoin et sa solution.
Cartographie des parties prenantes et des besoins.
Identifier le type de partie prenante
Identifier les relations entre les parties prenantes et le projet
Définir le persona des utilisateurs finaux
Brainstorming et priorisation
Vous devez trier les activités par ordre d'importance pour votre produit. Plusieurs techniques sont possibles, l'une d'entre elles priorisent les activités qui ont le meilleur ratio valeur / effort.
Ensuite, prioriser les activités dans plusieurs phases de développement du produit : la Preuve de concept, le Prototype et le Minimum Viable Product.
Define
N'hésitez pas aussi à tout simplement utiliser un papier et un crayon ;-)
Si votre produit a de fortes chances d'être une application mobile, je vous conseille de partir sur une stratégie "Mobile-first". Cette stratégie prône le fait de faire en priorité les cas d'usages sur le format mobile pour ensuite adapté au format Desktop.
Quand on peut avec le moins, on peut avec le plus !
Example Mapping
Pour réaliser votre Example Mapping, on va choisir une User Story pour le faire. Mais qu'est-ce qu'une User Story ?
Créé dans Extreme Programming en 1999
Une fonctionnalité la plus minimale possible
Un support de validation du Product Owner et de l'utilisateur
Format :
En tant que <qui>, je veux <quoi> afin de <pourquoi>.
Exemple :
En tant que particulier, je veux chercher des artisans autour de chez moi pour une intervention rapide.
Que je résume dans mes propres US sous le format :
Titre - Particulier cherche des artisans autour de sa position
Description - Pour une intervention plus rapide, un particulier va chercher les artisans qui sont le plus proche de la position qu'il a enregistré comme étant son logement.
La Definition of Done (DOD) permet à l'équipe de savoir quand est-ce qu'on considère une US terminée, elle permet de lister toutes les choses qui sont à faire pour chaque US.
Exemple :
La DOD permet de vérifier qu'une qualité minimale est respectée pour chaque US.
Les critères d'acceptation (AC) permet à l'équipe de savoir les critères spécifiques à une US pour être validée. Par exemple, lorsque vous réalisez une identification :
Dans cet exemple, on peut traduire par :
Si pour vous une Step est trop grande, qu'elle ressemble plus à une Epic, diviser la à nouveau, créer une Activité si besoin et rajouter des nouvelles Steps qui ressembleront plus à une vraie US.
Quand vous avez identifié des US, maintenant il vous faut un moyen de facilement rédiger leur fonctionnement et les critères d'acceptation. Pour cela, regrouper autour d'une table le Product Owner, un UX Designer ou un Testeur et un Développeur pour identifier tous les besoins et problématiques.
On appelle cette configuration les "Three amigos!" en référence au film du même nom.
Pourquoi ? Pour éviter que seulement une personne avec sa vision métier ne soit responsable de la création des US, là on est sûr d'avoir le point de vu de tout le monde.
Pour standardiser et éviter d'avoir des exemples différents pour chacun, on utilise alors le Gherkin. Cela permet de se rapprocher d'une syntaxe plus algorithmique et permet à toute l'équipe de participer à la réflexion de la logique de l'US.
Voyons ensemble sa syntaxe et son fonctionnement :
Venez me voir pour valider ensemble.
Venez me voir pour valider ensemble.
Bravo, vos US peuvent rejoindre le Backlog Produit si vous êtes en Agile et vous avez terminé la conception fonctionnelle !
N'oubliez pas que votre notation finale dépends de la qualité du rendu et de la présentation du travail réalisé durant nos séances !
N'hésitez pas à me demander de vérifier des parties pour voir les correctifs et améliorations à faire.
Vous pouvez aussi débuter la présentation finale que vous allez réaliser en fin de module.
Première fois cité dans le livre de Eric Evans du même titre publié en 2003
Le DDD est une architecture pour la conception de logiciels
Place la logique métier au centre des préoccupations.
Isoler la logique métier de la logique applicative / infrastructure.
Abstraire les outils et technologies utilisés.
Un seul et même langage pour toute l'équipe, il est très facile de collaborer.
La couche domaine met en œuvre la logique commerciale centrale, indépendante des cas d'utilisation, du domaine/système.
La couche application met en œuvre les cas d'utilisation de l'application basés sur le domaine. Un cas d'utilisation peut être considéré comme une interaction de l'utilisateur avec l'interface utilisateur (UI).
La couche présentation contient les éléments de l'interface utilisateur (pages, composants) de l'application.
La couche infrastructure soutient les autres couches en mettant en œuvre les abstractions et les intégrations avec les bibliothèques et les systèmes tiers.
Entity - une entité est un objet doté de ses propres propriétés (état, données) et de méthodes qui mettent en œuvre la business logic. Une entité est représentée par un Id.
Value-Object - un objet de valeur est un autre type d'objet de domaine qui est identifié par ses propriétés plutôt que par un identifiant unique. Cela signifie que deux objets de valeur ayant les mêmes propriétés sont considérés comme le même objet.
Repository - un repository est une interface de type collection utilisée par les couches domaine et application pour accéder au système de persistance des données (la base de données).
Domain service - un service sans état qui met en œuvre les règles fondamentales du domaine en utilisant les entities et repositories.
Après avoir identifié les activités à réaliser, on peut alors commencer à choisir les outils et technologies que l'on va utiliser pour notre solution.
Cela demande de la veille et des tests sous forme de POC (Preuve de concept) pour valider l'intérêt de l'outil ou de la technologie.
Ensuite, vous devez définir les justifications de ces choix techniques pour garder la ligne directrice de pourquoi ce choix.
Ex : Nous utiliserons une base de donnée MongoDB en NoSQL pour réaliser la persistance des données car nous ne connaissons pas à l'avance la data qui va être à stocker de nos clients.
J'ai réalisé une template Miro vous permettant d'être guidé sur la réalisation stratégique et tactique de votre Domain Driven Design pour votre solution :
https://miro.com/app/board/uXjVKUKRDus=/?share_link_id=736458064572
Réalisez ces étapes pour la solution que vous êtes entrain de construire.
Appelez-moi quand vous avez terminé que l'on puisse valider avant d'attaquer la suite.
Créez une présentation où vous allez définir tous les outils et technologies que vous allez utilisés pour créer votre solution.
Bien sûr, tout doit être justifié (résout un problème, une limite, qu'en interne vous avez déjà cette expérience, etc).
Il faut définir des sujets comme :
Maintenant, vous pouvez vous lancer dans le coeur de la conception technique en réalisant l'UML de votre solution dans un dépôt.
Vous utiliserez l'outil Mermaid en utilisant les Diagrammes de Classes.
Définissez vos entités, vos repositories et vos services pour les activités que vous avez identifiés avec les différentes communications entre chacun.
N'oubliez pas ensuite d'ajouter les Adapters pour suivre l'architecture Hexagonale pour abstraire les services externes dont vous avez besoin. (AWS SES, S3, etc...)
Appelez-moi quand vous avez terminé que l'on puisse valider avant d'attaquer la suite.
Maintenant, vous pouvez vous lancer sur l'architecture de votre infrastructure que vous allez déployer en réalisant dans un dépôt un diagramme avec l'outil Mermaid.
Utilisez le diagramme d'Architecture.
Définissez vos serveurs, vos bases de données, vos storages, les services que vous allez utilisez pour gérer vos clusters et l'équilibreur de charge etc.
Appelez-moi quand vous avez terminé que l'on puisse valider avant d'attaquer la suite.
Vous avez terminé la conception fonctionnelle et technique, il est maintenant temps de synthétiser tout votre travail en une présentation impactante pour votre client.
Vous devez aussi quantifier le nombre d'heures de travail ou le coût de certaines parties projets dans un devis pour votre client.
Attention, le but ici est d'être le plus réaliste possible pour vous entraîner.
N'hésitez pas à utiliser des outils comme Pitch pour réaliser votre support de présentation.
Présentation et devis de la conception de la solution technique
20 minutes + 5 minutes de questions
30 minutes