Je voulais juste sauter ici et offrir un cas inhabituel où ...
* LES CLIENTS SE SOUFFRENT DE LA PERFORMANCE ET AVIS CHAQUE CHANGEMENT! .
C'est dans mon domaine que nous couvrons le rendu de production qui a tendance à être analysé à mort en termes de performances par les clients eux-mêmes. Un ralentissement de 2% des performances par rapport à une version mineure peut équivaloir aux ralentissements signalés sous forme de «rapports de bogues» en masse.
Les discussions sur le forum sont souvent lancées avec des clients qui comparent leurs scènes avec différentes versions du logiciel, où les clients comparent plus que les développeurs eux-mêmes. "Cette scène a pris 1 heure et 40 minutes pour être rendue dans la version X. Elle prend maintenant 32 minutes dans la version Y."
"Cette scène a pris 18 minutes à charger dans la version X, maintenant il faut 4 minutes pour la charger dans la version Y."
Ils sont extrêmement reconnaissants lorsque des optimisations sont appliquées, et cela seul peut suffire à justifier l'achat d'une nouvelle mise à niveau très coûteuse du logiciel, et parfois avec seulement des améliorations modestes comme une réduction de 10% des temps.
Dans certains contextes plus vastes, cela peut également faire économiser au client d'énormes sommes d'argent lorsque le produit est accéléré, car certains grands studios utilisent des fermes de rendu où ils doivent payer pour des centaines de machines rendant toute la journée, et toute amélioration des délais ici peut accélérer tout leur processus de production (et peut-être même donner de meilleurs résultats lorsque les artistes sont plus productifs en créant de l'art plutôt qu'en attendant qu'il soit rendu).
Il existe donc des domaines comme celui-ci où les clients remarquent vraiment, vraiment, vraiment - parfois même plus que les développeurs eux-mêmes, et cela est en dehors des concepts d'interaction d'interface utilisateur qui sont plus sur la latence que sur le débit.
À quelle fréquence les programmeurs doivent-ils aller plus loin pour "rédiger" des analyses de performances pour lesquelles le public n'est pas d'autres programmeurs, mais des managers et des clients?
Dans notre cas, tout le temps, avec presque toutes les versions mineures. La vitesse est l'un des principaux arguments de vente, et même les références et analyses de performances les plus techniques sont réellement appréciées et comprises par les clients et les managers. La perception des clients est souvent comme des loups enragés, avides de plus d'optimisations et essayant de faire des suggestions aux développeurs sur la façon de faire accélérer les choses. Dans ce cas, il faut en fait de la discipline pour résister à certaines des demandes pressantes du client d'optimiser davantage et de se concentrer sur d'autres mesures telles que la maintenabilité et les améliorations des fonctionnalités.
Thread.Sleep(1000); //pretend this does more than change a 0 to a 1 in the database.