« L'inflation de fonctionnalités » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 11 : | Ligne 11 : | ||
Traduction :<br /> | Traduction :<br /> | ||
<br /> | <br /> | ||
<span style="display: block; text-align: justify">Dans [http://www.joelonsoftware.com/articles/fog0000000020.html 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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">Peut-on justifier plus avant que l'inflation de fonctionnalités ajoute de la valeur ?</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Joel n'a pas toujours raison...'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">L'article mélange deux arguments différents en faveur de l'inflation de fonctionnalités :</span><span style="display: block; text-align: justify">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é.</span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Pourtant, l'inflation de fonctionnalités est significative'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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 : [https://fr.wikipedia.org/wiki/Charge_cognitive lire définition wikipédia]) pour les utilisateurs.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Ajouter des fonctionnalités pour une minorité peut empirer l'expérience utilisateur de la majorité des utilisateurs.'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">On illustre ce concept sur la courbe typique suivante de la fréquence d'utilisation des fonctionnalités :</span><span style="display: block; text-align: justify">[[Image:feature-frequency-curve-fr.png|feature-frequency-curve-fr.png]]<br /> </span><span style="display: block; text-align: justify">Certains entrepreneurs ont clairement exprimé ce compromis sur l'utilisabilité des fonctionnalités :</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify"><span style="background-color: #f0ec97">"L'innovation ne consiste pas à dire oui à tout. Cela consiste à dire NON à tout sauf aux fonctionnalités les plus cruciales." - Steve Jobs</span></span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">[[Image:swiss-knife_fr.png|swiss-knife_fr.png]]<br /> </span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; height: 1px; left: 0px; overflow: hidden; position: absolute; top: 359.5px; width: 1px">https://fr.wikipedia.org/wiki/Charge_cognitive</span><br /> '''Ensemble de fonctionnalités'''<br /> <br /> <span style="display: block; text-align: justify">Concernant le nombre optimal de fonctionnalités logicielles, on peut faire appel au [https://en.wikipedia.org/wiki/Kano_model 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".</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Taille et efficacité'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">Ce raisonnement ne tient pas pour un logiciel dont l'implémentation est médiocre.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify"><nowiki>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.</nowiki></span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Logiciel monolithique'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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<span style="background-color: #ffffff; font-family: AppleSDGothicNeo-Regular,'lucida grande',tahoma,verdana,arial,sans-serif,'Segoe UI Emoji','Segoe UI Symbol',NotoColorEmoji,EmojiSymbols,Symbola,Noto,'Android Emoji',AndroidEmoji,'Arial Unicode MS','Zapf Dingbats',AppleColorEmoji,'Apple Color Emoji'; line-height: 1.5">™ </span>à Emacs ou Sublime Text.</span> | <span style="display: block; text-align: justify">Dans [http://www.joelonsoftware.com/articles/fog0000000020.html 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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">Peut-on justifier plus avant que l'inflation de fonctionnalités ajoute de la valeur ?</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Joel n'a pas toujours raison...'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">L'article mélange deux arguments différents en faveur de l'inflation de fonctionnalités :</span><span style="display: block; text-align: justify">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é.</span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Pourtant, l'inflation de fonctionnalités est significative'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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 : [https://fr.wikipedia.org/wiki/Charge_cognitive lire définition wikipédia]) pour les utilisateurs.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Ajouter des fonctionnalités pour une minorité peut empirer l'expérience utilisateur de la majorité des utilisateurs.'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">On illustre ce concept sur la courbe typique suivante de la fréquence d'utilisation des fonctionnalités :</span><span style="display: block; text-align: justify">[[Image:feature-frequency-curve-fr.png|feature-frequency-curve-fr.png|link=]]<br /> </span><span style="display: block; text-align: justify">Certains entrepreneurs ont clairement exprimé ce compromis sur l'utilisabilité des fonctionnalités :</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify"><span style="background-color: #f0ec97">"L'innovation ne consiste pas à dire oui à tout. Cela consiste à dire NON à tout sauf aux fonctionnalités les plus cruciales." - Steve Jobs</span></span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">[[Image:swiss-knife_fr.png|swiss-knife_fr.png|link=]]<br /> </span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; height: 1px; left: 0px; overflow: hidden; position: absolute; top: 359.5px; width: 1px">https://fr.wikipedia.org/wiki/Charge_cognitive</span><br /> '''Ensemble de fonctionnalités'''<br /> <br /> <span style="display: block; text-align: justify">Concernant le nombre optimal de fonctionnalités logicielles, on peut faire appel au [https://en.wikipedia.org/wiki/Kano_model 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".</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Taille et efficacité'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">Ce raisonnement ne tient pas pour un logiciel dont l'implémentation est médiocre.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify"><nowiki>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.</nowiki></span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">'''Logiciel monolithique'''</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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.</span><span style="display: block; text-align: justify"><br /> </span><span style="display: block; text-align: justify">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<span style="background-color: #ffffff; font-family: AppleSDGothicNeo-Regular,'lucida grande',tahoma,verdana,arial,sans-serif,'Segoe UI Emoji','Segoe UI Symbol',NotoColorEmoji,EmojiSymbols,Symbola,Noto,'Android Emoji',AndroidEmoji,'Arial Unicode MS','Zapf Dingbats',AppleColorEmoji,'Apple Color Emoji'; line-height: 1.5">™ </span>à Emacs ou Sublime Text.</span> |
Dernière version du 22 avril 2020 à 07:37
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 :
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.
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.