Le temps de réalisation d’un projet varie en fonction de celui-ci, des ressources humaines et non-humaines à disposition ainsi que par sa gestion.
Lorsque plusieurs projets se chevauchent, il faut avoir connaissance du temps de réalisation approximatif de chaque projet en fonction des ressources actuelles disponibles. C’est pourquoi il faut savoir s’organiser et optimiser son temps.
Lors de l’organisation d’un projet il faut également prendre en compte le client. Certains projets sont découpés sous forme d’étapes qui doivent être validées par le commanditaire. Les fonctionnalités ajoutées peuvent mener à l’amélioration de certains points si le client le demande.
Sur quelques projets, le commanditaire doit fournir des données, éléments, maquettes graphiques, clés API, identifiants de connexion etc. qui, lorsqu’ils ne sont pas transmis, bloquent la poursuite du projet et créent des trous dans l’emploi du temps du développeur.
Les projets sont alors découpés dans la durée et il faut savoir réorganiser son emploi du temps et son assignation aux projets pour optimiser son temps.
Pour clarifier ce type de projet, je vais m’appuyer sur deux exemples concrets réalisés lors de mon stage.
Dans ce projet de location de biens immobiliers défini plus haut, j’ai eu l’occasion de travailler sur davantage de missions.
Une fois la mission de partage sur les réseaux sociaux terminée, le client a eu un délai de réponse pour valider cette fonctionnalité. Des améliorations et correctifs ont été proposés puis ajoutés. Il s’agissait de la correction d’un problème sur le responsive de l’affichage des données. L’ajout de la présence ou non d’un espace extérieur a été une amélioration à effectuer.
Aussitôt ces points résolus, il a été question d’améliorer une fonctionnalité de partage du logement par email. Cette question a posé quelques problèmes techniques. En effet, lors d’un clic sur le partage par email, la boîte mail s’ouvre accompagnée d’un nouveau mail pré-rempli, en son corps il devait afficher un lien cliquable du logement. Après plusieurs recherches, l’attribut “:mailto” ne peut pas réaliser cette tâche.
Après un nouveau délai, les partages devaient être automatisés, quand l'utilisateur arrive sur le site par le biais du lien partagé, il est directement redirigé vers les informations de l'appartement en question. Une capture d'écran permettra de comprendre au mieux la mission.
Ce travail m’a permis d’avoir une première expérience dans un projet découpé, il était important d’être à jour sur les éléments du projet et d’en connaître l’évolution. Les délais de validation et de réponse entre chaque étape, entre le commanditaire et le prestataire sont communs, c’est pourquoi il faut prendre en compte ce point dans l’organisation des travaux et avoir d’autres projets qui peuvent s’effectuer pendant ces “trous”.
Le second projet illustrant cette idée d’attente possède des raisons différentes, il s’agit de MaResidence.co qui a déjà été présenté dans la première partie.
Pour commencer l'apprentissage, il y a un test de personnalité en ouverture de la formation qui permet d’attribuer une personnalité à l’utilisateur. Celui-ci envoyait des résultats qui n'avaient aucun sens (nombres séparés par des virgules au lieu d'un type de personnalité).
Ma mission à tout d'abord été l'identification de l'origine du problème. La solution était simple, lors du test des points sont attribués en fonction des réponses. Pour calculer le résultat du test, des conditions fournies par le client sont rentrées. Par exemple, entre 5 et 10 points dans la catégorie A et entre 5 et 8 points dans la catégorie B donnera une personnalité.
Or, les résultats des questionnaires n’étaient pas couverts par toutes les conditions. L’information a été transmise au client, pour résoudre ce problème, il fallait avoir de nouvelles conditions ou réaliser une réponse par défaut quand il ne répondait pas à ces conditions. L’entreprise fut en attente de feu vert, puis la seconde solution fut réalisée.
La seconde expliquée dans la première partie mettait en oeuvre une attente des données de la part du client.
Tout comme le projet précédent, ce délai est commun, d’autant plus que le client était en France, sur un fuseau horaire différent. La réalisation de ce projet m’a fait découvrir de nouvelles technologies utiles pour la suite de mes projets. Penser à la suite des projets est un élément clé, la proposition des deux choix au client limite son nombre de réponse possible et lui permet de réfléchir des heures alors que le problème était existant sur un site live.
Le délai d’attente pour la réponse doit être comblé par d’autres projet, ils peut s’agir des projets de longue durée que l’on va interrompre de temps en temps, que l’on peut appeler des projets de fond, ou bien des projets courts qui peuvent être réalisés pendant ce vide dans l’emploi du temps.
Un projet est dit court lorsque son temps de réalisation global est faible, la mission suivante a été réalisée entre deux validations d’un même projet.
Ben's est une société travaillant dans l'industrie du matelas et de l'ameublement. Son but est d’obtenir les meilleures offres et de proposer au consommateur les prix les plus bas sur Atlanta. Il s’agit d’un site ecommerce qui a été créé par l'équipe Tangible.
La mission qui m’a été confiée consistait à modifier l'affichage des produits vendus en complément, comme par exemple des oreillers, ou des petites meubles que le client pourrait être incité à acheter avec son article principal.. Il existait déjà un plugin affichant les produits sous la forme d'une grille mais le client aurait aimé un carrousel. Ma mission a donc été l'intégration d’un carrousel au design du site contenant les images et informations déjà présentes.
Un carrousel est une galerie d'image animées. L'image ci-dessus montre un exemple.
Ce projet a été l’occasion de souffler un peu entre deux missions, il ne nécessitait pas de formation supplémentaire, et j’avais les compétences pour effectuer ces modifications.
Ce petit projet en terme de réalisation a été résolu au bon moment, entre deux missions, dans une période creuse. Réorganiser mon emploi du temps a permis d’optimiser mon efficacité. J’ai optimisé mon temps de travail pour pouvoir résoudre un projet supplémentaire.
Il existe également un autre type de projet qu’on peut catégoriser de projet de fond, il s’agit d’un projet long en durée de réalisation et moins important que les deux types présentés auparavant.
Infocube est une entreprise de comptables spécialisés en analyse d'entreprise. La création du site à été géré par l’équipe Tangible et j’avais également une mission attitrée.
Dans ce projet, des articles sont rédigés par le client et publiés sur directement sur le site. Ce ne seront pas les seuls flux puisque le client souhaite aussi importer des articles depuis un autre site directement dans son flux de publication. Ma mission a donc été d’importer et d’afficher des articles provenant d’un autre site internet sur celui du client.
Il s’agissait de l’un des plus longs projets en terme de réalisation sur le site. Afin de réduire le temps de réalisation et de formation de ce projet, plusieurs questions se sont posées, utiliser un plugin existant et le modifier pour la tâche ou repartir de zéro ? Comment favoriser au mieux l'expérience utilisateur lors de l’utilisation du plugin ? Comment me former au plus vite à cette technique d’importation qu’est l’API REST.
Ce projet a demandé davantage de réflexion afin d’en optimiser le temps de réalisation. Au vu de la durée du projet, il s’agissait d’un projet de fond. Le fait de pouvoir l’entrecouper par d’autres apportait un regard nouveau, plus de recul et de réflexion sur ce projet.
Contrairement à un projet court, ce projet demande une gestion différente afin de maîtriser les délais. Il est intéressant de découper ce projet massif en plusieurs étapes afin d’avoir une idée globale de son avancement.
Pour illustrer davantage l’image d’un projet de fond, un projet intitulé corcoran me permet d’en dire plus.
Le projet consistait à récupérer puis afficher des informations provenant d'une API contenant des informations relatives à des biens immobiliers appelée Corcoran. Celui-ci ressemble aux projet 420Kent et 1Flatbush, où il fallait rapporter les informations dans un tableau.
Ma mission au sein de ce projet était de créer et récupérer les éléments permettant la connexion à l’API, comme une clé secrète et le numéro de l’immeuble. Sélectionner seulement les informations utiles à enregistrer, puis de les afficher dans une grille personnalisable par l’utilisateur. C’est-à-dire, dans un module Beaver Builder personnalisé ou l’utilisateur pourra modifier le contenu affiché et styliser la grille.
Ce second projet s’étalait également sur la durée, la phase de développement s’est décomposée en plusieurs étapes, ce qui a permis d’avoir un point de vue global de la phase développement. S’organiser de cette manière permet de se retrouver sur le projet lorsqu’il est interrompu par d’autres tâches plus courtes ou même de façon générale de bien se structurer et prévoir les éléments à suivre.
Le temps de développement d’un projet a un impact sur la gestion du temps. Il faut apprendre à évaluer correctement les difficultés possibles qui peuvent être rencontrées lors de la réalisation du projet, prendre en compte le délai de réponse entre le commanditaire et le prestataire. Afin d’optimiser son temps, il faut organiser son temps de travail et garder d’autres projets moins urgents pour ces périodes creuses de l’emploi du temps. Sur des projets plus longs, il faut apprendre à fixer des étapes afin d’avoir une vision globale du projet et quantifier au plus juste chaque étape.
Le temps de réalisation et de formation du projet n’est pas le seul facteur à la gestion de projet, pour s’organiser au mieux, il faut prendre en compte les critères d’importance d’un projet.