Greg's Devblog Par un développeur, pour les développeurs

19nov/103

Worse is better… Keep it simple stupid !

En titre de ce billets, 2 expressions qui devraient plus souvent être prises en compte dans le développement d'applications.

"Worse is better" dicte en fait les 4 qualités essentielles d'une application, mais en imposant une hiérarchie :

  • Simplicité
  • Exactitude
  • Consistence
  • Exhaustivité

Au boulot, on a tendance à partir sur le maximum de fonctionnalité, de la façon la plus consistente possible. Il faut ensuite que chaque fonctionnalité marche (plus ou moins ^^) et si possible que ce soit simple. Pourquoi pas.

Le schéma "Worse is better" va en fait plutôt motiver une importance dans l'ordre inverse : le plus important reste avant tout la simplicité. Je ne vais pas faire une traduction de tout ce qu'il y a dans l'article wikipedia, qui est court et intéressant à la fois, mais pour faire simple, en lisant ça j'ai tout de suite pensé à Apple : quand Apple conçoit quelque chose, la priorité est que ce soit simple. Le produit sort, il est simple. Le premier iPhone était très loin d'être parfait, très loin d'être exhaustif (manque de la 3G, du MMS, de la vidéo, etc...), mais il était simple.

Une fois qu'on a sorti un produit simple, les gens s'y font et on a tout le loisir d'y ajouter les fonctionnalités manquantes. Sur ce, je vais essayer de motiver les autres dans ma boite à adopter la "worse is better" attitude, histoire qu'on arrive enfin à boucler le développement en cours !

Commentaires (3) Trackbacks (0)
  1. Je pense que je le préfère façon « unix philosophy » : do one thing, do it well, do it completely.

    • Bah quelque part ça revient un peu à ça : au lieu de partir sur 40 000 features, se concentrer sur 1 (ou un jeu de features réduit), et faire ça au mieux (en terme de simplicité, exactitude, et consistence).
      Par contre hier soir j’ai découvert quand je pouvais lancer « snake » dans emacs, ainsi que pas mal d’autres jeux… NO COMMENT.

  2. La grosse différence est dans le rôle du « complètement ». L’approche à la Apple de sacrifier les fonctions (choix d’un morceau de l’iPod random, p.ex.) peut être justifiée pour leurs produits, mais je râle suffisamment souvent de l’approche similaire du projet Gnome qui accouche de programmes inutiles parce que non-règlables.

    Je note aussi que ce genre de raisonnement du minimalisme ne conduit à de bonnes applications que si on a une très bonne connaissance des features demandées (ne pas mettre de bouton de volume, par contre, ce serait du n’importe quoi) et que l’on si l’on vise un public non-professionnel (les professionnels ayant généralement besoin de plus de précision dans leur utilisation de l’outil).

    Quant à « snake dans emacs », il est présent parce qu’emacs gère toutes les fonctions avancées (syntax highlightning, menus contextuels, (un)comment-region) à l’aide de fonctions LISP … qui permettent tout aussi bien de coder un « plugin snake » … Pourquoi le gars qui fait la release d’emacs a inclus ça de base dans le package, par contre, ça m’échappe un peu.


Laisser un commentaire


Aucun trackbacks pour l'instant