-

Chaos dans le développement Web ? Outils pour rationaliser les projets dans votre entreprise

Des outils et processus bien choisis dans une entreprise de développement web sont l'un des principaux facteurs influençant la satisfaction des clients. Sans prendre soin de cet aspect, les projets sont souvent retardés, la qualité n'est pas maintenue et les clients ne sont pas satisfaits. Découvrez comment, sur la base de plus de dix ans d'expérience chez Droptica, nous avons sélectionné des outils pour aider à construire des applications web et des sites web. Dans cet article de blog, vous trouverez une liste prête à l'emploi de solutions à mettre en œuvre immédiatement dans votre entreprise.

Table des matières

Pour commencer, déterminer l'objectif de l'implémentation d'un outil de développement web

La décision de choisir un outil ou de mettre en œuvre un processus doit être liée à la réalisation d'un objectif spécifique. Donc, avant de commencer à mettre en pratique les solutions de cet article, examinez la liste des objectifs ci-dessous et réfléchissez si l'outil vous aidera à atteindre l'un d'eux pour votre organisation. Si vous ne spécifiez pas clairement l'objectif, vous n'atteindrez jamais le point où la mise en œuvre peut être considérée comme un succès.

Exemples d'objectifs pour l'implémentation d'outils pour soutenir le travail d'une entreprise de développement web :

  • Réduire le temps nécessaire pour accomplir les tâches (ici, il est préférable de spécifier le type de tâches que cet objectif concerne).
  • Augmenter la valeur délivrée au client au fil du temps, par exemple, pour les clients qui paient régulièrement mensuellement pour le temps de travail (par exemple, s'ils ont acheté un forfait de 40 heures, comment pouvons-nous leur livrer plus de tâches/fonctions dans ce temps ou résoudre plus de bogues, etc.).
  • Améliorer la ponctualité de l'implémentation des projets.
  • Simplifier la communication. Il est utile de définir comment mesurer un tel objectif, par exemple en réduisant le nombre de demandes des clients non terminées dans le projet ou en mesurant la communication interne avec un sondage, et en répétant le sondage après l'implémentation de l'outil.

Un bon équipement réduit le temps de travail

Les outils ne sont pas seulement des logiciels. Le matériel est tout aussi essentiel. Chez Droptica, nous avons sélectionné notre matériel dès le début pour que travailler dessus ne soit pas un goulet d'étranglement (par exemple, attendre longtemps pour construire un projet ou charger un gros fichier graphique pendant longtemps).

Les projets avec une base de données plus étendue (dizaines ou centaines de gigaoctets de données) sont de bons exemples de cela.

Si nous réduisons le temps d'importation de la base de données de 30 minutes à 15 minutes et que nous effectuons une telle importation par un programmeur une fois par semaine, alors en un an, nous économiserons 15 minutes x 50 semaines = 750 minutes (12,5h). Si nous avons 10 programmeurs, cela fait 125 heures par an, ce qui correspond déjà presque à un mois entier de travail pour une personne. 

Avec quelques changements d'équipement, nous avons eu des améliorations dans l'importation et la construction de projets de 60 minutes à 30 minutes, et ce sont des chiffres encore plus élevés.

Chez Droptica, nous utilisons actuellement deux types d'ordinateurs portables :

  1. Macbook Pro 14 (actuellement le dernier processeur est M3 Pro ou M3 Max) avec 32/36 Go de RAM,
  2. HP Elitebook (actuellement la dernière série est G11) avec 32 Go de RAM et un processeur AMD.

Les développeurs de notre entreprise peuvent choisir s'ils préfèrent travailler sur macOS ou Ubuntu et obtenir le matériel approprié en fonction de cela.

Chez Droptica, les développeurs utilisent actuellement deux types d'ordinateurs portables - un Macbook Pro 14 et un HP Elitebook.


Dans le cas du HP Elitebook, nous recommandons le processeur AMD, car il chauffe moins que l'Intel. Les ventilateurs ne sont pas trop bruyants, et vous pouvez fonctionner longtemps sur batterie seule (nos tests donnent 5-8 heures sur le seul portable).

En plus de l'ordinateur portable, nous utilisons des moniteurs supplémentaires – deux moniteurs full HD ou un plus grand (27 pouces 4K ou 34 pouces ultralarge).

Dans notre système intranet, nous notons le score Geekbench Multicore pour chaque ordinateur portable répertorié dans l'inventaire matériel. Nous vérifions régulièrement quels ordinateurs portables ont le score le plus bas et les changeons pour des modèles plus récents.

Une source unique de vérité pour optimiser la communication

De nos jours, le modèle de travail hybride ou à distance est standard dans de nombreuses organisations. Les entreprises disposent de nombreux outils de communication en ligne et les utilisent. Parfois, cependant, il y en a tellement (email, système de gestion de projet, messagerie texte, messagerie vidéo, documents en ligne, etc.) que les informations sont dispersées dans trop d'endroits, et il est difficile de se rappeler ce qui a été enregistré et corrigé où.

C'est pourquoi il est essentiel de spécifier un canal principal de communication pendant un projet. Ce canal devrait fournir des informations générales sur l'état du projet et des informations détaillées sur chaque tâche en cours. Chez Droptica, cet endroit est Jira.

Si nous établissons quelque chose lors d'un appel vidéo, un email ou un Slack, c'est toujours finalement reflété plus tard sous la forme d'une tâche dans Jira. Une fois qu'une tâche associée à une action à réaliser est dans le système Jira, c'est là que nous gardons toutes les discussions connexes. Cela s'applique également à la communication avec le client.

Désigner un système de communication principal et des systèmes auxiliaires aide à contrôler le chaos de la communication. Dans une situation où, par exemple, quatre personnes sont du côté Droptica, et trois personnes sont du côté du client dans un projet, la communication devient très occupée. 

Gestion de projet dans Jira pour garder tout sous contrôle

Chez Droptica, nous avons choisi Jira pour la gestion de projet pour deux raisons :

1. C'est un système familier pour beaucoup de nos clients.
2. Il y a de nombreuses options pour personnaliser Jira afin de répondre aux besoins d'une entreprise ou d'un projet particulier.

Re 1.

Nous exécutons les projets dans Jira, et là, nous invitons nos clients à voir exactement ce qui se passe pendant le projet. Nous organisons notre travail de manière à ce qu'il soit toujours transparent (ce que nous faisons et qui travaille spécifiquement sur les tâches). Si le client connaît déjà le système, il n'est pas nécessaire de l'éduquer sur le fonctionnement de l'outil. Cela réduit notre temps au début d'un projet et est une grande aide pour les clients lorsqu'ils entendent qu'ils peuvent communiquer avec nous dans Jira.

Re 2.

Jira offre une énorme quantité d'options de configuration. À mon avis, le numéro un est JQL, un langage de requête qui récupère les tâches de la base de données Jira. Les requêtes JQL peuvent être enregistrées sous forme de filtres et utilisées plus tard, créant des tableaux de bord ou des tableaux dédiés dans le projet.

Structure du projet dans Jira

Nous divisons les projets dans Jira de plusieurs manières. Chaque projet est attribué à un client, et le nom du projet inclut le nom du client, tel que "[Acme] Système intranet" ou "[Droptica] Marketing." Comme vous pouvez le voir, nous avons également des projets internes. Toutes les activités chez Droptica sont organisées autour de projets dans Jira.

Une telle dénomination facilite la navigation dans la liste des projets et la recherche de projets attribués à un client particulier (souvent, nos clients mettent en œuvre plusieurs systèmes web avec nous, et chacun a son projet dans Jira).

Flux de travail dans le backlog

Par défaut, un projet dans Jira a des tâches dans un sprint ouvert et un backlog. Dans la section Backlog, vous pouvez créer des sprints futurs et planifier des tâches. Nous utilisons cette fonctionnalité pour diviser les tâches en plusieurs groupes afin de mieux planifier les futurs sprints. Nous avons cette division dans la plupart des projets et également dans les activités internes.

Sections dans le backlog dans Jira:

  • Prêt à démarrer / estimé - les tâches ici ont une description entièrement préparée et une estimation du temps. Toutes les tâches qui entrent dans un sprint doivent avoir un temps d'achèvement évalué afin de bien planifier combien de tâches nous pouvons inclure dans le sprint.
  • Plus d'informations nécessaires - ici, nous avons des tâches dont la description n'est pas complète, et des questions supplémentaires doivent être répondues pour comprendre ce qui doit être fait et estimer le temps correctement.
  • À estimer - dans cette section se trouvent des tâches que l'équipe de projet devrait évaluer ou poser des questions supplémentaires et déplacer vers la section "Plus d'informations nécessaires".
  • Icebox - c'est ici que nous gardons les tâches que nous ne voulons pas faire pour le moment, mais nous y reviendrons peut-être à l'avenir.
  • Backlog - cette section est traitée comme une boîte de réception, et nous essayons de la nettoyer régulièrement (de préférence une fois par jour), en transférant les tâches vers l'une des autres sections.
Les sections dans le backlog de Jira, un système de gestion de projet, facilitent la planification des tâches dans les sprints.


Tableaux de bord dans Jira

Chaque Chef de projet a entre 10 et 20 projets clients sous son égide. Par projet ici, nous entendons à la fois des projets mis en œuvre par une équipe à temps plein et des projets de maintenance où le client dispose d'un forfait mensuel d'heures (par exemple, 40 heures). 

Nous utilisons principalement deux types de tableaux de bord chez Droptica:

1. Tableau de bord par chef de projet: sur un tableau de bord, nous collectons des informations de tous leurs projets.
2. Tableau de bord par projet: sur un tableau de bord, nous collectons des informations uniquement d'un projet particulier.

Le but des tableaux de bord est de récupérer rapidement des informations :

  • Quelles tâches devraient être mises en œuvre ensuite ?
  • Quelles tâches doivent être analysées et estimées (backlog) ?
  • Y a-t-il des tâches qui dépassent le temps par rapport à l'estimation ?
  • Y a-t-il des tâches qui durent trop longtemps (au-delà de la date d'échéance spécifiée dans la tâche) ?
  • Graphique d'avancement pour vérifier si l'exécution des tâches se déroule conformément au plan.

En fonction du chef de projet et du projet, ainsi que des spécificités du client, les tableaux de bord sont enrichis d'informations supplémentaires. Vous pouvez trouver des exemples de tableaux de bord à la fin de cet article.

Tableaux dans un projet dans Jira

Les tableaux par défaut dans un projet dans Jira montrent les tâches groupées par affectation aux personnes. En fonction du projet, nous modifions ce paramètre et organisons le plus souvent les tâches selon cet ordre :

  • P1 - erreurs critiques de type P1
  • En retard - tâches avec une date d'achèvement dépassée
  • Priorité la plus élevée - tâches avec la priorité la plus élevée
  • Grande priorité - tâches avec une grande priorité
  • Créé il y a X+ jours - tâches créées il y a X jours (définissez la valeur en fonction du projet, par exemple pour 15, 30, 60 jours)
  • Priorité moyenne
  • Basse priorité
  • Priorité la plus basse

Une telle division permet à toute l'équipe de voir ce qui est actuellement le plus important à faire dans le projet et sur quoi l'équipe doit se concentrer. Le chef de projet n'a pas à expliquer les priorités. Tout est visible sur le tableau dans Jira.

Plugins pour Jira

Les deux principaux plugins que nous avons installés dans Jira sont :

  • Timesheets Tempo - principalement pour visualiser et créer des rapports liés aux heures de travail enregistrées.
  • Activity Timeline - pour planifier le travail de l'équipe pour les jours et semaines à venir.

Nous avons aussi une application personnalisée écrite en Symfony. Vous pouvez trouver une description de sa fonctionnalité dans la boîte à outils à la fin de l'article.

"Inbox Zero" dans la boîte aux lettres réduit le temps de gestion des emails

Comme dans Jira, nous avons également défini un moyen de gérer les emails dans la boîte aux lettres. Nous visons un état "Inbox Zero".

Nous trions les emails entrants en 3 dossiers :

  • 01 Action nécessaire - ici se trouvent les emails qui nécessitent une réponse, mais cela prendra plus de 2 minutes;
  • 02 En attente de - ici se trouvent les emails pour lesquels nous attendons une réponse de quelqu'un;
  • 03 Un jour - ici se trouvent les emails à faire "un jour," des tâches non urgentes.

Nous utilisons également des filtres pour classer automatiquement les emails. Les filtres les plus courants sont :

  • Par client - pour avoir tous les emails d'un client donné au même endroit.
  • Notifications de Jira.
  • Notifications de calendrier (par exemple, quelqu'un a confirmé sa présence à une réunion).
  • Emails où nous sommes dans le champ CC ou BCC.
  • Emails vers des adresses email générales (par exemple, vers [email protected]).

Les filtres et "Inbox Zero" nous permettent de gérer les emails de manière plus efficace et rapide.

Slack - un centre pour une communication rapide en télétravail

Nous avons choisi Slack comme centre de notre communication textuelle peu après sa sortie. Avant cela, nous utilisions l'application maintenant disparue HipChat de Atlassian.

Slack était, d'une part, une simple application de communication textuelle (si vous vous souvenez d'IRC, le concept général de canaux et de messagerie privée est similaire ici). D'autre part, il était plus joli, plus agréable à utiliser, et avait la capacité d'ajouter des intégrations, dont le nombre augmentait régulièrement.

Aujourd'hui, nous ne pouvons pas imaginer notre travail au quotidien sans utiliser Slack. Il nous sert non seulement pour la communication concernant les projets clients. C'est également le principal moyen de communication pour les projets internes, ainsi que pour les conversations non liées au travail (par exemple, pour discuter de séries, de voitures, d'électronique, etc.).

Slack a des intégrations avec de nombreuses applications tierces dans notre entreprise, de sorte que nous pouvons recevoir des notifications importantes dans le messager. Voir les détails à la fin de l'article.

Une communication parfaite ne peut se faire sans un appel vidéo - Google Meet

Nous utilisons Google Meet pour les appels vidéo. Nous avons une règle selon laquelle chaque réunion doit se dérouler avec la caméra allumée. Lorsqu'on travaille dans une équipe répartie, cela permet à ses membres de mieux s'entendre et de travailler plus efficacement.

Pour la plupart des projets, nous avons des appels vidéo tous les jours. Ce sont généralement de courtes réunions de 5-15 minutes. Pour les réunions plus longues, nous utilisons souvent l'application tldv.io, qui crée des notes textuelles de la réunion pour nous plus tard.

Google Workspace complète parfaitement les autres outils

Au travail, nous utilisons la suite Google Workspace. En plus de Gmail et Google Meet, nous utilisons également au quotidien des documents texte et des feuilles de calcul de la suite de Google.

Nous avons préparé un certain nombre de modèles de documents utilisés pour le travail de projet, notamment :

  • Estimations de projet (temps, coût, ressources, calendrier);
  • Contrôle du budget du projet;
  • Ordre du jour et notes de réunion;
  • Définition de Terminé, Contrat social;
  • Documents PDCA pour les projets, les équipes et l'entreprise (planification et contrôle des objectifs).

Nous avons beaucoup plus de modèles. Nous les améliorons également régulièrement, car ils organisent notre travail et réduisent le temps nécessaire pour accomplir les tâches.

Créez du code rapidement avec de bons outils

Le développement de code est la tâche qui prend le plus de temps dans notre entreprise, donc les améliorations ici affectent la quantité et la qualité du code que nous livrons aux clients. L'outil principal pour le développement de code est un IDE/éditeur de texte. Chez Droptica, la plupart des gens utilisent PHPStorm, et certains utilisent Visual Studio Code. Nous avons une liste de plugins et d'extensions recommandés pour les deux applications qui rendent le développement de code encore plus efficace. Vous trouverez un résumé à la fin de l'article.

Depuis le début de la création de Github Copilot, nous l'utilisons régulièrement pour nous aider à créer du code. Selon nos estimations, l'outil accélère le travail de 20 à 40% selon le projet et le type d'application à réaliser.

Nous avons également un référentiel de modules et de classes universels qui peuvent être utilisés dans de nombreux projets. Ce référentiel est en constante croissance, rendant le développement de plus d'applications plus rapide et moins cher pour nos clients.

Un grand nombre de préfabriqués est notre projet open source Droopler - un constructeur de sites convivial pour le référencement. Nous l'utilisons comme point de départ pour la plupart des projets de sites web d'entreprise. Cela nous fait gagner des centaines d'heures de travail et offre aux clients un bien meilleur rapport qualité-prix que de tout construire à partir de zéro. 

Nous utilisons également d'autres solutions prêtes à l'emploi (appelées distributions Drupal), en fonction des besoins du client. Pour les éditeurs et les médias, nous utilisons Thunder CMS, pour les intranets et les communautés en ligne, nous utilisons OpenSocial, et pour les systèmes de commerce électronique, nous utilisons Drupal CommerceSylius ou Magento, en adaptant la plateforme au cas spécifique.

Nous utilisons DDEV pour travailler localement. Cet outil en développement rapide permet au développeur de se concentrer sur la création de code plutôt que sur les problèmes de déploiement du projet localement. Commencer un projet ou ajouter un nouveau développeur à un projet prend très peu de temps. Sans DDEV, nous perdions beaucoup de temps sur des tâches non programmatiques.

Turbo-drupal est une autre amélioration qui réduit le temps des développeurs. C'est un point de départ pour les nouveaux projets sur Drupal, qui dispose de DDEV, d'outils pour la vérification automatique du code, de mises à jour automatiques vers Drupal et les modules, et d'une intégration avec Platform.sh.

Platform.sh est notre plate-forme d'hébergement principale. Ce n'est pas seulement un hébergement simple mais une véritable plateforme avec d'énormes options de configuration, la possibilité d'ajouter plusieurs instances, la gestion depuis la console (CLI) et de nombreuses autres options. Passer à Platform.sh a été une autre amélioration qui a réduit le temps que nous passons sur le développement d'applications.

Découvrez la liste complète des outils de développement de sites web utilisés chez Droptica

En plus de cet article, nous avons préparé un diagramme avec une liste complète des outils que nous utilisons actuellement chez Droptica pour le développement web. Nous avons inclus des plugins pour PHPStorm et Visual Studio Code, des tableaux de bord Jira de l'échantillon, des JQL d'exemple dans Jira pour les tableaux de bord et les tableaux, et un exemple de document PDCA.

Une bannière vous encourageant à découvrir tous les outils qui facilitent le développement web sur le diagramme.


Remplissez le formulaire de contact pour recevoir un email avec un lien vers un diagramme et une liste d'outils pour aider à améliorer les processus de votre entreprise.

 

Outils de développement de sites web - résumé

Notre ensemble d'applications et de processus change régulièrement. La liste des solutions que nous utilisons aujourd'hui sera probablement différente dans un an, car nous développons et recherchons constamment de nouvelles améliorations. Cependant, sur la base de plus de dix ans d'expérience, nous avons déjà développé des outils et des processus qui éliminent les problèmes potentiels dans la création d'applications web et réduisent leur délai de livraison. Nous les partageons ci-dessus.

Il vaut vraiment la peine de tester et d'expérimenter au sein de votre organisation - en vérifiant ce qui fonctionne et ce qui ne fonctionne pas du tout. Chez Droptica, nous avons l'expérience de collaboration avec des agences numériques, nous pouvons donc vous aider à choisir les bonnes solutions. Et si vous utilisez un logiciel et un matériel spécifiques dans votre organisation, n'hésitez pas à partager vos kits d'outils ou processus dans nos publications sur les réseaux sociaux (sur Facebook, Linkedin ou X) à propos de cet article.  Cela sera certainement utile à d'autres lecteurs.

-