Auteur : User Experience Stack Exchange
Source : The value of bloat
Date : 22/04/2015

Traducteur : Fabrice Aimetti
Date : 07/08/2015

Traduction :

Dans cet article, Joel Spolsky met en valeur un cas d'inflation (gonflette) logicielle. En résumé, la base utilisateur complète requiert toutes les fonctionnalités, et si vous en laissez une de côté, vous empêchez un ou plusieurs utilisateurs de faire leur travail, et donc ils ne l'achètent pas.
Peut-on justifier plus avant que l'inflation de fonctionnalités ajoute de la valeur ?
Joel n'a pas toujours raison...
L'article mélange deux arguments différents en faveur de l'inflation de fonctionnalités :1. L'inflation de ressources peut améliorer le logiciel parce que (a) elle permet aux développeurs de déployer plus rapidement (b) elle permet au logiciel de supporter un plus grand nombre de fonctionnalités et (c) l'inflation est toute relative, étant donné que la puissance machine croît plus vite que les ressources, autrement dit d'un point de vue "factuel", il y a désinflation, le logiciel ne se dégrade pas en réalité.2. L'inflation de fonctionnalités est intéressante parce qu'elle permet d'adresser davantage d'utilisateurs, parce qu'une minorité d'utilisateurs souhaitera utiliser des fonctionnalités rares.
Pourtant, l'inflation de fonctionnalités est significative
Le compromis auquel est confronté le concepteur est de savoir équilibrer le bénéfice marginal de disposer de davantage de fonctionnalités avec le coût marginal en termes de courbe d'apprentissage, complexité et charge cognitive (NdT : lire définition wikipédia) pour les utilisateurs.
Ajouter des fonctionnalités pour une minorité peut empirer l'expérience utilisateur de la majorité des utilisateurs.
On illustre ce concept sur la courbe typique suivante de la fréquence d'utilisation des fonctionnalités :feature-frequency-curve-fr.png
Certains entrepreneurs ont clairement exprimé ce compromis sur l'utilisabilité des fonctionnalités :
"L'innovation ne consiste pas à dire oui à tout. Cela consiste à dire NON à tout sauf aux fonctionnalités les plus cruciales." - Steve Jobs
L'une des plus grandes avancées de ces dix dernières années a été la montée en puissance du minimalisme et le recours à la conception pour simplifier et cacher la complexité. Le compromis sur l'utilisabilité des fonctionnalités reste une vraie question (et beaucoup de logiciels sont connus pour exagérément simplifier les fonctionnalités) et doit persister.
swiss-knife_fr.png

https://fr.wikipedia.org/wiki/Charge_cognitive
Ensemble de fonctionnalités

Concernant le nombre optimal de fonctionnalités logicielles, on peut faire appel au modèle de Kano pour réfléchir à la couverture des fonctionnalités pour une population donnée et trouver un équilibre entre "toutes les fonctionnalités pour quelqu'un" et "assez de fonctionnalités pour que suffisamment de personnes soient satisfaites".
Taille et efficacité
En supposant que le logiciel est globalement de bonne qualité, l'argument de Joel consiste à dire que cela vaut le coup d'utiliser un peu plus de ressources pour ajouter des fonctionnalités.
Ce raisonnement ne tient pas pour un logiciel dont l'implémentation est médiocre.
Dans la plupart des cas, aujourd'hui, cela reste valable compte tenu de la capacité gigantesque des PC et de la disponibilité des applications en ligne. Par contre, ce que n'avait pas prévu Joel en 2001, c'est qu'en 2015, beaucoup d'utilisateurs ne disposeraient que d''un stockage de 16 Go sur leur principal appareil, le smartphone. Les grosses applications ne sont donc pas conseillées. De plus, ces appareils disposent d'une interface utilisateur limitée et sont dédiées à des usages précis, donc ajouter beaucoup de fonctionnalités est un blasphème.
Logiciel monolithique
Un problème essentiel de l'article de 2001, c'est que le modèle Microsoft prévalait alors, autrement dit toutes les fonctionnalités de l'application devaient être contenues dans l'application.
Le principal exemple que donne Joel dans son article est celui de Mozilla. Aujourd'hui, les navigateurs Chrome et Firefox sont déployées avec moins de fonctionnalités, mais peuvent exécuter plusieurs centaines de fois davantage de fonctionnalités grâce aux extensions et plugins. L'utilisateur peut parcourir et sélectionner ce qu'il veut. De même si l'on compare Microsoft Wordà Emacs ou Sublime Text.