Évitez autant que possible la traduction, car chaque traduction représente un effort supplémentaire et peut introduire des erreurs.
La contribution essentielle de "Domain Driven Design" au génie logiciel moderne est le concept de langage ubiquitaire , qui est un langage unique utilisé par toutes les parties prenantes d'un projet. Selon DDD, la traduction ne devrait pas être effectuée au sein d’une équipe (y compris les experts du domaine, même si elle n’est présente que par procuration d’un document de spécification), mais uniquement entre les équipes. sur la langue omniprésente et la conception stratégique).
Autrement dit, si vos experts métier (ou votre document de spécification) parlent le néerlandais, utilisez leur terminologie (néerlandaise) pour exprimer des préoccupations d’entreprise dans le code source. Ne traduisez pas inutilement en anglais, car cela créerait un obstacle artificiel à la communication entre experts métier et programmeurs, ce qui prend du temps et peut (par une traduction ambiguë ou incorrecte) causer des bugs.
Si, au contraire, vos experts métier peuvent parler de leurs affaires en anglais et en néerlandais, vous êtes dans la situation privilégiée de pouvoir choisir la langue omniprésente du projet et il existe des raisons valables de préférer l'anglais (comme "internationalement compréhensible et plus susceptibles d’être utilisées par les normes "), mais cela ne veut pas dire que les codeurs doivent traduire ce que les gens d’affaires parlent. Au lieu de cela, les gens d’affaires devraient changer de langue.
Avoir un langage omniprésent est particulièrement important si les exigences sont complexes et doit être mis en œuvre avec précision. Si vous ne faites que du CRUD, le langage que vous utilisez en interne est moins important.
Anecdote personnelle: J'étais dans un projet où nous avons exposé certains services métier en tant que point de terminaison SOAP. L’entreprise était entièrement spécifiée en allemand et ne serait probablement pas réutilisée telle quelle, car il s’agissait de questions juridiques propres à une juridiction donnée. Néanmoins, certains architectes de tours d’ivoire ont demandé que l’interface SOAP soit en anglais afin de promouvoir la réutilisation future. Cette traduction s’est produite de manière ponctuelle, avec peu de coordination entre les développeurs, mais un glossaire partagé a été trouvé, le même terme commercial ayant plusieurs noms dans le contrat de service Web et certains termes commerciaux ayant le même nom dans le contrat de service Web. Oh, et bien sûr, certains noms ont été utilisés de part et d'autre de la ligne de démarcation - mais avec des significations différentes!
Si vous choisissez malgré tout de traduire, normalisez la traduction dans un glossaire, ajoutez la conformité avec ce glossaire à votre définition de done et vérifiez-la dans vos avis. Ne soyez pas aussi insouciant que nous avons été.