Pour les développeurs, l’époque faste où ils pouvaient se cacher derrière plusieurs écrans et des murs de code impénétrables est révolue. Aujourd’hui, vous devrez travailler en étroite collaboration avec des concepteurs, des gestionnaires de produits et d’autres parties prenantes pour atteindre un objectif commun dans le cadre d’un projet donné.

Travailler efficacement avec les concepteurs peut poser des problèmes particuliers aux développeurs, car les deux disciplines ont toujours été considérées comme distinctes. Mais ce n’est de plus en plus le cas. En tant que développeur, on attendra de vous que vous puissiez contribuer de manière significative aux conversations où le design est une considération clé, et que vous travailliez main dans la main avec les designers à toutes les étapes d’un projet.

Dans cet article, nous allons examiner 11 conseils de bon sens que les développeurs peuvent adopter pour rendre leurs interactions avec les concepteurs plus productives, plus agréables et plus gratifiantes pour toutes les parties concernées.

Commençons par examiner les raisons pour lesquelles les concepteurs et les développeurs collaborent plus étroitement que jamais.

Le clivage développeur/concepteur devient de plus en plus archaïque

Historiquement, la ligne de démarcation entre développeurs et concepteurs était assez rigide. On partait du principe que les gens étaient d’un côté ou de l’autre de la barrière et que les deux ne se rencontreraient jamais.

L’idée qu’une personne puisse être à la fois un concepteur et un développeur compétent était si farfelue que les rares personnes capables de faire les deux étaient ouvertement qualifiées de licornes.

De nos jours, la situation est très différente. En particulier dans le contexte du développement Web frontal, on attend de plus en plus de vous que vous maîtrisiez au moins les aspects clés des deux disciplines en tant que professionnel dans l’un ou l’autre contexte.

En tant que média axé sur le code, une grande partie de la pression exercée au début pour élargir les compétences en ligne était dirigée vers les concepteurs. Alors que les concepteurs ont admirablement amélioré leur jeu en réponse à cette pression, la situation est de plus en plus inversée : on attend des développeurs qu’ils aient des compétences visuelles et qu’ils intègrent systématiquement les préoccupations de conception dans leur code.

Dans le contexte du développement web moderne, la compétence cruciale à maîtriser est vraiment la résolution de problèmes – une préoccupation qui est au cœur de la conception et du développement. Bien que les compétences de base soient naturellement différentes, les développeurs et les concepteurs recherchent en fin de compte les mêmes choses.

Developer and designer overlap.

Comme le souligne Diogenes Brito, les développeurs et les concepteurs partagent de nombreuses préoccupations.

Au cours de nos 11 conseils, nous examinerons des suggestions générales et spécifiques à un projet, afin de vous aider à collaborer plus efficacement avec les concepteurs pour atteindre vos objectifs communs.

C’est parti !

1. Apprenez les concepts de base de la conception visuelle

En tant que développeur, vous avez naturellement l’habitude d’utiliser un vocabulaire et un ensemble de concepts spécialisés. Si la communication avec d’autres développeurs est relativement simple, c’est en partie parce que vous disposez d’un ensemble commun de termes, d’hypothèses et d’expériences sur lesquels vous pouvez vous appuyer pour mener rapidement des discussions sur des sujets complexes.

La conception visuelle possède son propre ensemble de principes, de techniques et de vocabulaire de base que les concepteurs utilisent pour faire plus ou moins la même chose. Un petit effort supplémentaire pour se familiariser avec ces éléments élargira radicalement votre vision du monde en termes de techniques de résolution de problèmes et facilitera considérablement la collaboration avec les concepteurs.

Commencez par vous procurer un bon guide général de la conception visuelle destiné à un public profane Le livre de design du non-designer l’ouvrage de Robin Williams est largement considéré comme la meilleure option dans ce domaine Les éléments du design graphique d’Alex White et Design Elements : Un manuel de style graphique de Timothy Samara sont tous deux de bonnes lectures complémentaires.

Learn typographic basics.

