WIPs vs FOs
L’incroyable designer de tricot et artiste Zab Allard (totale transparence : c’est ma mère) a écrit un article de blogue qui parle des WIPs et des FOs.
Je l'avoue: j'essaie de faire mon intéressante! J'ai 2 fils qui écrivent des articles que je ne comprend pas. L'un est informaticien et ce sont des trucs de programmation...et en anglais en plus! Et l'autre est musicien et écrit des critiques d'album de musique jazz pour vrais initiés. Et là, "maman" comprend que dalles à ce que ses fils écrivent. Ha! Ha!
Des Wips, ce sont des work in progress (travaux en cours) et des FO, ce sont des finished objects (objets terminés). Voilà! Je vais parler de quelques uns de mes tricots que je m'adonne à avoir terminé dans la fin de semaine passée.
Voyons si on peut arriver à se comprendre.
En informatique, nous avons aussi la notion de WIP (Work In Progress) et de produits finis (Finished Object). Quand on parle de ces concepts, c’est surtout pour dire qu’il faut limiter la quantité de travail en cours (WIP) afin de faire le focus sur le moins de tâches possibles (idéalement, une seule) pour être plus efficace.
C’est un des trucs que j’admire chez ma mère : elle a l’air d’avoir toujours un million de travaux en cours, mais trouve toujours le moyen de finir des projets.
Un de mes défauts, en tant que personne, est que je suis une personne très curieuse. En soi, c’est plutôt une qualité. Cependant, cela fait que je suis souvent attiré par la dernière chose qui vient de sortir : nouveau langage, nouvelle technologie ou nouveaux outils informatiques. J’ai donc tendance à commencer beaucoup de choses sans en finir la grande majorité.
Comment régler cela? En se fixant un FO (Finished Object) qui soit atteignable et pas trop gros. C’est ainsi plus facile de se dire : “il en reste juste un petit bout et après je pourrai faire autre chose”.
En tant que personne qui a aussi tendance à procrastiner, les méthodes agiles comme Scrum, qui encouragent le découpage en petites tâches, sont d’une grande aide.
Un autre élément qui aide beaucoup, c’est de travailler avec quelqu’un d’autre. C’est ainsi plus motivant, et ça fait quelqu’un à qui rendre des comptes. Ma mère appelle ça le kal (knit along), en informatique, on appellerait ça un kata along.
Un kata est un exercice, comme au karaté, que l’on répète, afin d’améliorer son art. Il est souvent recommandé de le faire en pair programming, i.e. avec quelqu’un d’autre, afin de s’enrichir des expériences différentes et d’apprendre de l’autre. Chaque fois qu’on le fait (seul ou avec un pair), on apprend quelque chose ou on solidifie un apprentissage.
Bref, je crois qu’en découpant les tâches le plus possible et en travaillant avec quelqu’un d’autre (kal), ça aide à limiter le WIP afin de finir le plus de FOs possible.
Finalement, c’est pas si compliqué et on arrive à se comprendre, non?
P.S. Pour ceux que ça intéresse, j’organise, avec un collègue, le mois prochain, un coding dojo, un événement pour les programmeurs qui veulent faire des “kata along”.