Mathieu Eveillard

Ticket un jour, bullshit toujours

Ticket un jour, bullshit toujours

Quelle part de votre capacité de développement part dans l’entretien de l’existant ? Un tiers ? Un quart ? Vous n’en savez rien, pour une raison simple : dans votre outil, tout s’appelle « ticket ».

Ne me parlez plus de « ticket ». Qu’est-ce qu’un ticket ? Une User Story ? Une tâche technique ? Une liste de courses ? Un contrat ? Un post-it collé sur le frigo ? Une lettre d’amour ? Un ticket avec quelqu’un ? Un ticket à l’élection présidentielle américaine ?

« Ticket », le mot parfait pour ne rien dire

Le mot désigne le support de l’information dans un outil de ticketing, c’est-à-dire « un outil logiciel utilisé par les entreprises pour suivre, gérer et organiser les demandes de service et les problèmes des clients, des employés ou des équipes internes » (définition : Zendesk). Vous pourriez donc remplacer « ticket » par « feuille » sans perdre de sens, vu que le mot ne dit rien du contenu.

L’usage de ce mot reflète par ailleurs une vision centrée sur l’exécutant et non sur l’utilisateur. C’est donc un sujet de gestion de la charge de travail. Ainsi, en caricaturant à peine, je vous imagine assis à votre petit bureau gris. Vous arrivez à 9h le matin, une pile de tickets vous attend, à votre gauche. À mesure que vous les traitez, d’autres arrivent et s’amoncellent. Quand l’horloge accrochée au mur d’en face daigne enfin indiquer 18h00, vous vous levez, fermez votre mallette et partez. Une belle journée, mais où est donc l’utilisateur, dans tout ça ?

Cette mise en situation n’est pas anodine. Le mot « ticket » implique un raisonnement en flux, dans lequel les critères de succès sont la file vide, le temps de traitement, le nombre de tickets clos, etc. A contrario, la vision produit s’intéresse à l’utilisateur et à l’actif utilisé pour le servir (output et outcome). La différence est fondamentale.

Vous direz que je pinaille, mais moi je ne crois pas : les mots ont leur importance. Un mauvais choix de mots nous enferme et entretient l’impensé. Des mots flous conduisent à une pensée floue qui a peu de chances de se traduire par des réalisations concrètes et utiles. Le flou ne va pas se dissiper par miracle (qu’est-ce qu’un « Chef de projet agile », par exemple ?).

Le problème n’est pas l’existence du terme générique en soi, c’est son usage indifférencié à la place de termes plus précis, au moment où la distinction importe. La plupart des outils, d’ailleurs, opèrent des distinctions. C’est à l’oral que tout se perd.

Reprenons à zéro. Lorsque vous vous apprêtez à développer, vous pouvez :

En disant cela, nous supposons que les intérêts de l’entreprise et ceux de l’utilisateur sont toujours alignés : pas de dark patterns ni de fonctionnalité court-termiste, qui attire mais ne retient pas l’utilisateur.

Une User Story apporte de la valeur à l’utilisateur

Une User Story, selon Kent Beck, est une unité de fonctionnalité apportant de la valeur à l’utilisateur, suffisamment petite pour être développée en une courte itération. Dans les faits, on essaie de la rendre aussi petite que possible (atomique) afin de minimiser l’effet tunnel.

Dans cette acception, une User Story est donc un développement qui : 1. Une fois mis en production, apporte de la valeur à l’utilisateur ; 2. Ne peut plus être découpé fonctionnellement (atomicité).

Libre à vous de créer des chapeaux (epics, fonctionnalités) pour regrouper différentes User Stories. Permettez-moi de ne pas détailler cela aujourd’hui, car la seule chose fonctionnelle que vous pouvez envoyer en production, c’est une User Story. Il faut donc bien commencer par cela.

Exemples :

Améliorer le temps de chargement de la landing page est certes un cas limite (c’est une exigence non fonctionnelle), mais qui améliore l’expérience utilisateur et, par ricochet, diminue le taux de rebond et va dans l’intérêt de l’entreprise. C’est donc bien une User Story.

Par contre, « upgrader le schéma de base de données » (merci pour le franglais) ne sera jamais, sous aucune circonstance, une User Story. C’est une tâche technique nécessaire au développement d’une User Story, qui devra être mise en production en même temps que les autres tâches qui la composent.

D’expérience, si une User Story se décompose en beaucoup de tâches techniques, c’est probablement qu’elle pourrait être redécoupée fonctionnellement. Au-delà de 2 ou 3 tâches, posez-vous vraiment des questions.

La tâche technique, invisible et indispensable

Une tâche technique est un développement qui, s’il doit être mis en production seul, n’apporte pas de valeur à l’utilisateur. L’utilisateur ne connaît pas vos tâches techniques et n’en a que faire !

Il s’agit en premier lieu des tâches qui composent une User Story, nous l’avons vu. Ces dernières n’ont peut-être pas besoin d’être systématiquement formalisées, vu qu’elles n’ont pas d’existence propre, en dehors d’une User Story. C’est d’autant plus vrai qu’une User Story est petite.

Mais, hors User Story, vous trouverez également :

Cela pour dire que les tâches techniques préservent ou augmentent toutes la capacité future à produire de la valeur, perçue par l’utilisateur.

Conclusion

Votre backlog (backlog produit ou backlog de sprint si vous en faites) contient en majorité 2 types de travaux :

Travailler les priorités du backlog revient donc à effectuer un arbitrage entre différents horizons de temps : livrer de la valeur maintenant aux utilisateurs, ou bien livrer de la valeur maintenant à l’entreprise afin qu’elle puisse en livrer ultérieurement aux utilisateurs.

Matérialiser les deux typologies indifféremment au travers de « tickets » rend cet arbitrage invisible. Pour qui pilote un actif informatique (CEO, CTO), cette réflexion est pourtant indispensable !

← Tous les articles