Qu’est-ce que le dogfooding et comment aide-t-il les développeurs ?
Il est difficile d'imaginer un endroit où les développeurs de logiciels et la nourriture pour chiens se combinent, mais le "dogfooding" est une partie essentielle de la réussite d'un programme. Bien que cela n'implique pas d'ouvrir une boîte de bœuf et de veau, cela implique que les développeurs prennent leur propre création pour un tour avant de la donner à d'autres personnes.
En tant que tel, explorons ce que signifie "dogfooding" en technologie et comment cela aide.
Que signifie le dogfooding dans la technologie ?
Le "dogfooding" est lorsqu'un développeur essaie le logiciel qu'il a développé comme s'il était un utilisateur régulier. Cela vient du terme « manger votre propre nourriture pour chien », qui décrit quelqu'un qui essaie quelque chose qu'il a inventé ou développé du point de vue de son public cible.
Le dogfooding est un peu différent des tests alpha et bêta. Alors que le dogfooding et les tests impliquent d'utiliser le logiciel pour voir comment il résiste, les tests alpha et bêta se concentrent sur la recherche de bogues et d'erreurs. Et tandis que le dogfooding peut techniquement déterrer des erreurs qui nécessitent une correction, l'objectif principal du processus est de "sentir" le logiciel pour voir comment le développeur peut l'améliorer.
Par exemple, supposons que vous ayez développé un client de messagerie qui est presque prêt à être publié. Pendant les phases de test alpha et bêta, vous effectuerez probablement des vérifications spécifiques, telles que la façon dont le client gère les e-mails entrants, la façon dont il gère une connexion Internet instable et si vous pouvez envoyer des e-mails à partir de celui-ci correctement. Ce sont des vérifications spécifiques effectuées pour éliminer les bogues qui empêcheront le programme de fonctionner correctement.
D'un autre côté, le dogfooding consiste à utiliser votre client de messagerie pendant des jours, des semaines ou des mois. En fait, vous utiliseriez votre programme de messagerie comme si vous étiez l'un de vos utilisateurs, qui dépendra de votre outil au quotidien.
Bien que vous soyez obligé de trouver des erreurs sur une si longue période de temps, l'objectif principal est de voir à quel point il est facile et agréable d'utiliser votre programme dans la vie de tous les jours. Si vous trouvez votre programme simple et facile à utiliser, incroyable. Cependant, si vous avez hâte d'utiliser un programme différent tout en utilisant le vôtre, il y a de fortes chances que les clients potentiels ressentent la même chose. Après tout, si vous préférez utiliser les produits de vos concurrents plutôt que les vôtres, pourquoi quelqu'un d'autre devrait-il utiliser les vôtres ?
Comment le dogfooding aide-t-il?
Dogfooding aide les développeurs à découvrir tous les défauts de leur conception originale. Lorsque les programmeurs créent une fonctionnalité ou un outil spécifique, ils le font généralement avec un plan qui fonctionne bien sur papier. Cependant, les fonctionnalités proposées dans les documents de conception ne se traduisent parfois pas dans le monde réel aussi bien que le programmeur le souhaite.
C'est là qu'intervient le dogfooding. En utilisant le logiciel quotidiennement et dans le cadre de sa routine, le programmeur trouve toutes les parties ennuyeuses et manquantes de son logiciel. Par exemple, dans notre exemple de courrier électronique, les boîtes de dialogue d'avertissement que vous avez configurées par précaution deviennent peut-être vraiment ennuyeuses lorsque vous utilisez le programme quotidiennement. Ou peut-être que vous appuyez sur CTRL + B pour taper du texte en gras dans un e-mail, seulement pour découvrir que vous avez oublié de coder dans ce raccourci clavier.
C'est pourquoi il est important de tester votre programme, même si vous êtes assez sûr qu'il est exempt de bogues. Utilisez-le comme si vous étiez quelqu'un qui dépendait uniquement de votre client, voyez quels problèmes surviennent et corrigez-les afin que les vrais utilisateurs n'aient pas à subir la même chose !
Ne faites pas un dîner de chien de votre programme
Le dogfooding peut sembler étrange, mais c'est un moyen précieux pour les développeurs d'éliminer toutes les occasions manquées et les fonctionnalités de conception ennuyeuses de leur logiciel. En tant que tel, si vous débutez dans la programmation, assurez-vous de tester votre programme et notez tout ce qui, selon vous, doit être ajouté ou modifié.