Apprenez les bases de la typographie en dix minutes grâce à Butterick’s Practical Typography.

Lorsque vous aurez assimilé l’essentiel de ce qui constitue la pratique de la conception visuelle, accordez une attention particulière aux domaines suivants :

  • La typographie : En tant que développeur, vous devez vous habituer à l’idée que le traitement du texte n’est pas simplement une question de choix de police et de taille de police pour votre IDE préféré – il est au cœur même d’une communication visuelle efficace. Une lecture rapide de l’ouvrage Practical Typography de Butterick ou la lecture de l’ouvrage Ne volez plus de moutons d’Erik Spiekermann, vous aideront à vous mettre à niveau.
  • Principes de base de la conception : Tout comme la programmation, la conception visuelle possède son propre ensemble de principes fondamentaux. En vous familiarisant avec des concepts de base tels que la proximité, l’alignement, la répétition, le contraste et l’utilisation des espaces blancs, vous découvrirez les éléments fondamentaux d’un design efficace.
  • La théorie des couleurs : Certains aspects de l’utilisation des couleurs peuvent être subjectifs, mais il existe une véritable théorie derrière l’utilisation des couleurs en général que les développeurs feraient bien de prendre en compte.
  • Conception UX : L’expérience de l’utilisateur est la pierre angulaire de la conception en ligne. L’examen des principes fondamentaux dans le cadre d’un cours tel que UX Apprentice sera payant à terme.

2. Considérez les avantages du travail en binôme avec un designer

Que cela fasse partie ou non de votre flux de travail hebdomadaire, vous avez très certainement rencontré la pratique de la programmation en binôme en tant que développeur.

Ce n’est pas nécessairement la solution miracle revendiquée par certains, mais les avantages de la programmation en binôme sont nombreux : c’est un moyen incroyablement rapide de transmettre des connaissances au sein d’une équipe, d’accroître la discipline de codage et d’améliorer la qualité générale du code.

Si vous en avez l’occasion, vous devriez essayer d’organiser des sessions de programmation en binôme avec un concepteur, idéalement dans les deux sens. La raison principale en est que, trop souvent, les concepteurs et les développeurs n’ont littéralement aucune idée de la façon dont les uns et les autres effectuent leur travail.

https://www.youtube.com/watch?v=zOPA0NaeTBk

Observer un bon concepteur au travail vous donnera un nouvel aperçu des problèmes qu’il tente de résoudre. D’un autre côté, le fait de devoir expliquer votre propre processus à un designer vous fera prendre conscience des aspects du développement qui ont tendance à être complètement opaques pour les designers.

Si vous pouvez intégrer ce type de jumelage (en termes de budget, de disponibilité et de délais généraux) dans un projet réel, c’est encore mieux. Mais cela vaut la peine de trouver un concepteur sympathique avec qui tester cette méthode sur votre temps libre – le gain en termes de capacité à communiquer efficacement sur des projets futurs en vaut largement la peine.

3. Comprenez le rôle du design dans votre projet

Lorsque vous vous lancez dans un projet en tant que développeur, votre attention se concentre naturellement sur l’élaboration du cadre de développement global que vous allez utiliser et sur la résolution d’un maximum de détails techniques à l’avance.

Pour garantir une communication efficace – et vous épargner bien des tracas par la suite – assurez-vous de comprendre le rôle de la conception dans votre projet particulier. À ce stade, vous vous dites peut-être que c’est le problème du concepteur En général, c’est le cas, mais cela finira par avoir un impact très direct sur votre travail.

La conception, comme le développement, est un terme fourre-tout et sa mise en œuvre effective peut être abordée d’innombrables façons. En comprenant clairement comment elle est abordée dans votre projet, vous pourrez déterminer la nature de votre interaction avec l’équipe de conception.

Approach to design on projects varies wildly.

L’approche du design sur les projets varie énormément, assurez-vous de comprendre le contexte dans lequel vous codez.

