Aller au contenu

Méthodologie

illustration catégorie illustration.png

Flux de travail

Nos chefs de projets, développeurs et intégrateurs travaillent en synergie, ils interagissent en permanence dans une structure qui favorise les échanges grâce à des outils qui permettent de cadrer, simplifier et parfois d’automatiser les processus de collaboration. Par ces outils nous entendons donc Podio notre outil de ticketing pour la gestion complète d’un projet, GitHub pour la revue des codes avant de passer en production et Slack pour des échanges instantanés.

Gestionnaire des versions

La mise en place d’un gestionnaire de version est une priorité pour assurer le suivi d’un projet et la maintenance d’une application.

Nous sommes adeptes de l’utilisation du gestionnaire de version Git qui est devenu le standard de fait de l’industrie. Il est utilisé par la plupart des logiciels open source (parmi lesquels le framework Symfony lui-même ainsi que l’immense majorité de son écosystème) et est supporté par les principaux IDE (dont PhpStorm).

Le service GitHub est un bon complément au gestionnaire de version Git. Les différentes formules incluent un hébergement avec sauvegarde des dépôts, une gestion des intervenants sur le projet, un outil de visualisation du code source, un outil de ticketing, un wiki et des statistiques. De plus, GitHub est utilisé par la communauté Symfony pour mettre à disposition les bundles open source.

Performances

Nous nous soucions énormément de la performance de nos produits pour que les internautes accèdent rapidement aux pages de nos sites. Nous parlons bien là de leur fiabilité et de leur rapidité. Les technologies que nous utilisons ont été choisies pour leurs capacités à réduire ces temps de chargement. Leur évolutivité, cruciale pour une utilisation et une sécurité optimale.

Podio

Pourquoi Podio ?

Nous avons choisi Podio car c’est un outil collaboratif, personnalisable et complet. Il nous permet d’adapter chaque “espace” au projet de nos clients en les incluant dans la gestion de ce dernier. De ce fait, nous définissons les spécifications et gérons ensemble l’état d’avancement des tickets.

Dans l’outil de gestion Podio que nous utilisons aussi pour nos projets internes, chaque client dispose d’un espace de travail privé. Cet espace permet d'interagir avec l’ensemble des acteurs du projet (agence et métier).

Nous y retrouvons aussi tous les documents liés aux projets, comme le cahier des charges, les maquettes design, les liens vers les espaces de préproduction, de production…

Chaque demande de nouvelle fonctionnalité, de développement, de correction… se matérialise en forme de “tickets” qui sera affecté au développeur concerné, suivi par le chef de projet et dans lequel le client peut interagir, commenter… Ces tickets nous permettent d’établir des délais et de les suivre au jour le jour, permettant un développement et une recette en continue du projet.

Podio propose aussi une fonctionnalité de messagerie instantanée à l’apparence d’un “Facebook Messenger” se révèle être une alternative efficace aux mails puisqu’elle permet de :

  • Voir qui est connecté
  • Voir l’intégralité de notre liste de contacts
  • Échanger et s’accorder rapidement
  • Réduire les temps de process d’échange

L’AVIS DU CHEF DE PROJET

Podio est mon outil de travail principal. Il me permet d’avoir en un coup d’oeil une vue complète des différents projets que je gère au quotidien sans devoir ouvrir mes mails, Teams, Slack ou autre. Tout se passe sur Podio.

Stratégie de Design

En notre qualité d’agence de conseil nous pourrons vous proposer la piste créative la plus cohérente et efficace et nous définirons ensemble la stratégie digitale et marketing.

Maquette et Prototype

Les maquettes sont pour nous un moyen rapide d’illustrer une idée ou une fonctionnalité, de conceptualiser l’interface utilisateur (UI) et de travailler l’expérience utilisateur (UX). Nous utilisons des outils de prototypage collaboratifs tels que InVision et Adobe XD pour tester et réagir en temps réel tout au long du projet. La haute qualité de nos maquettes les rend extrêmement fidèles avec le produit final.

Test

L’efficacité d’un produit n’est pas définie par ses concepteurs, mais par ses utilisateurs. C’est pourquoi nous testons un maximum l’efficacité de nos produits, pendant la conception graphique et avant la mise en production.

Veille technologique

Le web est un domaine qui évolue constamment et rapidement. Chez Purjus, nous sommes à l’affût des innovations numériques et digitales, et nous veillons à l’évolutivité de nos compétences dans des domaines tels que l’intelligence artificielle ou la réalité augmentée.

