Créer une équipe de développement Shopify en interne

Shopify · 11 min de lecture

Jerry Abrahamson

Jerry Abrahamson

Fondateur et CEO • 25 octobre 2021

Créer une équipe de développement Shopify en interne

Toute entreprise qui se lance dans l’e-commerce finit par choisir entre externaliser le développement et le conserver en interne.

Les dirigeants doivent prendre cette décision au sérieux : elle influence fortement la réussite ou l’échec. Certains préfèrent une équipe dédiée disponible selon les besoins ; d’autres estiment que les avantages de l’externalisation dépassent largement ses inconvénients.

AVANTAGES ET INCONVÉNIENTS D’UNE ÉQUIPE INTERNE

Voici les points à examiner avant de constituer votre équipe.

Avantages

  • Réactivité : une équipe présente peut atteindre rapidement les objectifs et corriger les problèmes urgents avant une enquête complète. Elle traite les petits soucis avant qu’ils ne deviennent importants, sans attendre une équipe externe occupée ou qu’il faut d’abord trouver.
  • Communication facilitée : dans le même bureau ou bâtiment, les échanges en personne transmettent votre culture et vos exigences précises. Cette communication directe, que seule une équipe interne permet, évite des erreurs et retours en arrière coûteux.
  • Contrôle total : une équipe consacrée uniquement à vos besoins construit selon vos spécifications. Les exigences sont traitées immédiatement avec des modifications concrètes guidées par votre stratégie. Vous maîtrisez tous les aspects pour obtenir le résultat attendu.
  • Être son seul client peut potentiellement améliorer l’efficacité.
  • Selon votre fonctionnement et le volume de travail ou de projets, une équipe interne peut coûter moins cher.

Inconvénients

  • Rotation du personnel : la plupart des développeurs restent peu longtemps dans la même entreprise, phénomène connu du secteur. La forte demande pousse les concurrents à solliciter les meilleurs. Attendez-vous à des interruptions liées aux départs et arrivées. Recruter prend du temps et perdre quelqu’un au moment critique coûte cher. Recherche, évaluation, recrutement et intégration doivent être comptabilisés.
  • Coût plus élevé : une équipe à temps plein consacrée à votre entreprise coûte cher, surtout pour une petite structure. Les développeurs qualifiés peuvent obtenir de bons salaires ailleurs. Les engager exclusivement à rémunération fixe est un luxe accessible à peu d’entreprises. Il faut satisfaire leurs attentes pour éviter les départs.
  • Temps peu efficient : des salariés à temps plein ne travaillent pas chaque minute sur des projets de haut niveau. Les pauses sont normales, mais plus difficiles à accepter avec des salaires experts. Vous payez les tâches grandes et petites, mais aussi le temps passé hors du bureau.
  • Une petite équipe interne ne bénéficie pas de l’apprentissage collectif d’une grande agence.
  • Il est plus difficile d’instaurer une culture valorisant la performance, l’accessibilité et d’autres aspects.
  • Maintenir la qualité du code peut être difficile.

L’un des principaux risques est la baisse de qualité et l’abandon progressif des processus : mises en ligne improvisées, moindre attention aux performances et à l’assurance qualité. Le responsable produit doit superviser la qualité, ou désigner un chef de projet technique compétent pour encadrer l’équipe.

STRUCTURE DE L’ÉQUIPE

Elle varie selon les compétences, la complexité des autres systèmes, du site et du travail d’interface. Commencez par répartir responsabilités et charge selon le backlog et la feuille de route. Plusieurs sites simples avec leurs propres thèmes demandent, par exemple, davantage de travail à un développeur d’interface intermédiaire.

Ne confiez pas tout à une seule personne : le code et les connaissances en dépendraient, et les normes et la qualité risqueraient de baisser. Les demandes de fusion et revues de code limitent cela, mais nécessitent au moins deux développeurs.

Voici une structure utilisée par de nombreuses entreprises technologiques que vous pouvez adopter.

Développeur Shopify principal ou senior

Commencez par un développeur full-stack connaissant Shopify et les grands projets. Cette dernière expérience apporte une approche structurée, des outils modernes et la capacité à créer un processus de développement. Il travaille avec le responsable produit ou chef de projet sur les ressources, déploiements, plans et priorités. Il conçoit aussi l’architecture des intégrations, applications spécifiques et projets complexes.

Développeur d’interface Shopify intermédiaire ou junior

Ce recrutement n’est pas toujours indispensable, car le full-stack peut le faire. Mais la plupart préfèrent un spécialiste des mises en page de haute qualité, fidèles au design. Moins expérimenté dans certains domaines que le senior, il peut traiter le backlog d’interface, les applications et la logique Liquid simple.

Une approche headless modifiera presque certainement les critères, en favorisant une expérience Vue.js ou React.js.

Ressources systèmes

Une équipe dédiée aux autres systèmes internes doit également prendre en charge leurs intégrations.

Quantifiez le travail de chaque domaine avant de décider. Un backlog et une feuille de route à long terme éclairent les ressources nécessaires et leur évolution.

OUTILS ET COMPÉTENCES

Avoir occupé un poste similaire ne garantit pas un excellent travail. Avant de recruter, distinguez les compétences indispensables et celles qui enrichiront l’équipe.