Si le design est considéré comme une approche intégrative de la résolution de problèmes, vous travaillerez directement avec des concepteurs visuels et UI/UX, vous devrez apporter vos idées et itérer rapidement sur des prototypes dans un cadre collaboratif.

Si le design est simplement considéré comme la cerise visuelle sur le gâteau, on vous remettra probablement une sorte de design prétendument fini et on vous dira de le faire fonctionner.

Comprendre le rôle du design dans votre projet vous permet de repérer les problèmes à l’avance et de les éviter ou d’apprendre à vivre avec. Cela vous permet également de définir clairement vos attentes lorsque vous communiquez avec les concepteurs.

4. Définissez clairement les contraintes dès le départ

En tant que développeur professionnel traitant avec d’autres membres de l’équipe qui n’ont peut-être pas l’étendue de votre expertise technique, votre responsabilité est de communiquer les contraintes clairement et rapidement. Lorsque vous êtes confronté aux suggestions des concepteurs, il vous incombe d’expliquer la nature de la contrainte, plutôt que de vous contenter de dire que quelque chose ne se produira jamais pour des raisons techniques obscures.

Comme le montre la vidéo ci-dessous, les concepteurs ne sont pas étrangers aux contraintes dans leur propre travail. Vous devriez donc prêcher pour la chorale si vous prenez le temps d’expliquer succinctement les problèmes sous-jacents.

Comme pour la plupart de nos points, il s’agit ici d’une question de communication. Vous devez décrire les obstacles potentiels dès le début du projet, et non les sortir d’un chapeau deux semaines avant le lancement.

De même, ne tombez pas dans le piège de la pression pour dire oui à des fonctionnalités ou des changements que vous n’avez pas eu l’occasion d’examiner correctement sur le plan technique. Restez sur vos positions, évaluez les éléments en fonction de leurs mérites réels et repoussez rapidement les propositions qui ne sont pas viables.

Cette approche peut provoquer quelques frictions initiales avec les concepteurs et les chefs de produit au début d’un projet, mais elle vous évitera bien des désagréments par la suite.

5. Clarifiez votre flux de travail

Tout comme vous êtes tenu de communiquer les contraintes de manière précoce et efficace, vous êtes également tenu de rendre votre flux de travail clair comme de l’eau de roche pour les concepteurs.

Des phases entières du travail de développement sont souvent totalement invisibles pour les concepteurs. La spécification, les tests, la correction des bogues et la documentation ne sont que quelques-uns des domaines de travail que la plupart des non-développeurs ont tendance à ignorer.

Quel que soit votre degré d’agilité ou votre engagement envers le développement continu, un développeur ne peut pas se transformer en un clin d’œil.

En précisant dès le départ votre flux de travail aux concepteurs (et aux autres membres du projet), vous établissez des limites et des attentes claires quant à la manière dont le travail sera accompli et, en particulier, à la manière dont les modifications seront traitées.

6. Soyez prêt à enseigner

Dans le prolongement du point précédent, vous devez toujours être prêt à aller plus loin et à expliquer le contexte (technique ou autre) de ce que vous faites.

Cela peut être frustrant lorsque vous essayez de vous asseoir et de vous concentrer sur la résolution d’un problème, mais si vous ne le faites pas, vous risquez de susciter le ressentiment et le manque de coopération des concepteurs.

Nous ne disons pas que vous devez organiser des séminaires sur les bases du développement frontal avec les concepteurs, mais vous devez au moins être prêt à décomposer les questions techniques pour eux d’une manière qui permet une meilleure compréhension. Vous devriez également attendre la même faveur en retour de la part de tout concepteur avec lequel vous traitez.

7. N’ayez pas peur de communiquer visuellement

Si le développement est votre pain et votre beurre, l’idée de sortir un croquis rapide pour expliquer un concept n’est peut-être pas la plus naturelle.

Lorsque vous essayez de résoudre un problème avec un designer dans le cadre d’un projet, ne vous rabattez pas instantanément sur le langage technique et les concepts qui vous sont familiers – soyez prêt à communiquer visuellement, même si vos compétences ne sont pas optimales.

