Je pense que vous êtes sage-penny et stupide.
Tout d'abord, les coûts de la machine sont triviaux comparés au coût d'un développeur. Vous devez travailler à maximiser la productivité, pas à minimiser les coûts de la machine.
Deuxièmement, la latence (et non la bande passante) est la clé de nombreuses tâches de programmation, notamment l'édition de texte. Pour chaque dollar / livre / euro que vous économisez sur les machines de vos développeurs, vous dépenserez au moins dix sur les mises à niveau du réseau afin de maintenir un semblant de productivité - et même dans ce cas, elles seraient probablement plus productives si vous économisiez en fournissant les avec Pentium III que vous avez trouvé dans une benne à ordures quelque part.
Je pense également qu'il est très avantageux que vos développeurs utilisent un environnement au moins raisonnablement proche de celui attendu par l'utilisateur final cible. Quels que soient les objectifs de performance officiels définis dans une spécification, la plupart des programmeurs se basent un peu sur le "ressenti" du code lorsqu’il le teste. Lorsqu'ils utilisent un environnement complètement différent de celui de l'utilisateur final, ils risquent de perdre du temps sur des trivialités tout en négligeant complètement les problèmes majeurs.
Aussi attrayant qu'un environnement homogène puisse sembler d'un point de vue de support, vous devez généralement encourager autant que possible la variété des machines des développeurs. De toute façon, les développeurs ont rarement besoin de beaucoup d’assistance, et savoir immédiatement quand un code va échouer avec une puce graphique, un processeur, une carte réseau, etc., est plus qu’un simple investissement.
En bout de ligne: si vous écrivez du code destiné (au moins principalement) à être utilisé dans un environnement de serveur virtualisé, il vous suffit de le fournir à vos développeurs. Si vous le faites quand même pour des tests, cela peut (mais pas nécessairement) avoir un sens pour le développement également. De même, si vous avez besoin (ou du moins avez) un serveur et un réseau très sur spécifiés, il pourrait être judicieux de tirer parti de cela en utilisant ce que vous avez déjà disponible.
Dans la plupart des cas, cependant, il me semble que cela risque de créer plus de problèmes que de solutions.