COMPÉTENCES PRIORITAIRES

Syntaxe Liquid

Liquid est le langage de modèles d’interface Shopify qui ajoute de la logique. Cela va de recommandations fondées sur les données à une simple étiquette de promotion dans une liste de produits.

Une personne connaissant Ruby ou JavaScript peut l’apprendre assez facilement en travaillant, mais une bonne maîtrise et de l’expérience permettent de progresser immédiatement sans dégrader le code pendant l’apprentissage.

JavaScript natif

JavaScript joue forcément un rôle : animations, formulaires sans rechargement et autres éléments dynamiques. De nombreuses fonctions clés, dont l’ajout au panier, en dépendent. Une compréhension au moins de sa forme native est essentielle.

HTML5

Il faut maîtriser un balisage de qualité et ses effets sur la performance, le SEO et l’accessibilité, pas seulement l’apparence. Il faut aussi repérer les designs qui empêchent un fonctionnement efficace.

SCSS

Tout développeur d’interface doit connaître ce préprocesseur CSS couramment utilisé pour créer et maintenir les feuilles de style.

AUTRES COMPÉTENCES

Ruby/PHP

Shopify ne nécessite pas vraiment de code, ce qui rend les compétences serveur non essentielles. Elles restent utiles pour des tâches sur les données demandant une application ou un intermédiaire. Mais avec quelques ajustements, des applications couvrent déjà de nombreux besoins comme l’analyse décisionnelle et les échanges avec un ERP.

GraphQL

Outre les applications qui réduisent le besoin de code, Shopify promeut GraphQL comme avenir des API. Ce langage open source de requête et manipulation de données comprend un environnement d’exécution sur les données existantes. Si vous prévoyez des traitements de données ou fonctions serveur, recruter quelqu’un qui le connaît est judicieux.

React/Vue.js

Avant d’internaliser une boutique existante ou à créer, vérifiez si React ou Vue.js ont servi à sa construction. Pour des fonctions plus spécialisées, une bonne connaissance des deux frameworks les plus utilisés peut aussi être utile.

PROCESSUS DE DÉVELOPPEMENT

Après les compétences, organisons le processus dont votre équipe a besoin.

Tests d’assurance qualité

Après sélection d’une tâche dans le backlog et développement, une procédure approfondie doit garantir la qualité de tout ce qui est publié. Commencez par l’automatisation comme première protection. Elle peut prendre ces formes :

  • Les tests par instantanés comparent des portions de l’interface pour détecter les modifications incorrectes après un changement de code.
  • Les demandes de fusion GitHub ou Bitbucket permettent de relire chaque portion de code et de faire des retours avant intégration.
  • Des outils comme Cypresso.io, Jest et Circle génèrent une suite de tests JavaScript lancés à chaque commit et n’autorisant la fusion que si tous réussissent.

Le responsable produit ou chef de projet technique doit être distinct du développeur et vérifier que le résultat correspond au brief. Des tâches mieux décrites nécessitent moins de reprises.

Déploiements

Une procédure précise doit être appliquée systématiquement. Les développeurs issus d’équipes performantes connaissent généralement ces pratiques :

  • Les gros travaux se font isolément sans perturber les autres : c’est le rôle des thèmes dédiés aux fonctionnalités. Documentez-les dans Git pour éviter les problèmes lors de la fusion dans le code principal.
  • Les déploiements doivent respecter des paramètres définis. Le point de vue du responsable produit sera tôt ou tard mis à l’épreuve, mais suivre une procédure est plus sûr pour éviter les catastrophes.
  • Vérifiez toujours le thème de préproduction avant de le publier pour tous.

Gestion des tâches

Plusieurs outils existent ; Trello m’est utile. Vous pouvez en chercher d’autres, mais ils font généralement la même chose.

Chaque tâche commence dans un backlog ordonné servant de feuille de route. Cohérence et transparence sont essentielles. Chaque tâche comporte au moins :

  • Un titre
  • Une description
  • Un critère d’achèvement indiquant ce qui permet de la considérer comme terminée
  • Une échéance
  • Les tâches liées ou dépendantes
  • Une estimation de temps

DERNIÈRES REMARQUES

Le choix est difficile. Certains marchands combinent les deux : une équipe interne gère le quotidien et les projets centraux, tandis que les fonctions complexes sont externalisées.

Ils accèdent ainsi à davantage de talents sans trop de risques et réduisent les coûts fixes. Le choix du bon partenaire reste crucial.

Il n’existe pas de réponse universelle. Ce qui fonctionne pour une entreprise peut échouer ailleurs. Commencez par évaluer vos besoins et ressources.

Jerry Abrahamson

Écrit par

Jerry Abrahamson

Jerry est le fondateur et CEO de Chargezen. Il aide les marques à bâtir des activités omnicanales durables. Fort de plus de 10 ans d’expérience dans le commerce omnicanal et le SaaS, il aime aider les marques à créer des revenus récurrents.

Prêt à faire grandir le chiffre d’affaires de vos abonnements ?

Rejoignez les marques de premier plan qui utilisent Chargezen pour réduire les résiliations, augmenter leur chiffre d’affaires et automatiser leurs opérations.

Commencer
L’espace, à portée de main

Que feriez-vous avec 22 % de ventes en plus ?