Protoyping tools like Balsamiq enable you to get visual concepts across quickly.

Les outils de prototypage comme Balsamiq vous permettent de faire passer rapidement des concepts visuels.

Rares sont les personnes qui ne savent pas dessiner un rectangle et un ensemble de formes primitives est souvent tout ce dont vous avez besoin pour esquisser rapidement des prototypes, des idées ou des changements potentiels. Si vous n’avez vraiment pas envie de prendre un stylo et du papier, il existe un grand nombre d’outils de prototypage intuitifs sur lesquels vous pouvez vous appuyer pour faire passer votre message aux concepteurs.

8. Travaillez avec des échantillons de données significatifs

Les développeurs se plaignent souvent du fait que les concepteurs ont tendance à créer de jolies maquettes avec des données sans intérêt, puis à les envoyer par-dessus la barrière en espérant que les développeurs feront en sorte que tout fonctionne comme par magie.

Il s’agit, il est vrai, d’un état de fait peu souhaitable. Toutes sortes de problèmes de mise en œuvre épineux et de cas limites peuvent se cacher derrière des champs de formulaires fictifs d’apparence inoffensive et des surfaces Photoshop brillantes. Un point essentiel à souligner ici est que les données sont le domaine du développeur.

Fancy mockups only go so far without realistic sample data.

Les maquettes fantaisistes ne vont pas plus loin que les échantillons de données réalistes.

C’est à lui qu’il incombe d’insister sur l’utilisation d’échantillons de données significatifs dans le cadre du processus de conception. Oui, dans un monde parfait, les concepteurs, les chefs de produit et les parties prenantes comprendraient tous instinctivement l’importance de cette démarche. Malheureusement, nous ne vivons pas dans un monde parfait.

En tant que développeur, vous devriez vous impliquer activement dans la phase de conception du projet, suffisamment tôt pour vous assurer que la question de l’échantillon de données a été abordée – et être heureux de contribuer à la définition de ces données. Lever les mains en signe d’horreur devant ce qu’on vous donne n’est pas une solution, vous devez être plus proactif.

9. Montrez votre travail

Que vous adhériez ou non aux principes du mouvement Agile, c’est une excellente idée, en tant que développeur, de vous engager à faire régulièrement des démonstrations de votre travail en cours aux concepteurs et aux autres parties prenantes du projet.

La situation que vous essayez d’éviter est le scénario classique qui consiste à disparaître dans votre caverne de programmation pendant des semaines ou des mois, puis à faire une grande révélation unique sur un projet qui est presque sûr de décevoir.

Git is your friend when it comes to showing your work.

Git est votre ami lorsqu’il s’agit de montrer votre travail.

Les outils modernes tels que Git permettent de partager et de présenter des versions de votre travail en cours en toute simplicité – il n’y a vraiment aucune excuse pour ne pas le faire de nos jours.

En vous engageant à organiser des cycles réguliers de feedback itératif entre les équipes de conception et de développement, vous gardez les attentes claires et pouvez réagir calmement aux problèmes ou aux changements de direction du projet.

10. Ne vous conformez pas aux stéréotypes

Même dans le monde du développement, des stéréotypes sont en jeu. La communauté Ruby a acquis au fil des ans une certaine réputation de dramaturgie, tout comme WordPress ces derniers temps. Les programmeurs PHP sont régulièrement critiqués pour leur incompétence chronique présumée et leur codage de cow-boy. Les programmeurs Lisp sont caricaturés comme des bricoleurs distants et peu pratiques qui pensent que tous les autres langages sont indignes d’eux.

Aucune de ces choses n’est vraie dans un sens généralement applicable, mais ces idées persistent néanmoins. De même, les développeurs ont leur propre série de stéréotypes sur d’autres domaines d’expertise.

Plutôt que de ressasser les divers stéréotypes que les développeurs et les concepteurs peuvent avoir en tête les uns à propos des autres, disons simplement que vous devriez faire tout votre possible pour ne pas correspondre aux versions caricaturales des développeurs qui existent dans le monde.

