J’ai profité de ma semaine de vacances pour commencer à réfléchir à mes prochains projets personnels, et notamment à un outil qui me permettrait de tous les gérer de manière centralisée. Je m’éparpille facilement – il suffit de voir la diversité des thématiques de ce site – et j’ai parfois besoin d’outils pour m’y retrouver. Il ne s’agissait pas pour moi de réinventer la roue. Il existe de nombreux outils de gestion de projets, productivité personnelle, et je pense en avoir testé un certain nombre. Malheureusement, aucun d’entre eux ne m’a convaincu, même de loin, à part peut-être Remember The Milk, et contraindre mes habitudes et mes reflex sera probablement plus long et plus pénible que de repartir de zéro.

J’ai donc fait ce que je fais toujours en pareil cas. Je suis parti marcher avec un carnet et un crayon à papier dans la poche, le long du littoral cette fois, et j’ai commencé à noter toutes les idées au fur et à mesure qu’elles venaient : fonctionnalités, workflow, brouillons d’interfaces… J’en ai rayé ou reformulé un certain nombre et fait pas mal de schémas illisibles par tout autre que moi. Quelques heures plus tard, le soleil s’était déjà couché sur l’océan, je me suis retrouvé avec un carnet noirci d’une couverture à l’autre. Le temps de rentrer et reprendre tout ça à tête reposée, le constat fut lapidaire : j’avais accouché d’une usine à gaz certainement géniale sur le papier, mais parfaitement inutilisable.

À ce stade, deux solutions s’offraient à moi : jeter mon carnet dans la première poubelle venue, ou trancher dans la masse à grands coups de hache à double tranchant jusqu’à ce qu’il en ressorte quelque chose d’utilisable.

Je suis retourné sur la plage. La nuit était noire, et la marée basse. Je me suis assis sur le sable à la lueur d’un réverbère avec 2 Redbull et une bouteille de vodka (pas indispensable mais il faisait froid et je n’avais que ça pour me réchauffer). Enfin, j’ai pris chaque fonctionnalité une par une, et je les ai rangées dans 5 grandes catégories

  1. Les clairement superflues.
  2. Les trop complexes pour être utilisables.
  3. Celles dont je n’avais pas besoin immédiatement mais que je voulais ajouter au cas où…
  4. Celles qui faisaient double emploi avec des services que j’utilisais déjà et que je pouvais éventuellement intégrer.
  5. Celles que j’allais vraiment utiliser.

Au total, j’ai gardé 24 feuillets griffonnés au crayon à papier, exemples d’interfaces et schémas de fonctionnement compris. Il me reste maintenant beaucoup de travail pour faire tenir la peau de la vache avant de commencer à coder (ça tombe bien, je suis célibataire les 3 prochaines semaines), mais le plus gros est là (NON je ne suis pas gros).

Évidemment, mon cas est très particulier puisque je suis à priori le seul destinataire de cette application. Cependant, en élargissant un tout petit peu, on arrive facilement à une application relativement grand public.

La morale de cette histoire (larirette larirette)

Puisque toute histoire doit être porteuse d’une morale et donner des leçons à retenir pour la vie de tous les jours, allons y gaiement.

La première, c’est qu’il est plus facile de concevoir une usine à gaz qui fait le café qu’un logiciel qui fait une chose, simplement. Il faut donc faire attention de ne pas s’éparpiller ni s’éloigner du sujet principal.

La seconde, c’est que la Speculative Generality ne s’applique pas qu’au code. Si vous n’avez pas besoin d’une fonctionnalité maintenant, mais que vous pensez en avoir besoin plus tard, laissez la de côté, même si elle ne semble avoir un impact limité en termes de développement, de performances ou de complexification de l’interface. Elle ne sera au final jamais comme vous l’aviez imaginée au premier abord, et il vous en coûtera beaucoup plus de changer l’existant que de redémarrer de zéro.

La dernière, c’est qu’il ne faut jamais perdre de vue à qui vous destinez votre application. Si vous commencez à concevoir des workflow complexes pour une application destinée à un seul utilisateur, c’est que vous vous êtes planté quelque part. Autant vous arrêter, reprendre votre travail du début, et reprendre la bonne route là où vous aviez commencé à dévier.

Perry the Platypus wants you to subscribe now! Even if you don't visit my site on a regular basis, you can get the latest posts delivered to you for free via Email: