Pourquoi rien n'est jamais évident : l'art de la communication dans le développement logiciel

Publié: 2020-10-22

Nous devons tous communiquer les uns avec les autres au quotidien. Dans la vie privée, à l'école, au travail. Partout et tout le temps. Certains ont de meilleures compétences en communication que d'autres, mais en fin de compte, nous commettons tous des erreurs de temps en temps.

Si certaines erreurs de communication ont un impact mineur sur nos vies (ce n'est pas la fin du monde si vous commandez une bière sans alcool ;)) certaines peuvent avoir des conséquences plus importantes (indiquer la mauvaise dent à extraire). Les malentendus dans la communication dans le développement de logiciels sont plutôt ces derniers et peuvent avoir des implications financières.

L'un des problèmes les plus courants que nous rencontrons tous est de supposer qu'une autre personne peut lire dans nos pensées. Nous sommes tous coupables de cela parfois. Avez-vous déjà entendu cette phrase : 'C'était évident !' ? Je parie que vous avez.

Je ne crois pas à l'évidence objective. Nous pensons que certaines choses sont évidentes pour tout le monde, mais ce qui est clair pour une personne peut ne pas l'être pour d'autres. Pour parvenir à une communication efficace dans le développement de logiciels, arrêtons de croire à la lecture de pensées et disons simplement ce que nous avons en tête.

Pourquoi est-ce plus facile à dire qu'à faire ? Analysons d'abord le processus de communication.

Éléments de communication

Il y a plus de 50 ans, Roman Jakobson a présenté un modèle de communication qui peut être très utile pour analyser les problèmes de compréhension mutuelle. Jetez un oeil au diagramme:

Il est clair que la communication est plus qu'un simple message entre un expéditeur et un destinataire. Le contexte, le canal et le code influencent le message et peuvent modifier la réception des mots. Même si deux des facteurs sont en place et qu'il en manque un, des problèmes surviendront.

Puisque nous parlons de communication dans le développement de logiciels en particulier, nous devrions analyser ce qui se passerait lors des sessions de raffinement du projet si nous manquions l'un des facteurs mentionnés ci-dessus. En d'autres termes, regardons de plus près l'importance de la communication dans la gestion de projet.

Fournissez toujours un contexte

Le contexte fournit une explication de la situation dans son ensemble autour de n'importe quel problème. On peut ne pas voir l'intérêt de dire à un développeur backend le groupe cible du produit. Il peut sembler que l'équipe de développement n'a besoin que de savoir ce qui est requis de son côté, et non les raisons commerciales qui le sous-tendent. Rien ne pourrait être plus éloigné de la vérité.

La communication dans le développement de logiciels ne concerne pas seulement les exigences fonctionnelles. Plus vous pouvez fournir de contexte à l'équipe, mieux c'est. La bonne introduction au concept de produit peut prendre du temps et peut sembler une perte de temps et d'argent mais, à long terme, elle permet d'éviter une mauvaise mise en œuvre technique.

Si l'équipe sait quels sont les plans à long terme pour le produit, elle peut proposer des solutions techniques plus adaptées. Même si vous ne souhaitez pas implémenter de codes promotionnels dans la première version de votre application mobile de livraison de nourriture, il est bon d'informer les programmeurs de logiciels qu'elle sera disponible dans la prochaine version.

Pour être sûr d'avoir fourni le contexte complet, demandez-vous si vous avez partagé toutes les informations dont vous disposez. Si vous vous surprenez à penser que "ce n'est pas important pour les développeurs, ils n'ont pas besoin de le savoir, demandez au moins à l'équipe si cette information pourrait les aider". Vous pourriez être surpris par les facteurs que d'autres peuvent trouver cruciaux.

Utilisez le canal à bon escient

Le canal est un facteur de communication souvent oublié dans la gestion de projet. De nos jours, alors que les équipes de développement travaillent très souvent depuis différents pays, lorsque le backend est en Inde (aujourd'hui, jusqu'à 85 % des entreprises américaines externalisent la plupart de leurs opérations en Inde), le développement frontend est en Pologne et le Product Owner est aux États-Unis , nous utilisons tous de nombreux outils différents pour communiquer.

Choisir le bon canal et l'utiliser efficacement peut avoir un impact. Les conférences téléphoniques, les e-mails et les chats sont formidables et nous permettent d'être en contact permanent. Mais ils créent également de nouvelles manières pour que le message soit mal compris.

Nous ne pouvons pas prétendre que discuter en ligne revient à avoir des conversations dans la même pièce avec l'équipe. Ce que nous pouvons faire, c'est garder à l'esprit les limites de la communication à distance et essayer de les surmonter.

Conseils pour une communication à distance efficace

  1. Allumez la caméra tout en ayant une conversation via des conférences téléphoniques. Selon les situations, la communication non verbale peut représenter plus de 50 % du message. C'est beaucoup plus facile à comprendre si vous êtes sarcastique quand les autres peuvent vous voir, par exemple. Vous pouvez également voir les réactions en temps réel de vos interlocuteurs. Vous êtes capable de remarquer si les autres sont confondus avec vos mots ou non.
  2. Utilisez des salles séparées sur le chat pour classer les conversations. Lorsque le projet est complexe, la communication dans le développement de logiciels a tendance à devenir également complexe et de nouveaux sujets de discussion apparaissent constamment. Des salles séparées vous permettent de garder les messages organisés et d'atteindre les bons destinataires avec moins de tracas.
  3. Taguez les destinataires des messages lors de l'écriture via le chat. Ce n'est pas facile de suivre chaque conversation. Il est dans votre intérêt de vous assurer que la personne à qui vous écrivez est avisée.
  4. Dans une conversation écrite, utilisez des émoticônes lorsque cela est approprié. N'en utilisez pas trop, mais faites savoir au public que vous plaisantez sur le déploiement de vendredi après-midi

Révision du code de communication

Au tout début du travail, vous devez établir un code commun pour comprendre les principaux termes de la même manière. Même les "évidents". Par exemple, nous avons une exigence : « En tant qu'utilisateur, je ne peux commander que le matin pour que le produit choisi puisse être expédié le jour même ». Cela semble clair, n'est-ce pas?

Eh bien… Alors, que signifie exactement le matin dans cette fonctionnalité ? Quand commence la matinée ? Quand le soleil se lève ou à une heure précise c'est-à-dire 7h00 ? Si à 7h00, quel fuseau horaire avez-vous en tête ?

La communication dans la gestion de projet, en particulier dans l'informatique, doit être limpide. Il n'y a pas de place pour deviner. Dans notre cas, cela peut entraîner une situation où les produits ne peuvent pas être commandés avant 10h00 (lorsque le développeur principal se réveille, c'est ce que le matin signifie pour lui) et le propriétaire de l'application perd de l'argent en raison du manque de commandes des lève-tôt.

Bonnes pratiques du code de communication commun

  1. Créer un glossaire avec les termes couramment utilisés. Cela aide au début du projet et il est extrêmement utile pour les nouveaux arrivants de comprendre la langue parlée par l'équipe de développement.
  2. Il est également bon de demander au destinataire comment il comprend l'exigence ou la phrase. Et je ne parle pas de l'inutile : 'Est-ce que tout est clair ?'. Être spécifique. Renseignez-vous sur les détails. Assurez-vous d'être compris. Faites une révision du code de communication.

    Reprenons notre exemple une fois de plus : pour parvenir à une compréhension commune du terme « matin », demandez à la personne qui l'a utilisé de le reformuler.
  3. La règle d'or est qu'il vaut mieux être répétitif dans la communication dans le développement logiciel que de laisser de la place aux devinettes.

La question du savoir-faire

En plus de toutes les méthodes de communication dans la gestion de projet mentionnées ci-dessus, il y a une autre chose cruciale qu'il est bon de garder à l'esprit lors de la discussion des exigences logicielles. Qu'il s'agisse d'une startup ou d'un produit d'entreprise, dans la plupart des cas, avant qu'un client ne se rende chez l'éditeur de logiciels, il passe beaucoup de temps à réfléchir à son produit. Plus ils y consacrent de temps, plus ils deviennent expérimentés sur le sujet.

Lorsque vous êtes un expert, il est facile d'oublier que tout le monde autour de vous n'a pas la même connaissance du domaine que vous. Cela signifie que les problèmes qui sont évidents pour vous ne sont pas si clairs pour l'équipe de développement à qui vous parlez.

Comment éviter le problème de l'expertise

  1. Revenez au début de votre voyage avec le produit et expliquez à l'équipe de développement toutes les décisions que vous avez prises. Lorsqu'ils comprendront comment tout a commencé, ils trouveront de meilleures solutions techniques ou même combleront des lacunes dans votre façon de penser.
  2. Permettez à l'équipe de poser autant de questions que nécessaire. Il n'y a pas d'exagération dans le proverbe qu'il n'y a pas de questions stupides.

Comment communiquer efficacement dans une équipe de génie logiciel

Le plus clairement possible ! Il n'y a pas de place pour une mauvaise communication car les conséquences peuvent être douloureuses. N'oubliez pas qu'il n'y a pas d'évidence objective et qu'il vaut mieux se répéter plusieurs fois que de passer à côté d'une information importante.

Icône des ateliers

Transformez votre idée en un produit numérique exceptionnel

Travaillons ensemble

Gardez à l'esprit les trois facteurs de communication et revérifiez pour voir si votre message a été compris comme vous l'aviez prévu. Avec le temps, la communication dans le développement de logiciels sera plus facile pour vous et expliquer correctement les exigences ne sera plus un problème.

Si vous recherchez un éditeur de logiciels expert à la fois en développement d'applications ET en communication, ne cherchez pas plus loin !

Parlez simplement à nos spécialistes Miquido et donnez vie à vos idées !