11. N’oubliez pas que vos objectifs ne sont pas les seuls objectifs

Notre dernier point est particulièrement critique et se résume peut-être par la réponse probablement apocryphe d’un développeur à un chef de projet qui lui demandait des performances plus rapides : Si ça n’a pas besoin de fonctionner, je peux le faire aller aussi vite que vous le souhaitez.

Le développement est une activité terriblement orientée vers les détails et il est trop facile d’oublier que vos préoccupations, problèmes ou objectifs particuliers ne sont pas nécessairement les plus importants pour le projet dans son ensemble.

Il est particulièrement important de garder cela à l’esprit lorsque vous traitez avec des concepteurs, car vos priorités respectives peuvent être radicalement opposées à première vue. Comme nous l’avons mentionné plus haut, le fait de maîtriser les bases de l’UX vous permettra de mieux appréhender les différents points de vue.

https://www.youtube.com/watch?v=videoseries

Gardez toujours à l’esprit que la seule opinion qui compte vraiment est celle de l’utilisateur final.

Il y aura des moments où vous devrez faire des économies, sacrifier les performances ou compliquer votre code d’une manière qui n’est pas particulièrement agréable. Cela fait partie de la vie dans le monde réel et vous devez apprendre à l’accepter plutôt qu’à le rejeter instantanément – dans certaines limites, bien sûr !

Ressources supplémentaires

La prise en compte de quelques-uns des points ci-dessus fera de vous un meilleur membre d’équipe en tant que développeur, facilitera vos interactions avec les concepteurs et augmentera généralement votre capacité d’embauche.

Si vous souhaitez approfondir le monde de la conception, les ressources suivantes valent toutes la peine d’être consultées :

  • Ryan Singer sur le design : En tant que concepteur principal de Basecamp, Ryan Singer expose en ligne, de manière articulée, son processus de conception technique depuis plus de dix ans. Si vous recherchez des analyses de haut niveau d’un designer de classe mondiale au travail, consultez la collection de ressources sur son site Felt Presence.
  • Mike Monteiro sur le design : Très présent sur les médias sociaux, Mike Monteiro est incollable sur le sujet général du design en tant que discipline de résolution de problèmes. Ses livres Le design est un métier et Vous êtes mon client préféré sont des lectures incontournables pour les concepteurs comme pour les développeurs.
  • Lynda.com : Pour quelques centimes par jour, des sites tels que Lynda.com vous donnent accès à un monde de cours de design dispensés par des experts qui peuvent vous aider à vous libérer des contraintes liées à la compréhension et à la pratique du design. Des cours tels que Meilleures pratiques de conception graphique et Principes universels de conception changeront votre façon de voir le monde.
  • Creative Bloq : un coup d’œil occasionnel sur des sites tels que Creative Bloq vous permettra de vous tenir au courant des questions relatives au monde du design en général. Si vous cherchez quelque chose qui vous rende aussi dépendant que Hacker News, Sidebar et Designer News valent tous deux le détour.

Conclusion

Les développeurs et les concepteurs sont traditionnellement décrits comme opérant de deux côtés différents de la barrière, mais ces divisions artificielles s’estompent d’année en année.

L’avenir de la production de logiciels – sur WordPress et au-delà – est un avenir de collaboration, axé principalement sur la résolution des problèmes des utilisateurs en équipe. Notre collection de 11 conseils vous aidera à collaborer efficacement avec les concepteurs pour mener à bien cette tâche.

Les 11 conseils que nous avons identifiés sont chacun précieux en soi, mais se résument finalement à deux choses :

  1. En tant que développeur, prenez le temps de comprendre le monde du design et vos capacités de résolution de problèmes monteront en flèche.
  2. Efforcez-vous constamment d’être ouvert dans votre communication sur les projets individuels.

Nous aimerions connaître votre avis. Y a-t-il des conseils pour travailler efficacement avec les designers que nous avons oubliés ? Contactez-nous dans les commentaires et faites-nous en part !