Nous n’hésitons pas à nous rendre à des évènements tels que le SymfonyLive annuel pour nous imprégner des dernières innovations de ce framework PHP dans lequel nous sommes spécialisés.

La méthode Agile

Principes généraux

Chez Purjus Communication nous sommes partisans de la méthode agile (inspirée du framework Scrum). Cette méthode est selon nous la plus adaptée pour des projets digitaux, orientée vers la satisfaction client et la qualité du produit final.

Plusieurs principes sont à respecter pour mettre en place ce processus :

  • Favoriser les interactions et la collaboration, en gestion de projet Agile chaque partie prenante doit être impliquée et motivée. Avec des objectifs à court terme, nous échangeons plusieurs fois par semaine pour assurer la bonne tenue du projet et le respect des délais.
  • Déterminer plusieurs versions du site afin de planifier des livraisons fréquentes (livraison mensuelle, principe de “sprint”). Cela permet de traiter les fonctionnalités les unes après les autres, les tester et les valider en peu de temps et de passer à la suivante.
  • S’adapter au changement. Les livraisons courtes et régulières permettent de produire rapidement mais aussi d’ajuster, d’affiner les besoins initiaux sans reprendre le projet du début.

Réponse Appel d'Offre

Que retrouver dans nos supports de réponse aux appels d’offres ?

Tous nos dossiers se basent sur la même structure mais s’adaptent à chaque cas pratique.

Dans un premier temps vous retrouverez une présentation de l’agence et de l’organisation de l’équipe.

Dans un second temps nous vous exposons notre méthodologie de travail. En effet, nous gérons nos projets en “mode agile” via un outil collaboratif de ticketing (Podio pour les connaisseurs). Cette méthode peut être différente de la gestion de projet en entreprise, c’est pourquoi nous tenons à l’expliquer en amont.

Puis, suite à la compréhension du besoin expliqué dans le cahier des charges, nous formulons notre proposition de stratégie, d’architecture et de technologies et vous présentons votre équipe projet dédiée.

Pour finir, nous sommes en mesure de partager une première estimation (fourchette haute et basse) du temps de développement en jour/homme et du chiffrage du projet.

En fonction de l’appel d'offres et du projet, il nous arrive de proposer des avant-projets.

Vous avez un projet et souhaitez en parler avec nous ? N’hésitez pas à nous appeler au 04 42 26 83 42 ou à nous envoyer un mail contact@purjus.fr ou à nous contacter via le Chat Bot :)

Les avant-projets

Purjus est une société qui s’appuie sur une philosophie Agile pour répondre à des demandes de projet sur le long terme. Nous garantissons ainsi l’évolutivité que demande le digital aujourd’hui.

Cette méthode Agile nous astreint à travailler et à interagir en cycle court avec nos clients de façon fréquente.

L’objectif étant d’obtenir :

  • Une forte réactivité
  • Donner de la visibilité constante au client
  • Rapprocher la MOA et la MOE
  • Faire monter en compétences les équipes métier
  • Permettre au client d’ajuster constamment ses demandes

Et surtout d’éviter les dérives d’un projet au niveau budget, fonctionnalités et délais.

Nous avons donc pour objectifs de saisir les concepts de votre métier et de vous proposer clairement des solutions en utilisant pour cela un langage commun et une forte implication des 2 parties.

À la lecture du cahier des charges et des ambitions de notre client il nous arrive de proposer une phase d’avant projet en 3 étapes :

  • Lancement : nous proposons de mettre en place une réunion de cadrage de projet rapide pour mieux comprendre les besoins.
  • Sprint Design UX : conjointement avec le métier, réalisation d’une partie des maquettes graphiques et du parcours client pour être au plus proche du rendu final.
  • Conseil et recommandation techniques : en parallèle de l’UX, toujours itérativement, nous allons vous proposer des choix/solutions techniques pour mieux répondre à vos besoins et satisfaire vos exigences.

Au 3/4 de l’avant projet nous identifierons les enveloppes budgétaires par lots (macro), cela permettra de connaître grossièrement le coût de chaque fonctionnalité. De ce fait, vous pourrez ainsi piloter, prioriser et ordonner votre budget.

Les points clés :

  • Schéma architectural
  • Choix des technos (solutions front/back, écosystème technique)
  • Enveloppes budgétaires au fil de l’eau
  • Ce qu’il faut éviter

Nous déciderons ensemble du périmètre fonctionnel pour respecter le budget souhaité. L’objectif final étant de sortir le plan détaillé de la future plateforme, une maquette graphique ainsi qu’une enveloppe budgétaire précise.

Cela vous permettra de savoir exactement ce que vous obtiendrez et à quel tarif.

Par la suite, si tout vous convient, nous pourrons réaliser un nouveau devis précis pour le développement de la plateforme.

Outil de Ticketing

Pourquoi utiliser le ticketing pour les projets de développement web ?

Un outil de Ticketing est un outil d’aide à la gestion de projet. Il permet de centraliser tous les échanges, tous les documents, toutes les spécifications et tous les acteurs d’un projet au même endroit. Cela facilite grandement le suivi de projet et évite les longues chaînes d’emails dans lesquelles les informations se perdent.

Le ticketing permet de définir clairement et précisément les besoins et les travaux à accomplir, et de ne pas sortir du cadre de la description d’un ticket lors de la production.

Il précise aussi les échéances et les responsabilités de chacun des acteurs, il permet donc de garder une trace des évolutions, des échanges, des accords entre parties, c’est la mémoire “projet”. Les tickets permettent aussi d’éditer régulièrement des devis par sprint donc par mois puis d’éditer des factures au réel du temps passé par les développeurs à corriger ou faire évoluer une fonctionnalité.

Sprint Design

Le Sprint Design est un processus basé sur un impératif temporel issu de la méthode Agile. Ce processus est prisé par les startups et les grands groupes commencent à s’y mettre pour gérer leurs projets internes. Il dure en principe cinq jours, pendant lesquels sont mises en œuvre les cinq étapes du « design thinking ». L’objectif est la réduction du risque lors de la commercialisation de nouveaux services ou de produits innovants.

Les étapes d’un Sprint :

  1. Expression du besoin : c’est la phase la plus importante du sprint. Elle correspond au moment d’échange entre notre client et nous pour définir clairement et de manière non subjective les exigences du client concernant les fonctionnalités à développer et à traiter par ordre de priorité.
  2. Planification du Sprint : nous définissons et priorisons avec le client les éléments du product backlog (la base des développements à réaliser à la bonne réalisation du projet) réalisables dans le cadre du prochain sprint.
  3. Revue du Sprint entre le client et Purjus : Présentation des fonctionnalités développées.
  4. Validation et mise en production

L’objectif du Sprint Design est de cadrer le projet avec les équipes métiers en un temps très réduit et de générer la meilleure rentabilité possible grâce à une exhaustivité d'idées.

Rédiger un cahier des charges

Lorsque l’on a un projet de création de site Internet, d’un développement spécifique, d’un logiciel ou encore d’une application mobile, la phase de rédaction d’un cahier des charges est souvent négligée alors qu’elle en représente une étape clé.

Mais alors qu’est-ce-qu’un cahier des charges web ?

Il est la base de la conception d’un projet et a pour fonction de formaliser le ou les besoins et précise les spécifications du projet pour en assurer la compréhension par l’ensemble des acteurs impliqués.

Ce document, une fois validé par les deux parties (client et agence) fait foi en ce qui concerne les développements et les évolutions. Tout ce qui sort du cahier des charges demandera de nouvelles spécifications, des développements supplémentaires et donc une enveloppe budgétaire supplémentaire.

Avantages liés à la rédaction du cahier des charges :

  1. Mettre à plat tous vos besoins, les besoins des internautes et vos objectifs
  2. Faire comprendre clairement vos attentes pour bénéficier des conseils techniques que l’agence pourra vous fournir
  3. Mettre en avant les priorités essentielles ⇒ permet de pouvoir démarrer un projet rapidement en développant les priorités et sortir une V1 fonctionnelle

(en gestion de projet Agile rappelez vous qu’il est préférable de sortir plusieurs “petites” versions incomplètes mais stables que d’attendre la version définitive)

  1. Permettre une estimation de la charge de travail en jour/homme au plus proche de la réalité pour éviter toutes mauvaises surprises sur les délais et les coûts.

Un cahier des charges robuste doit comprendre :

  1. Présentation de l’entreprise / produits / services
  2. Présentation générale du projet
  1. contexte et définition de la problématique
  2. objectif(s)
  1. Périmètre du projet et les cibles
  2. Description fonctionnelle des besoins, en d’autres termes décrire votre besoin en fonctionnalités
  3. Contraintes techniques
  4. Etat de l’existant
  5. Charte graphique
  6. La navigation
  7. Structure et contenus (disponibles ou à créer)
  8. Enveloppe budgétaire
  9. Planification du projet et délais des livrables
  10. Liste des intervenants et leur rôle

Gardez en mémoire que nous pouvons vous accompagner à la rédaction de ce cahier des charges ainsi que sur des points précis tels que le graphisme, l’UX, l’arborescence...

Symfony VS CMS

Symfony offre plusieurs avantages par rapport à l’utilisation d’un CMS du type Wordpress, Magento ou Drupal :

Léger et performant

Lors de la création d’un projet avec Symfony, le strict minimum est inclus. Il convient alors d’ajouter les différents composants nécessaires au projet au fur et à mesure que les besoins surviennent. Ceci a pour but d’avoir une application la plus légère possible et donc d’en accélérer l'exécution. Les CMS classiques comportent une multitude de modules qui ne seront jamais utilisés par le projet et qui ralentissent son utilisation.

Le métier avant tout

Symfony abstrait un maximum de problèmes techniques pour pouvoir se concentrer sur ce qui est vraiment important dans l’application : le code métier. Symfony permet de créer un code sur mesure, vraiment adapté aux problématiques du métier concerné. Mieux vaut coder simplement la fonctionnalité précise dont on a besoin plutôt que de trouver un plugin de CMS qui apportera une solution à peu près équivalente.

Agilité

Il est facilement possible de faire évoluer une application créée avec Symfony. Comme vu dans le point précédent, l’approche métier permet de créer de nouvelles fonctionnalités proches du métier plus simplement que sur un CMS classique.

Sécurité

Symfony intègre une sécurité efficace permettant d’éviter les attaques XSS, CSRF, etc. Les CMS classiques ont un inconvénient de taille : il est possible d’accéder aux administration de base (/wp-admin par exemple pour un Wordpress, ou /admin pour les autres). De ce fait et à cause de la nomenclature des URL connue de tous, un pirate peut utiliser des outils pour forcer une administration d’un CMS connu.

Structure claire

La structure et l’arborescence de fichiers de Symfony est conventionnée et semblable d’un projet Symfony à un autre. De ce fait, tout nouvel intervenant peut retrouver ses marques facilement, rendant la maintenance applicative plus fluide et efficace. Un développeur Symfony peut donc intervenir rapidement sur tout projet sans être perdu, même s’il n’en avait pas encore connaissance.

Testable

La création et l’exécution de tests unitaires (voir chapitre sur les tests) pour Symfony est très simple. Ceci permettra de couvrir un maximum de fonctionnalités afin d’éviter toute régression lors de mises à jour.

MVP

MVP

Qu’est-ce qu’un MVP ?

Un MVP vient de l’anglais Minimum Viable Project, en français nous pourrions traduire cela par le “minimum vital du projet” soit le minimum de ce dont nous avons besoin pour sortir un projet (CQFD).

Dans son but premier, un MVP va souvent être utilisé dans la production d’un produit car il peut être réalisé très rapidement et à moindre coût. Cela permet de proposer rapidement quelque chose qu’il fera évoluer ou pas, ou de tester une innovation au producteur.

Chez Purjus c’est assez similaire, nous allons proposer un MVP à nos clients pour être rapide et sortir quelque chose.

Quand allons-nous proposer un MVP à nos clients ?

Exemple de situations :

Demande client : La liste au père Noël des demandes métiers transformés en jour de développement dépasse largement le budget autorisé.

Solution intermédiaire : Nous proposons une solution à tiroir avec un MVP, une V2, V3 auxquels nous arriverons à terme à la demande métiers.

Demande client : Développer un site e-commerce avec un ERP existant pour un de nos clients. Cependant, l’interdépendance avec un service tiers nous a empêché de “finir” nos développements.

Solution intermédiaire : Au lieu de ne rien sortir, nous avons rebondi en proposant un site vitrine avec les produits affichés. La vente se passait par téléphone, mail ou en boutique. A terme, nous avons pu réaliser une V2 avec le site e-commerce.

Le MVP est donc un bon moyen de sortir un projet rapidement si celui-ci rencontre des difficultés en termes de développement ou de budget. Cela permet aussi de laisser du temps au client pour redéfinir le cadre du projet et aller chercher du budget sur le moyen / long terme si besoin. Cela permet aussi de le rendre évolutif et pérenne dans le temps.

Cet article vous a-t-il été utile ?

1 utilisateurs sur 1 ont trouvé cet article pertinent.

Dites-nous en plus:

À suivre