← Toute la documentation

Équipe Starleads · Linear × Everhour

Cadre de travail

Comment on crée une US, comment on la découpe, comment on la chiffre, et où passe le temps. Un seul document de référence pour l'équipe tech.

Version 6.7, septembre 2026 Périmètre team STA Outils Linear, Everhour

À lire avant tout le reste

Ce que le suivi de temps mesure, ce sont des tickets et des lots, pas des personnes.

Le tech lead suit évidemment comment chacun avance : repérer quelqu'un qui bloque fait partie de son travail. Mais le signal vient du flux des tickets, pas des heures saisies. Un ticket qui stagne huit jours, une US qui fait trois allers-retours en revue, un ticket bloqué depuis deux semaines : ça se voit dans Linear, ça ne se déclare pas, et ça ouvre une vraie conversation.

Ce qui est engagé, en revanche : le temps saisi ne sert jamais à comparer deux personnes, ni dans une évaluation, ni dans un tableau. Pas par principe, mais parce que la donnée est déclarative, et qu'une donnée déclarative dont chacun sait qu'elle est lue individuellement converge en trois semaines vers ce qu'on attend d'elle. On perdrait le chiffrage pour un signal qu'on obtient mieux ailleurs.


01

Ce que ce cadre cherche à obtenir

Trois objectifs, dans cet ordre : fiabiliser le chiffrage, lire notre capacité réelle, connaître le coût d'une fonctionnalité.

  • Fiabiliser le chiffrage. Savoir ce que coûte réellement un lot, pour engager des délais tenables au lieu de les deviner.
  • Lire la capacité réelle. Savoir ce qu'une équipe absorbe vraiment dans un cycle, une fois déduits les bugs, la dette, les réunions et les interruptions.
  • Connaître le coût d'une fonctionnalité. Pour arbitrer entre ce qu'on construit et ce qu'on abandonne, en connaissance de cause.

Les trois reposent sur une seule et même chose : pouvoir relier une estimation à un temps réellement passé. Ce qui suppose que les tickets soient estimés, qu'ils se terminent, et que le temps atterrisse au bon endroit. Tout le reste du document décrit comment y arriver.

Everhour mesure le temps. Il ne produit ni les estimations ni les clôtures : celles-là dépendent de nos habitudes, et l'annexe B liste les quatre conditions sans lesquelles la donnée restera illisible.

02

Les objets Linear

Un concept, un objet. Linear n'a pas d'objet « epic », il faut donc choisir où il vit, et s'y tenir.

ObjetCe que c'estQui le créeTaille
InitiativeObjectif produit pluri-moisDirecteur de projetTrimestre et +
ProjectLe lot livrable. Naît en To scope quand le besoin est accepté. Porte le budget en heures dans EverhourCP2 à 8 semaines
MilestoneJalon intermédiaire dans un lot. OptionnelCP + tech lead
IssueLe ticket. Unité de travail : US, bug, dette ou spike. Porte le tempsSelon le type, voir section 6≤ 2 jours
Sous-issueOrganisation personnelle du dev. Ne porte ni points ni temps, et n'entre pas dans le cycleDev< 1 jour
Vocabulaire

« US » n'est pas un synonyme de « ticket ». Une US est un ticket qui porte de la valeur utilisateur, chez nous les types Feature et Improvement. Un bug, une dette technique ou un spike sont des tickets, pas des US.

La section 5 décrit le parcours d'une US. La section 6 décrit ce qui change pour les autres types, et ce qui change, ce n'est pas un détail.

Trois règles non négociables

  • Un Project est un lot qui se termine. Les domaines permanents (Agent, Tools, Dashboard, Dette technique, Paramètres généraux) ne sont pas des projets : ce sont des vues filtrées ou des labels. On ne peut pas poser un budget en heures sur quelque chose qui ne finit jamais.
  • Le label Epic disparaît. Une issue étiquetée Epic remonte au niveau Project ou Milestone. Un seul niveau pour un seul concept.
  • Une sous-issue appartient toujours au projet de son parent. Un enfant rangé ailleurs que son parent rend le reporting illisible.

Le workflow d'un ticket

Backlog Todo In Progress In review Test Dev Test Fonctionnel Test Prod Done

« Bloqué » n'est pas un statut mais un label : un statut, on y stationne confortablement. Et l'état est mis à jour par celui qui fait, au moment où il le fait. Fermer les tickets en lot une fois par mois rend toute mesure de délai fausse : un ticket clos trois semaines après sa mise en production ne dit plus rien de sa durée.

Le cycle de vie d'un projet

Backlog To scope Planned In Progress Completed

To scope est le seul statut que nous ajoutons. Le besoin est accepté, le lot n'est pas encore cadré : la session de cadrage n'a pas eu lieu, ou les US ne sont pas estimées. C'est la phrase à mettre dans la description du statut, dans les réglages du workspace.

Un Project naît donc avant son cadrage, et non au grooming. La raison est comptable : le temps d'instruction et de session est du coût du lot (section 3), et sans projet il n'aurait nulle part où se poser. Le coût d'une fonctionnalité exclurait alors sa partie la plus en amont.

To scopeLa règle
EntréeLa CP accepte le besoin au triage. Le Project est créé avec un responsable nommé et le ticket de cadrage dedans. Pas de budget d'heures : il ne peut pas exister avant l'estimation
SortieTrois conditions ensemble : la session de cadrage a eu lieu, les US existent, elles sont estimées. Le projet passe en Planned et le budget est posé dans Everhour à cet instant
Qui la prononceLe grooming, seul moment où les trois conditions se vérifient d'un coup. La CP déplace le statut
Ce qui charge du tempsLe ticket de cadrage et les spikes, tous timeboxés et sans points. Du temps sur une US d'un projet To scope signale un développement commencé avant l'estimation
PéremptionSix semaines sans session calée : retour en Backlog, ou Canceled. Chiffre arbitraire, voir annexe C
Type dans LinearBacklog, jamais In Progress : sinon Linear compte le projet comme lancé et sa progression devient fausse
  • Backlog, c'est une idée ; To scope, c'est une décision. Dans l'un, personne n'a rien tranché et personne n'est dessus. Dans l'autre, le besoin est accepté, un responsable est nommé, un cadrage est à caler. C'est cette frontière qui empêche To scope de devenir un deuxième backlog.
  • Ce n'est pas « on attend une spec ». Ce qui sort de la session, ce sont des décisions et une estimation ; la spec s'écrit après, sur les US.
  • Ce n'est pas « en cours ». Rien ne se construit pendant qu'un projet est To scope.
  • Les statuts de projet sont communs à tout le workspace. Cette définition vaut pour toutes les équipes, pas seulement pour la nôtre.
03

Cadrer et concevoir un lot

Ce qui se passe avant qu'une US existe. Cette section ne concerne que les lots : une US isolée s'écrit en cinq minutes et complète ce qui manque en grooming.

Quand on déclenche ce processus

Dès qu'au moins l'une de ces conditions est vraie. Si aucune ne l'est, on n'en fait rien.

  • Plusieurs solutions sont plausibles et le choix a des conséquences durables
  • Le sujet traverse plusieurs services (Gateway, back, front)
  • Il touche un modèle ou un contrat existant : rôles et permissions, facturation, modèle de données
  • Il a besoin de maquettes avant de pouvoir être spécifié
  • Le découpage lui-même est une question ouverte

La séquence

Le plus souvent, c'est le décideur qui arrive avec un besoin, formulé comme une intention. Ça devient une entrée en Triage, rien de plus, et surtout pas un ticket de travail.

Cette demande initiale est tracée comme une entrée, avec sa source, et reste distincte des observations que l'instruction produira. C'est ce qui permettra plus tard de dire si une décision reposait sur une conviction ou sur un constat.

Si la CP accepte le besoin au triage, le Project est créé en To scope, avec un ticket de cadrage dedans. C'est sur ce ticket que se pose le temps de tout ce qui suit, jusqu'au grooming.

Puis :

01

L'instruction

CP ou tech lead, seul avec l'IA et le code 45 min, timeboxé

On instruit un dossier : on rassemble les pièces avant de trancher. On ramasse tout ce qui est trouvable : ce que le produit fait aujourd'hui, ce que la donnée d'usage montre, ce que le backlog Linear contient déjà sur le sujet, ce que le CSM sait des demandes clients, et ce que le sujet touche techniquement.

Celui qui instruit ne décide rien. Il produit une note de constats, en quatre parties :

  • La demande initiale, telle qu'elle est arrivée, avec sa source.
  • Les constats sourcés, chacun avec son pointeur : un fichier, une requête, un ticket. Un constat sans pointeur est une opinion.
  • Ce qui n'a pas pu être établi, et qui reste donc une décision.
  • Les questions à trancher, qui deviennent l'ordre du jour de la session.

La note est postée en commentaire du ticket de cadrage et lue par tous les participants 24 h avant la session. Sans cette lecture, les vingt minutes du temps 1 ne tiennent pas. C'est elle qui transforme « je pense que » en « voilà ce qu'on observe », et c'est pour cette raison qu'on ne la saute pas quand on est pressé.

02

La session de cadrage et de conception

Les décideurs du besoin + le tech lead + les devs concernés 1 h

Une seule session, parce que séparer le quoi du comment en deux réunions espacées recrée un cycle en V : on décide, on découvre le prix, on revient. Mais elle se joue en deux temps, et l'ordre compte.

Temps 1, vingt minutes : la conception fonctionnelle. On tranche ce que la fonctionnalité doit faire, sans parler de coût. L'IA se tait sur le comment, même si elle connaît déjà la réponse : c'est une instruction à lui donner explicitement, sinon elle la donnera spontanément. Si le prix est sur la table dès la première minute, l'option la moins chère gagne, et on construit la chose facile au lieu de la chose utile sans jamais s'en apercevoir.

Temps 2, quarante minutes : on estime et on arbitre. L'IA sort les constats techniques et deux ou trois approches avec leur ampleur. L'équipe choisit, et le périmètre bouge en conséquence.

Deux estimations coexistent dans ce document, à deux granularités différentes, et il ne faut pas les confondre. Ici, on estime les approches et le lot, assez pour arbitrer le périmètre. Au grooming, on estime les US en points, une fois qu'elles existent. À ce stade elles n'existent pas encore, et rien n'est figé.

Ce qui a bougé entre les deux temps est un livrable à part entière : ce qu'on voulait et qu'on n'a pas retenu, avec la raison. C'est ce qu'on relira le jour où le coût changera.

03

Le découpage

Tech lead anime, les devs découpent, la CP valide 45 min

L'IA propose deux ou trois découpages verticaux. L'équipe choisit lequel, sur le critère de ce qu'on accepterait d'abandonner, qui n'est pas un critère technique.

04

Le grooming

Toute l'équipe créneau hebdomadaire habituel

Les US sont estimées, le Project passe de To scope à Planned, et le budget en heures est posé dans Everhour.

Au total, moins de deux heures de réunion pour un lot, plus les 45 minutes d'instruction.

Quand le besoin est porté en interne

Si la personne qui porte le besoin fait partie de l'équipe, la session fusionnée est pleinement légitime : il n'y a personne à faire venir. Mais ce qu'on perd alors n'est pas de l'information, c'est de la contradiction. Quand la même personne veut la fonctionnalité, décide du périmètre, juge le coût et valide le résultat, plus rien ne vient démentir une intuition.

Deux parades : l'instruction, qui ramène des observations plutôt que des convictions, et un mandat explicite de contestation confié à la CP. Pas d'être d'accord poliment : de demander « a-t-on vraiment des demandes pour ça, ou est-ce une idée ? ».

Les livrables

LivrableQui le produitOù il vitCe qu'il contient
Entrée TriageCPLinearLa demande brute, telle qu'elle est arrivée
Le Project, en To scopeCP, à l'acceptationLinearUn responsable nommé. Pas encore de budget
Ticket de cadrageCPLinear, dans le ProjectLe temps de l'instruction, de la session et du découpage. Timeboxé, sans points
Note de constatsL'IA, pilotéeLinear, en commentaire du ticket de cadrageLa demande initiale, les constats avec leur pointeur, ce qui n'a pas pu être établi, les questions à trancher
Spec fonctionnelCPLinear Doc rattaché au projetProblème, valeur, décisions attribuées, critères d'acceptation, hors-périmètre, questions restées ouvertes
Plan techniqueTech lead et devsRepoApproche retenue, options écartées et pourquoi, impacts, risques
Périmètre abandonnéSortie du temps 2Avec le specCe qu'on voulait et qu'on n'a pas retenu, avec la raison de coût
Réponse de spikeLe dev qui l'a faitCommentaire du ticketLa réponse écrite à la question posée
Les USCP rédige, la tech découpeLinearL'unité de valeur, non estimée à ce stade
Le budget du ProjectCP, validé par le DPEverhourPosé au grooming, quand le lot sort de To scope. Alerte à 80 %

Deux exigences de format

  • Les décisions sont attribuées, partout. Sans cette séparation entre constats et décisions, personne ne pourra dire dans six semaines qui a tranché quoi, ni distinguer une décision prise avec le client d'une hypothèse raisonnable écrite un mardi soir.
  • Les options écartées sont un livrable, pas une note de bas de page. C'est ce qu'on regrette toujours de ne pas avoir six mois plus tard, quand quelqu'un propose exactement ce qui avait déjà été écarté.

Où se branche un outil de spec-driven development

Au niveau de l'US, jamais au niveau du lot. Le processus ci-dessus produit les US ; ensuite, chaque US est un cycle complet de l'outil : la spécification est déjà faite, l'US est le spec, et on enchaîne sur le plan, les tâches et l'exécution.

Le piège à éviter absolument

Les tâches générées restent dans le repo et ne deviennent jamais des issues Linear. Un générateur de tâches ordonne le travail techniquement : modèles, services, endpoints, interfaces, tests. C'est la bonne forme pour une exécution séquentielle et exactement la mauvaise pour mesurer le coût d'une unité de valeur.

Les importer dans Linear reviendrait à régénérer le découpage horizontal automatiquement et à grande échelle, ce qui détruirait précisément ce que le suivi de temps cherche à mesurer.

Où va ce temps

L'instruction, la session et le découpage sont du coût du lot, pas du temps interne. Ils vont sur le ticket de cadrage du Project, timeboxé et sans points, comme un spike. C'est pour ça que le Project existe dès l'acceptation du besoin, en To scope : au moment du cadrage, il faut déjà un endroit où poser ce temps.

C'est important précisément parce que l'IA raccourcit ces étapes : sans les tracer, on ne saura jamais combien on a gagné, et le ratio heures/point deviendra incomparable d'un lot à l'autre selon qu'on aura utilisé l'outil ou non.

04

Où s'arrête l'IA

La frontière ne passe pas entre le cadrage et la conception, mais à l'intérieur de chacun des deux. C'est ce qui la rend difficile à tenir intuitivement.

Le critère : d'où vient la réponse

Type de questionExempleQui répond
TrouvableCombien de services touche ce changement ? Quels écrans utilisent cette librairie ? Quels clients ont demandé ça, et dans quels termes ?L'IA, et mieux qu'un humain
MesurableEst-ce que ça tient à dix mille appels par heure ?Un spike. L'IA outille le test, elle ne donne pas la réponse
À déciderEst-ce qu'on laisse les appels en cours aller à leur terme ? Qui a le droit ? Est-ce qu'on facture pendant la pause ?Un humain nommé

Le test pratique, en une question : si je conteste cette phrase, sur quoi peut-on s'appuyer pour me répondre ? Si on peut pointer un fichier, un log, une requête sur la donnée d'usage, c'est du territoire IA. Si la seule réponse possible est « on a décidé ça », c'est du territoire humain, et il faut alors savoir qui a décidé.

Noter que « quels clients ont demandé ça » est trouvable : c'est dans le backlog Linear, dans Slack et dans ce que le CSM a noté, et une IA le lira mieux que nous. Alors que « quelle approche retenir sachant qu'on veut pouvoir migrer dans six mois » est une décision, bien qu'elle soit purement technique. D'où le fait que la frontière traverse les deux activités au lieu de les séparer.

La même chose, autrement dit

L'IA est sûre quand vérifier sa réponse coûte moins cher que la produire. Vérifier « ça touche quatorze fichiers » prend deux minutes de lecture. Vérifier « les clients accepteraient un délai de deux minutes » demande d'appeler des clients, donc on ne le fera pas, et une réponse plausible passera pour une décision prise.

Ce qui rend la frontière tenable

Un critère sans mécanisme ne survit pas trois semaines, et une règle du type « ne pas laisser l'IA décider » est inapplicable : au moment où elle décide, ça ne se voit pas.

La frontière ne se garde pas par la discipline, elle se garde par la structure du document produit. Quel que soit l'outil, un spec sépare trois blocs :

  • Constats, chacun avec son pointeur : un fichier, une ligne, un ticket. Vérifiable en deux minutes.
  • Décisions, chacune avec qui l'a prise, quand, et sur quoi elle se fonde : une donnée d'usage, une demande client identifiée, ou une conviction. Les trois sont acceptables, une conviction produit est parfois exactement ce qu'il faut. Ce qui ne l'est pas, c'est de ne plus pouvoir les distinguer. C'est le seul bloc que la CP relit, et ça lui prend cinq minutes au lieu de trente pages.
  • Questions ouvertes : ce que ni l'IA ni son pilote ne peuvent trancher seuls.

Avec cette séparation, la relecture devient assez bon marché pour être réellement faite. C'est tout l'enjeu.

Les deux instructions à donner à l'outil

Ne comble jamais un vide de décision : liste-le. Si une information manque pour trancher, la réponse attendue est la question, pas une hypothèse raisonnable.

Pour chaque affirmation, indique sa source : le code, un document, ou un choix. Si c'est un choix, dis qui doit le faire.

Quand l'IA pose une question, elle a déjà bien travaillé : elle a identifié un point de décision. Le risque n'est jamais dans les questions qu'elle pose, il est dans celles qu'elle ne pose pas, parce qu'elle a trouvé un défaut plausible. Ces deux instructions attaquent exactement cela.

Trois choses hors périmètre, quel que soit l'outil

  • L'estimation. Un nombre plausible sans origine connue contamine le grooming, pour la raison exposée à la section 5.
  • L'arbitrage de priorité. C'est un jugement de valeur, il n'est trouvable nulle part.
  • Le choix du découpage en US. Celui-là est moins évident : il ressemble à un exercice technique alors que c'en est un de valeur. Découper verticalement, c'est décider ce qu'on accepterait d'abandonner, et l'IA ne sait pas ce que le client tolérerait de perdre. Elle peut proposer trois découpages, ce qui est très utile ; c'est l'humain qui choisit, et le critère de choix n'est pas technique.
05

Le parcours d'une US

Six étapes, dans l'ordre. C'est la seule séquence numérotée de ce document, parce que l'ordre y porte du sens.

Ce parcours est celui d'une US, un ticket de type Feature ou Improvement. Les étapes 5 et 6, développement et saisie, valent pour tous les tickets sans exception. Les étapes 1 à 4 changent pour un bug, une dette ou un spike : c'est l'objet de la section 6.

01

Créer

La CP écrit l'US depuis un template Linear : Feature, Bug, Improvement ou Spike. Le titre est un verbe à l'infinitif suivi de son objet, du point de vue de l'utilisateur : « Permettre l'export des données de facturation en CSV », jamais « Export CSV » ni « Fix bug export ».

Pas de ticket fourre-tout. « Retours », « Tests preprod », « Travailler l'UI/UX » : tout le temps qui y tombe est perdu pour l'analyse, et c'est toujours le plus gros bucket si on le laisse exister.

Corollaire à assumer : pas de ticket, pas de travail, donc on accepte les tickets de deux minutes. Si créer un ticket coûte cher, la règle sera contournée dès la première semaine.

02

Cadrer

Avant d'entrer en grooming, une US porte : le problème et la valeur, des critères d'acceptation testables, les maquettes ou le contrat d'API le cas échéant, les dépendances identifiées, et aucune question ouverte bloquante.

C'est une checklist de conversation, pas une porte contractuelle. On ne rejette pas une US : on ne l'estime pas tant qu'il reste une question ouverte bloquante. Estimer du flou ne produit pas une estimation faible, ça produit une estimation fausse qui pollue l'historique pour toujours.

Cette checklist n'a pas un poids fixe, elle se calibre à la taille du sujet. Et elle suppose qu'une conception fonctionnelle a eu lieu : sous une forme ou une autre, elle a forcément eu lieu, sinon il n'y a pas d'US. Elle répond au quoi ; l'estimation et la conception technique répondent au comment. Ce sont deux exercices différents, qui ne réunissent pas les mêmes personnes, même quand ils se tiennent dans la même session.

SujetConception fonctionnelle : le quoiEstimation et conception technique : le comment
Une US isoléeLa CP écrit en cinq minutes ; le grooming complète si besoinAu grooming
Un lotInstruction, puis temps 1 de la session : 20 min, sans les devsTemps 2, dans la foulée : 40 min, avec les devs
Un lot à conception lourdeTemps 1 : on décide la direction, pas le détailUn spike conception timeboxé, puis une seconde session pour estimer

Ce qui rend le temps 1 abordable, c'est qu'il ne mobilise pas l'équipe tech : c'est la CP et le tech lead avec ceux qui portent le besoin. Le temps 2, lui, coûte cher parce qu'il réunit les devs, d'où le fait que la session se déclenche sur critères (section 3) et pas par défaut.

Règle d'ancrage

La CP ne met jamais d'estimation, même indicative. Pas de « je dirais deux jours » dans la description ni à l'oral. Les travaux de Magne Jørgensen sur l'estimation logicielle montrent qu'une ancre numérique déplace significativement les estimations même quand ceux qui estiment savent qu'elle est arbitraire. L'avertissement ne protège pas. Une phrase suffit à fausser un grooming.

Elle peut en revanche négocier le périmètre une fois l'estimation posée. C'est très différent, et parfaitement sain.

Pour un lot, ce cadrage est un processus à part entière

Instruction, session de cadrage en deux temps, découpage, grooming : la section 3 le décrit en entier, avec ses livrables. La checklist ci-dessus reste ce que l'US doit porter à l'arrivée ; elle se calibre à la taille du sujet.

03

Découper

Le découpage se fait en grooming, collectivement, pas par le tech lead dans son coin. Ceux qui feront sont ceux qui découpent.

Verticalement, toujours. Chaque US traverse back, front et test, et se démontre seule. Un découpage Back / Front / Tests / MEP est un cycle en V déguisé : aucune brique n'est livrable, et le coût par unité de valeur disparaît. L'annexe A montre les deux découpages du même travail, côte à côte.

Le bon découpage se juge à un seul critère : est-ce qu'il permet de déprioriser une partie du travail ? Un découpage qui ne permet de rien jeter n'est pas un découpage, c'est un plan de charge.

Le découpage technique produit deux choses différentes, et il faut savoir laquelle. Si l'US tient en deux jours, c'est une checklist dans la description. Si elle est trop grosse, elle est redécoupée en plusieurs US, et ça se fait avec la CP, parce que ça change le découpage de la valeur livrée.

Où vivent l'estimation et le temps

Au même niveau, et ce niveau est l'US. Ce n'est pas une préférence d'organisation mais une contrainte de mesure : comparer une estimation posée à un niveau avec du temps saisi à un autre ne produit rien d'exploitable.

C'est la revue qui tranche. Un relecteur lit une PR qui couvre toute l'US, il ne peut pas répartir ses quarante-cinq minutes entre trois sous-tickets. Son temps atterrira donc sur l'US quoi qu'il arrive ; et si le développement s'est imputé sur les sous-tickets, le même ticket porte du temps à deux niveaux et plus aucun total n'est honnête.

  • L'US tient en deux jours (cas normal). Checklist dans la description, pas de sous-issues. Estimation et temps sur l'US.
  • Un dev préfère des sous-issues pour s'organiser : c'est son droit, à deux conditions : elles ne portent ni points ni temps, et elles n'entrent pas dans le cycle. Une sous-issue non estimée ajoutée au cycle en gonfle le périmètre affiché.
  • Une sous-issue dépasse une journée, ce n'est plus une sous-issue, c'est une US. On la sort, et elle porte sa propre estimation et son propre temps.

Autrement dit : chacun découpe son travail comme il le souhaite, mais l'estimation et le temps ne bougent pas de l'US. Le premier point est une question ouverte pour l'équipe, le second n'en est pas une, une donnée saisie à deux niveaux différents selon les personnes ne se répare pas après coup.

Le piège en pratique

Linear propose spontanément d'ajouter une sous-issue au cycle de son parent. C'est la condition qui se perdra en premier, et elle se perd silencieusement : le cycle se remplit de tickets non estimés qui en gonflent le périmètre affiché sans que personne ne l'ait décidé.

Le contrôle à faire au planning : le nombre de tickets du cycle doit correspondre au nombre d'US engagées, pas au nombre de lignes affichées dans Linear. Si l'écart se creuse, ce sont des sous-issues qui se sont invitées.

04

Estimer

On garde l'échelle linéaire déjà configurée dans Linear. On ne la change pas : le sujet n'est pas la forme de l'échelle, c'est que tout ce qui entre dans un cycle porte une estimation. Un chantier à la fois.

Deux règles d'usage suffisent, et elles ne demandent aucun réglage :

  • « 0 point » n'est pas une estimation et disparaît. Un ticket est estimé, ou il ne l'est pas, il n'y a pas de troisième état.
  • Au-delà de 8, le ticket n'est pas estimable : on redécoupe. Une cotation élevée n'est pas une information, c'est un aveu.

Le point n'est pas une durée, et on ne le convertit pas par une formule. Le lien entre les deux se mesure : c'est le ratio heures/point, calculé après deux ou trois cycles de saisie. Un avantage de l'échelle linéaire, d'ailleurs, sa relation au temps est plus régulière que celle d'une suite de Fibonacci, donc le ratio converge plus vite.

L'estimation couvre développement + revue + retours, puisque c'est ce que l'US portera comme temps. Le périmètre estimé doit être exactement le périmètre tracké, sinon le ratio heures/point est faux d'un biais constant, donc invisible.

Les tâches étalons

On maintient cinq ou six tickets réels, déjà terminés, dont on connaît le temps constaté et la cotation. « C'est plus gros que l'étalon à 3, plus petit que celui à 8 » est infiniment plus fiable qu'une discussion dans l'abstrait. On les rafraîchit chaque trimestre : c'est le vrai moteur de progression du chiffrage.

La règle du spike

Si l'incertitude empêche d'estimer, on ne devine pas : on crée un spike, un ticket d'investigation à durée fixée, quatre heures, dont le livrable est une réponse écrite en commentaire. Puis on ré-estime. C'est probablement la règle la plus rentable de ce document ; elle est détaillée en section 6.

On ne réécrit jamais une estimation a posteriori pour la faire coller au réel. L'écart est l'information.

05

Développer et relire

Cette étape et la suivante valent pour tous les tickets, quel que soit leur type.

Definition of Done : mergé. Pas « PR ouverte ».

La revue n'est pas une sous-tâche. Linear la modélise déjà comme un statut, et créer un ticket de relecture assigné à quelqu'un d'autre pour vingt minutes de travail ne tiendra pas. Le relecteur logge son temps directement sur le ticket relu, dans Everhour, être assignee n'a rien à voir avec le droit de pointer.

Conséquence utile : un ticket porte le temps de plusieurs personnes, ce qui rend la lecture individuelle encore moins praticable. Et le coût réel de la fonctionnalité inclut enfin sa relecture, qui pèse couramment entre 15 et 25 %, l'annexe A en déroule un cas chiffré.

Le ticket est le lieu du contexte : décisions et arbitrages en commentaire dans l'issue, jamais dans Slack seul. Test : quelqu'un qui reprend le ticket dans six mois doit comprendre sans demander à personne.

06

Saisir son temps

  • Fin de journée, cinq minutes, avant de fermer. Vendredi 17 h est la deadline ferme de la semaine, ensuite la semaine est verrouillée.
  • Arrondi à 15 minutes. Plus fin, c'est de la fausse précision. Quatre PR relues en vingt minutes : on met 15 minutes sur la plus grosse et on passe à autre chose.
  • Pour retrouver ses relectures du jour : le filtre reviewed-by:@me côté GitHub, ou la vue de ses reviews dans Linear.
  • Personne ne saisit à la place de quelqu'un d'autre.
  • L'extension navigateur Everhour est obligatoire pour voir le timer dans Linear, et chacun connecte son compte Linear individuellement. À faire le premier jour, sinon on croit que l'outil ne marche pas.

Où va le temps qui n'est pas du produit

Un projet Interne, un seul bucket, aucune sous-catégorie. On y met les réunions et le support / les interruptions, les deux seules activités qui surviennent au milieu d'une US et qui, sans destination, atterriraient dessus en la faussant silencieusement.

La veille, la formation, le recrutement et l'administratif ne sont pas suivis pour l'instant. On les rajoutera si le besoin apparaît.

Cible honnête : 70 à 75 % du temps sur des tâches produit. Viser 100 % ne produirait que du déclaratif faux.

06

Bugs, dette et spikes

Leur imposer les règles de l'US ne marcherait pas. On ne demande pas de critères d'acceptation à un bug, et on ne cote pas ce qu'on n'a pas encore diagnostiqué.

TypeQui le créeCe que le ticket doit contenirEstimé ?Passe en grooming ?
US Feature · ImprovementCPProblème, valeur, critères d'acceptationOui, en pointsOui
BugQuiconque le constateEnvironnement, étapes de reproduction, attendu contre obtenu, gravitéNonNon, priorisé à la gravité
Dette DetteLa techCe qui coince et le coût de ne rien faireOui, en pointsOui
Spike ticket d'investigationTech leadLa question posée, la timebox, le livrable attenduNon : c'est une timeboxNon

Le bug

Un bug ne s'estime pas avant d'être diagnostiqué. L'inconnue, c'est justement le diagnostic, coter un bug non diagnostiqué, c'est estimer un spike en l'appelant autrement. La règle : diagnostic timeboxé à deux heures, puis de deux choses l'une. Soit le correctif tient dans la foulée et le ticket se ferme, soit on sait maintenant ce qu'il faut faire et on crée un ticket estimable.

Conséquence : les bugs ne portent pas de points, on leur réserve de la capacité. Environ 20 % du cycle au démarrage, à ajuster. C'est plus honnête que de coter ce qu'on ne connaît pas, et ça évite un effet pervers classique : une équipe qui estime ses bugs affiche une vélocité qui monte quand la qualité baisse.

C'est là qu'Everhour sert vraiment

Ce que les bugs vous coûtent, aucune estimation ne vous le dira. Everhour, si. Au bout de deux cycles vous saurez quel pourcentage de votre capacité part en correction. Ce chiffre devient alors deux choses : une donnée d'entrée du planning, et un indicateur de qualité à suivre dans le temps.

Le hotfix

Un hotfix ne passe ni par le grooming ni par le cycle : il est créé, corrigé, déployé. La seule exigence, non négociable, il est créé quand même, et le temps y est saisi. Un correctif urgent traité sans ticket disparaît du décompte, et c'est précisément ce qui rend une capacité réelle incompréhensible. Il rejoint ensuite le cycle courant pour que son temps soit rattaché quelque part.

La dette technique

Elle s'estime, contrairement au bug : on sait ce qu'on va faire. Elle passe donc en grooming comme une US, et elle a sa capacité réservée (environ 15 %), sinon elle ne passe jamais. Le tech lead propose, la CP arbitre.

Le ticket porte le label Dette et vit dans le projet qu'il concerne, pas dans un projet « Dette technique » fourre-tout : celui-là ne se termine jamais, donc aucun budget ne peut s'y poser. Un vrai chantier de refonte, lui, est un lot livrable comme un autre.

Et un ticket de dette dit ce qui coince et le coût de ne rien faire. Sans cette seconde phrase, il ne sera jamais priorisé.

Le spike

Un spike est un ticket d'investigation à durée fixée, dont le livrable est une réponse écrite, pas du code. On en crée un quand on ne peut pas estimer parce qu'on ne sait pas encore.

Nous en faisons déjà, sans lui donner ce nom : un ticket « documenter et estimer le coût du remplacement de telle librairie » est exactement cela.

Le problème qu'il résout : en grooming, quelqu'un demande « combien pour remplacer cette librairie ? » et personne ne sait, ça dépend du nombre d'écrans concernés, de leur couplage, de ce que couvre l'alternative. Trois réponses sont possibles, deux sont mauvaises.

  • Deviner un chiffre. Il entre dans l'historique et plus personne ne saura que c'était une devinette. C'est ainsi qu'on fabrique un ratio heures/point faux.
  • Refuser de planifier. Le sujet reste au backlog indéfiniment.
  • Acheter la réponse à prix fixe : « on prend quatre heures pour aller voir, jeudi prochain on saura chiffrer ». C'est le spike.

Les quatre règles qui le distinguent d'un ticket normal

  • Une seule question, écrite avant de commencer. « Combien d'écrans utilisent cette librairie, et lesquels portent de la logique custom ? », pas « regarder la librairie ».
  • La timebox est décidée à l'ouverture, et elle est ferme. Quatre heures pour une question technique, deux à trois jours pour un spike conception qui produit des maquettes : la durée varie, le caractère ferme non. À la fin on s'arrête et on rapporte ce qu'on a, y compris « c'est plus gros que prévu », qui est une réponse utile. Un spike qui déborde devient le travail lui-même sans que personne l'ait décidé : c'est l'échec classique.
  • Le livrable est écrit, en commentaire du ticket. Le code produit pendant un spike est jetable par défaut : on l'a écrit pour comprendre, pas pour livrer.
  • Pas de points, mais le temps est saisi. La timebox est l'estimation. Et un spike ne rentre pas dans la vélocité pour une raison de fond : l'exploration et le développement n'ont pas le même rapport au temps, donc les mélanger fausserait le ratio heures/point.

À la fin, on crée le vrai travail, et cette fois il est estimable.

Le spike conception

Quand la conception demande plus d'une session, elle prend la même forme : un spike conception, timeboxé à deux ou trois jours, dont le livrable est nommé à l'ouverture. « Les maquettes des trois écrans, validées par le décideur », par exemple.

Deux différences avec un spike technique, et elles ne changent pas les règles : son livrable est gardé et entrera dans les US qui suivront, et sa Definition of Done est validé par le décideur, pas « livré ». Les allers-retours de validation se saisissent sur le même ticket, exactement comme les retours de revue de code.

Et si la conception demande plus d'un cycle, ce n'est plus un spike : c'est un lot à part entière, avec son propre budget.

Ce que l'IA change au spike

Beaucoup de questions autrefois traitées en spike se répondent désormais en dix minutes avec le code sous les yeux. La règle devient donc : le spike commence là où l'IA avec le code s'arrête.

Ce qui reste, c'est ce que le code ne contient pas : le comportement réel d'une API tierce, la tenue en charge, ce que veut vraiment l'utilisateur.

Ce que ça change pour la vélocité

Votre vélocité ne mesure que les US et la dette. C'est voulu, et il faut l'assumer devant l'équipe : une vélocité qui inclurait bugs et spikes deviendrait un indicateur inversé, meilleur quand la qualité se dégrade.

Les capacités réservées ne sont pas un trou dans la mesure. C'est Everhour qui les remplit, en réel, et cette fois sans avoir eu besoin d'estimer quoi que ce soit.

07

Les rituels

Le rythme hebdomadaire ne dépend pas de la longueur du cycle. Seuls le planning et la rétro la suivent.

À trancher

La durée du cycle n'est pas arrêtée. Une semaine donne deux fois plus de points de mesure sur le ratio et un rythme plus serré ; deux semaines absorbent mieux les imprévus et coûtent 1 h 30 de rituels en moins par dev et par semaine. Les chiffres qui suivent sont calculés sur un cycle de deux semaines.

RituelQuandDuréeQuiObjet
DailyTous les jours, 9h3015 à 20 minDevs + TLBlocages et flux, pas un rapport d'activité
GroomingJeudi 14h, chaque semaine45 minCP + TL + devsCadrer, découper, estimer les US suivantes. Un lot y sort de To scope
PlanningLundi 9h45, début de cycle45 minCP + TL + devsCapacité et engagement uniquement
DémoVendredi 14h, fin de cycle30 min+ directeur de projetC'est son moment
RétroVendredi 15h, fin de cycle45 minCP + TL + devsDont l'analyse des écarts, un cycle sur deux

Quatre règles qui font tout le travail

  • On n'estime jamais en planning. Le backlog y arrive déjà estimé, grâce au grooming hebdomadaire. Estimer en planning, c'est estimer sous la pression du « il faut que ça rentre », soit exactement l'effet d'ancrage qu'on cherche à éviter.
  • Le grooming ne déborde pas. Quarante-cinq minutes, chrono. Ce qui n'est pas passé attend jeudi prochain. C'est le seul mécanisme qui oblige à préparer en amont. Un pré-tri CP + tech lead de quinze minutes la veille garde la session courte.
  • La rétro s'ouvre en vérifiant les deux actions de la précédente. Maximum deux actions, chacune avec un porteur et une date. Sans cette ouverture, une rétro devient un rituel de plainte et ne mérite pas son heure.
  • Le directeur de projet n'est ni au daily ni à la rétro. En rétro sa présence tue la parole ; au daily elle transforme un point de flux en reporting.

Ce qui sort d'un grooming

Chaque ticket passé en revue ressort dans l'un de ces trois états. Les nommer à voix haute évite qu'une session se termine sur du flou.

  • Prêt, estimé, il peut entrer dans un prochain cycle.
  • Question ouverte simple, la CP complète, il revient jeudi prochain. On ne l'estime pas d'ici là.
  • Incertitude sur le comment, il part en spike, ou en session de cadrage si c'est un lot. On ne l'estime surtout pas : c'est là qu'on fabriquerait un chiffre faux pour toujours.

La semaine type

Lundi
9h30 Daily9h45 Planning (début de cycle)
Mardi
9h30 DailyRien d'autre, journée protégée
Mercredi
9h30 Daily
Jeudi
9h30 Daily14h Grooming
Vendredi
9h30 Daily15h Rétro (fin de cycle)17h Deadline de saisie de la semaine

Tout est en début de journée ou juste après le déjeuner, jamais à 11h ni à 16h : ce sont les seules plages où l'on code vraiment. Grouper les cérémonies vaut mieux que les répartir « pour équilibrer ».

Ce que ça coûte réellement

PostePar dev et par semaine
Daily × 51 h 15 à 1 h 40
Grooming45 min
Planning22 min
Démo15 min
Rétro22 min
Saisie du temps25 min
Total, sur un cycle de deux semaines3 h 25 à 3 h 50, soit 10 à 11 % d'une semaine de 35 h

La CP et le tech lead sont plutôt à quatre heures. Le directeur de projet à une heure, et c'est volontaire. Ce chiffre est aussi une des composantes du coefficient de charge qui servira aux chiffrages.

08

Qui décide quoi

Trois personnes peuvent légitimement dire « fais plutôt ça ». C'est le principal risque, et il se règle par un tableau.

Rédige l'USValide le cadrageDécoupeEstimeOrdonne le backlogArbitre un dépassement
Directeur de projetinfluencedécide
CPouiavec le TLjamaisseuleprépare
Tech leadcontraintesavec la CPanimeavec les devséclaire
Devscontribuentfontdécident
  • Le directeur de projet ne réordonne pas le backlog en cours de cycle. Il arbitre en amont et lit le consommé dans Everhour. S'il court-circuite, les devs reçoivent deux signaux et les écarts deviennent illisibles, on mesurera du désordre organisationnel en croyant mesurer du chiffrage.
  • Une seule personne ordonne le backlog : la CP. Et quand le besoin est porté en interne, son rôle n'est pas de recueillir ce besoin mais de le contester : c'est ce qui rend sa propriété du backlog réelle plutôt que formelle.
  • Personne ne fait Scrum Master. Protéger le cycle des interruptions et faire tenir les rituels n'est pas optionnel : les interruptions sont l'une des quatre causes d'écart qu'on analysera en rétro. Cette fonction est portée par le tech lead. Si on ne nomme personne, elle n'est pas faite.
  • À trancher avant le démarrage : est-ce que assignee veut dire « qui fait » ou « qui suit » ? La réponse change complètement la façon de lire Everhour, et elle doit être la même pour tout le monde.

Les signaux que suit le tech lead

Ils viennent tous de Linear ou de GitHub, jamais d'Everhour. Ils sont objectifs, ils ne se déclarent pas, et chacun ouvre une conversation précise au lieu d'un jugement.

SignalCe qu'il révèle le plus souvent
Un ticket immobile plus de trois jours en In ProgressSujet plus gros que prévu, ou blocage que personne n'a dit
Trois allers-retours ou plus en revueCritères d'acceptation flous, ou désaccord d'approche non tranché
Un ticket bloqué depuis plus d'une semaineDépendance externe que personne ne relance
Une charge de revue très concentrée sur une personneGoulot d'étranglement, et risque d'épuisement
Des tickets systématiquement redécoupés en cours de routeDécoupage fait trop tôt, ou cadrage insuffisant

« Ton ticket est en revue depuis six jours » ouvre une conversation utile. « Tu as saisi vingt-huit heures cette semaine » n'ouvre rien.

09

Linear source de vérité

Une règle de discipline. Elle ne tient que si l'on en paie le prix.

Une seule source par type d'information

InformationOù elle vit
Avancement, périmètre, étatLinear, toujours
Spec fonctionnel d'un lotLinear Doc rattaché au projet
Note de constatsLinear, en commentaire du ticket de cadrage
Plan technique, tâches généréesLe repo, liés depuis l'issue. Jamais un document orphelin
Décisions et arbitragesEn commentaire dans l'issue concernée
Temps passé, budget consomméEverhour, et nulle part ailleurs
  • Interdiction du tableur de suivi parallèle. Le jour où un Excel apparaît, il y a deux vérités, elles divergent en trois semaines, et c'est toujours Linear qu'on accuse d'être faux. Si quelqu'un a besoin d'une vue, elle se construit dans Linear ou dans Everhour.
  • Slack ne crée pas de travail. Une demande en message direct n'existe pas tant qu'elle n'a pas d'issue. L'intégration Slack de Linear (créer une issue depuis un message) rend la règle tenable plutôt que moralisatrice.
  • Une colonne Triage pour tout ce qui arrive de l'extérieur, que la CP vide deux fois par semaine. Sans elle, soit ça pollue le backlog, soit ça repart en message direct. Vider, c'est trancher : un besoin accepté devient un Project en To scope avec son ticket de cadrage ; les autres sont fermés ou gardés au backlog, avec la raison.
  • Automatiser l'état via Git : branche créée depuis Linear, PR liée qui bascule le ticket en In review, merge qui le passe en Done. C'est la mesure la plus rentable de la liste : elle rend « Linear = vérité » gratuit au lieu de coûteux, et fiabilise les dates de fin.
10

La boucle d'apprentissage

Sans elle, tout ce qui précède ne sert à rien. C'est le seul endroit où le chiffrage progresse.

Chaque mois, 30 minutes, en rétro

Les cinq plus gros écarts entre estimé et réel. Une seule question : la cause est-elle un sous-scoping, des interruptions, des critères d'acceptation flous, ou du temps non saisi ? On cherche la cause, jamais le responsable.

Chaque trimestre

  • Recalcul du ratio heures/point de l'équipe. Il est propre à cette équipe et ne se partage jamais avec une autre.
  • Mise à jour des tâches étalons.
  • Mise à jour du coefficient de charge (temps produit sur temps total) qui alimentera les devis.
La même logique, appliquée au jugement produit

Puisque chaque décision porte son fondement, on peut regarder six mois plus tard lesquelles ont donné des fonctionnalités réellement utilisées. Celles décidées sur preuve contre celles décidées sur intuition : lesquelles servent ?

C'est exactement le ratio heures/point, transposé au jugement produit au lieu du chiffrage. On ne sait pas aujourd'hui si nos intuitions sont bonnes, et sans trace on ne le saura jamais. Avec, on le saura en deux trimestres.

Au bout de trois mois, on obtient la seule chose qui compte vraiment : quand cette équipe dit huit points, ça coûte X jours. C'est ça, l'outil de chiffrage, pas une table de conversion décidée à l'avance.

11

Du point au chiffrage

Comment on passe d'une estimation en points à un devis en jours, sans jamais estimer un ticket en heures.

Complexité au niveau du ticket, temps au niveau du lot

C'est le principe qui lève la contradiction apparente entre les deux outils. Nous n'avons pas besoin de convertir un ticket en heures : nous avons besoin de chiffrer un lot. Ce ne sont pas les mêmes exigences de précision.

  • Un ticket porte des points, dans Linear. Personne ne l'estime en heures.
  • Un lot porte un budget en heures, dans Everhour, avec une alerte à 80 %. C'est le seul niveau où Everhour pose un budget de toute façon. Il est posé au grooming, quand le lot sort de To scope, jamais avant : avant l'estimation, il n'y a rien à budgéter.

Il n'y a donc pas de double estimation à produire. Saisir une estimation en heures ticket par ticket serait du travail en double, et surtout sans valeur : celui qui vient de dire « 3 points » écrira mécaniquement « 9 heures ». La seconde estimation n'apporte aucune information indépendante, elle recopie la première : c'est le même effet d'ancrage que partout ailleurs dans ce document.

Un ratio heures/point est une distribution, pas une conversion

C'est le malentendu à dissiper. Après vingt tickets, on n'obtient pas « 1 point = 3 heures ». On obtient : les tickets à 3 points ont pris entre 5 et 14 heures, médiane 9 heures. Cette dispersion n'est pas un défaut de mesure, c'est la nature de la chose.

Et c'est exactement pour cette raison que le procédé fonctionne sur un lot et pas sur un ticket : sur quarante points, les écarts individuels se compensent. Une somme de nombreuses estimations imprécises mais non biaisées est bien plus fiable que chacune prise isolément. Un point ne dira jamais ce que coûte ce ticket, il dira ce que coûte ce lot, ce qui est la seule chose nécessaire pour un devis.

La formule

Chiffrage d'un lot

Durée en semaines = (points du lot × ratio h/point) ÷ heures-US disponibles par semaine

Les deux termes sortent d'Everhour, et aucun ne demande d'estimer quoi que ce soit en heures.

TermeD'où il vientExemple
Points du lotSomme des estimations Linear des US du lot40 pts
Ratio h/pointEverhour divisé par Linear, sur les tickets terminés du trimestre3 h/pt (médiane)
Heures-US par semaineEverhour : temps saisi, hors interne, bugs et dette64 h

Le second terme se mesure, il ne se modélise pas

C'est ici que les capacités réservées cessent d'être des hypothèses. Everhour dira, semaine après semaine, comment le temps d'une équipe de quatre devs se répartit réellement :

Répartition observée sur une semaine · 130 h saisies par 4 devs
Interneréunions, support
22 h
Bugscapacité réservée
26 h
Dette techniquecapacité réservée
18 h
USce qui porte des points
64 h
Total saisi
130 h

Seule la dernière ligne alimente la formule. Les trois autres ne sont pas des pertes : ce sont les raisons pour lesquelles une équipe de quatre devs ne produit pas 140 heures d'US par semaine, et pour lesquelles un planning qui l'oublie se trompe systématiquement d'un facteur deux.

Le calcul, en entier

Un lot à 40 points, ratio médian de 3 h/point, soit 120 heures de travail. Divisé par 64 heures-US par semaine : 1,9 semaine.

Et on annonce une fourchette, jamais un chiffre. Avec un ratio compris entre 3 et 4 h/point (la médiane et le haut de la distribution), le même lot pèse 120 à 160 heures, soit 1,9 à 2,5 semaines. C'est cette fourchette qui part dans le devis, et le budget Everhour du projet se cale sur son haut.

Les deux conditions du calcul

Le ratio ne se calcule que sur des tickets terminés. Tant que la clôture se fait en lot, il y a du temps saisi mais aucun dénominateur pour le diviser.

Un total de points n'a de sens que si tout le lot est estimé. Multiplier un total incomplet par un ratio juste ne donne rien.

Ces deux conditions remplies, il faut encore deux à trois cycles de saisie. Soit six à huit semaines avant le premier chiffrage fondé, autant l'annoncer d'emblée.

12

Ce qu'on ne fait pas

  • Convertir les points en heures par une formule. Points et heures restent deux mesures distinctes ; seul le ratio observé les relie.
  • Estimer un bug avant de l'avoir diagnostiqué. C'est un spike déguisé, et ça fausse la vélocité dans le mauvais sens.
  • Changer l'échelle d'estimation en même temps que tout le reste. Choix assumé : on garde le linéaire. Trois quarts des tickets ne sont pas estimés du tout : c'est ça le sujet, pas la forme de l'échelle.
  • Viser 100 % du temps tracké. On obtiendrait du déclaratif faux.
  • Activer le facturable / non facturable. On ne refacture pas : ce serait une décision de plus à chaque saisie, pour zéro valeur.
  • Faire porter des points ou du temps à une sous-issue. L'estimation et le temps vivent sur l'US, toujours au même niveau, sinon aucun total n'est honnête.
  • Afficher la vélocité comme un objectif. Une mesure qui devient une cible cesse d'être une bonne mesure.
  • Déployer sur toute l'équipe d'un coup. Deux cycles de rodage d'abord, le bucket Interne est toujours faux au premier essai.

Annexe A

Un cas d'exemple, de bout en bout

Une fonctionnalité fictive mais réaliste, suivie de la demande initiale jusqu'au temps saisi. Toutes les règles de ce document y passent, dans l'ordre.

1 · La demande arrive

Le décideur arrive avec un besoin, formulé comme une intention : « On devrait pouvoir mettre une campagne en pause. »

À ce stade il n'y a rien d'exploitable. Pas de ticket, donc pas de travail, mais aussi, et surtout, pas assez de matière pour en écrire un. La CP crée une entrée en Triage, avec le décideur pour source.

Au triage, elle accepte le besoin : le Project Pilotage des campagnes est créé en To scope, avec son ticket de cadrage. Deux critères de déclenchement sont réunis (le sujet traverse le front, la gateway et le moteur d'appel, et il touche le modèle de campagne), donc la session est calée.

2 · L'instruction

Quarante-cinq minutes, la CP seule avec l'IA et le code. Elle ne décide rien : elle rassemble les pièces. La note de constats, postée en commentaire du ticket de cadrage, ressemble à ceci.

Note de constats · extrait

Demande initiale
« On devrait pouvoir mettre une campagne en pause. » Source : le décideur, à l'oral.

Constats

  • Une campagne a trois états : brouillon, en cours, terminée. Aucun ne permet une reprise. modèle Campaign, champ status
  • Des campagnes sont supprimées puis recréées dans l'heure avec le même fichier de contacts : le contournement existe déjà. requête sur la donnée d'usage
  • Plusieurs entrées du backlog évoquent l'arrêt d'une campagne, toutes formulées comme une suppression regrettée. recherche Linear « supprimer campagne »

Non établi
Le moteur d'appel sait-il s'arrêter proprement en cours de campagne ? Le code ne permet pas de le dire sans essayer.

À trancher
Qui peut mettre en pause ? Que deviennent les appels en cours, et les contacts pas encore appelés ? Les crédits ? Combien de temps une pause peut-elle durer ? Et trois questions de moindre portée.

Chaque constat a son pointeur. Ce qui n'en a pas n'entre pas dans la note : c'est une opinion, et elle aura sa place au temps 1, attribuée à quelqu'un.

3 · La session, temps 1 : la conception fonctionnelle

Vingt minutes, le décideur, la CP et le tech lead. Pas de dev dans la salle, et personne ne parle de coût. On reprend les questions de la note une par une. Ce qui en sort, ce ne sont pas des descriptions mais des décisions ; voici les cinq qui ont le plus de conséquences :

  • Qui peut mettre en pause ? L'admin du compte uniquement. Un viewer ne voit pas l'action.
  • Que deviennent les appels déjà lancés ? On les laisse aller à leur terme. Les interrompre dégraderait l'expérience du contact.
  • Les contacts pas encore appelés ? Ils restent en file, la reprise repart de là.
  • Et les crédits ? Rien n'est décompté pendant la pause.
  • Combien de temps une campagne peut-elle rester en pause ? Sept jours, au-delà elle s'arrête d'elle-même.

Chaque décision est notée avec ce qui la fonde : une donnée d'usage, une demande identifiée, ou une conviction assumée. Sans cette session, chacune de ces questions serait tombée sur un dev en cours de développement, et aurait été tranchée par lui, seul, sans que personne ne le sache.

4 · La session, temps 2 : l'estimation

Les devs rejoignent, pour quarante minutes. L'IA sort les constats techniques et les approches possibles, avec leur ampleur. La question restée non établie à l'instruction revient aussitôt : le moteur d'appel sait-il s'arrêter proprement en cours de campagne ? Personne dans la salle ne sait. On ne devine pas, on crée un spike.

Le spike, en situation

Question posée : à quel moment le moteur d'appel peut-il être interrompu sans perdre de contacts ni laisser un appel orphelin ?
Timebox : 4 heures. Livrable : une réponse écrite en commentaire.

Réponse trouvée : le moteur consomme la file par lots de cinquante. On peut s'arrêter entre deux lots, pas au milieu de l'un d'eux. La pause prendra donc effet en deux minutes au maximum.

Et voilà pourquoi le spike vaut quatre heures : cette réponse change la décision produit. On ne peut pas promettre un arrêt instantané, donc on affichera la latence dans l'interface. Sans le spike, on l'aurait découvert en recette, avec une US déjà estimée sur une promesse intenable.

Approche retenue : un état paused sur la campagne, que le worker vérifie entre deux lots. Elle part dans le plan technique, dans le repo, avec les options écartées ; les décisions fonctionnelles vont dans le spec, en Linear Doc rattaché au projet.

Ce qui a bougé entre les deux temps : la pause programmée à l'avance, voulue au temps 1, est abandonnée pour raison de coût. C'est noté, avec la raison, et on la retrouvera dans le hors-périmètre de l'US.

5 · Le découpage

C'est ici que tout se joue. Voici les deux découpages possibles du même travail.

Le découpage horizontal, à ne pas faire

  • Back : ajouter l'état pausedRien de visible, rien de démontrable.
  • Front : bouton pause et badgeUn bouton qui ne fait rien tant que le back n'est pas là.
  • TestsCe n'est pas du travail, c'est une étape de chacun des autres.
  • MEPCe n'est pas du travail non plus, c'est la Definition of Done.

Aucune de ces quatre briques n'est livrable seule. On ne peut en abandonner aucune. Et à l'arrivée on saura ce qu'a coûté « le back », pas ce qu'a coûté la mise en pause, c'est-à-dire précisément l'information qu'on cherchait.

Le découpage vertical, à faire

  • US 1 · Mettre une campagne en pause et la reprendreLe cœur : action réservée à l'admin, arrêt entre deux lots, reprise sur les contacts restants. 3 pts
  • US 2 · Voir qu'une campagne est en pause et depuis quandBadge et date dans la liste des campagnes. 2 pts
  • US 3 · Arrêter automatiquement une campagne en pause depuis 7 joursUne protection, pas une fonctionnalité. 2 pts
  • US 4 · Prévenir le client avant l'expiration de sa pauseConfort. 1 pt

Chacune traverse back et front, chacune se démontre seule, et la valeur décroît du haut vers le bas. On peut abandonner les US 3 et 4 sans casser quoi que ce soit : c'est le seul vrai test d'un bon découpage.

6 · L'US écrite

Voici US 1 telle qu'elle doit apparaître dans Linear. C'est le format à reproduire.

Feature · 3 points · projet « Pilotage des campagnes »

Mettre en pause une campagne en cours et la reprendre

Contexte
Un client qui repère une erreur dans son agent ou son fichier de contacts n'a aujourd'hui aucun moyen d'interrompre une campagne lancée. Il doit la supprimer et tout relancer, en perdant l'historique des appels déjà passés.

Valeur
Un admin peut arrêter une campagne qui part de travers sans perdre son travail, puis la reprendre une fois la correction faite.

Critères d'acceptation

  • Un admin voit l'action « Mettre en pause » sur une campagne en cours
  • Un viewer ne voit pas cette action
  • Après la mise en pause, aucun nouvel appel n'est lancé
  • Les appels déjà en cours vont à leur terme
  • Aucun crédit n'est décompté pendant la pause
  • « Reprendre » relance la campagne sur les contacts non encore appelés
  • L'interface indique que l'arrêt peut prendre jusqu'à deux minutes

Hors périmètre
L'expiration automatique à sept jours (US 3), la notification au client (US 4), la pause programmée à l'avance.

Dépendances
Le spike sur l'interruption du moteur d'appel doit être terminé.

Sept critères testables, un hors-périmètre explicite. C'est le hors-périmètre qui empêchera la discussion « ah mais je pensais que… » trois semaines plus tard.

7 · L'estimation en grooming

US 1 est présentée. Un dev annonce 5, un autre 2.

On ne fait pas la moyenne, on cherche l'écart : celui qui disait 5 pensait qu'il fallait gérer l'arrêt au milieu d'un lot. Le spike a montré que non. On converge à 3.

C'est la vraie fonction du grooming. Un écart entre deux estimations n'est presque jamais un problème de calibrage : c'est une différence de compréhension du périmètre. La révéler avant le développement coûte deux minutes ; la découvrir après en coûte des jours.

Les quatre US estimées, le Project passe de To scope à Planned, et son budget en heures est posé dans Everhour. Le temps déjà saisi sur le ticket de cadrage et sur le spike y figure : il fait partie du coût du lot.

8 · La cinématique

US 1 traverse le workflow. Voici qui fait quoi, et où va le temps.

StatutQuiCe qui se passeTemps saisi
TodoCPL'US entre dans le cycle
In ProgressDev ADéveloppe back et front6 h 45
In reviewDev BRelit la PR, demande des changements45 min
In ProgressDev ACorrige les retours1 h 30
In reviewDev BRelit à nouveau, approuve, merge15 min
Test DevDev AVérifie sur l'environnement de dev30 min
Test FonctionnelCPDéroule les sept critères d'acceptation30 min
Test Prod DoneMise en production

Trois personnes ont saisi du temps sur le même ticket, et aucune ne l'a fait sur un ticket qui lui était propre. C'est exactement l'intention : le temps se pose sur l'unité de valeur, pas sur les gens.

Répartition des 10 h 15 saisies · en rouge, ce qui relève de la revue
Développement initialDev A
6 h 45
RelectureDev B
45 min
Correction des retoursDev A
1 h 30
Seconde relectureDev B
15 min
Test devDev A
30 min
Validation fonctionnelleCP
30 min
Total sur l'US
10 h 15

9 · Ce que le ticket nous a appris

  • La revue a coûté 2 h 30, soit 24 % du ticket. Sans la règle « la revue et les retours vont sur l'US », on aurait enregistré 7 h 45 au lieu de 10 h 15. Le biais serait constant, donc invisible, et donc impossible à corriger. C'est la seule raison pour laquelle cette règle existe.
  • Estimé 3 points, réalisé 10 h 15. Un point ne vaut rien tout seul : c'est en accumulant vingt tickets comme celui-ci qu'on obtient un ratio heures/point utilisable pour chiffrer les projets suivants.
  • Le spike a économisé une reprise en recette. Quatre heures dépensées pour éviter une promesse intenable et une US à ré-estimer.
  • Rien dans ce parcours n'est attribuable à quelqu'un. Le ticket porte le temps de trois personnes ; les 1 h 30 de correction ne sont ni une faute du Dev A ni un mérite du Dev B, c'est le coût normal d'une revue qui sert à quelque chose.
  • Si on avait découpé horizontalement, on saurait aujourd'hui ce qu'a coûté « le front » sur ce lot. On ne saurait toujours pas ce que coûte une mise en pause de campagne, la seule chose dont on ait besoin pour chiffrer la prochaine.
Annexe B

Les quatre conditions

Quatre conditions à remplir avant de brancher Everhour. Sans elles, l'outil produira de la donnée illisible, et les deux dernières conditionnent directement le ratio de la section 11.

01

Trancher « Project = lot livrable »

Un projet est un lot qui se termine. Les domaines permanents, les composants et les grands thèmes deviennent des vues filtrées ou des labels. Sans ça, aucun budget en heures n'a d'endroit où se poser : on ne budgète pas quelque chose qui ne finit jamais.

Et créer le statut To scope, de type Backlog, dans les réglages du workspace. C'est lui qui donne au temps de cadrage un projet où se poser (section 2).

02

Supprimer le label Epic

Faire remonter ces issues au niveau Project ou Milestone. Un même chantier qui existe à la fois comme série de jalons et comme issue étiquetée Epic produit deux vérités concurrentes, et aucun rapport ne sait les additionner.

03

Estimer tout ce qui entre dans le cycle

L'échelle ne change pas. La couverture, si : 100 % des tickets estimables qui entrent dans un cycle portent une estimation. Pas tout le backlog, seulement ce qui entre.

C'est le prérequis dont dépend l'objectif principal, et c'est le seul de la liste qui demande un changement d'habitude plutôt qu'un changement de réglage. Rappel : bugs et spikes ne sont pas concernés, ils ont leur capacité réservée.

04

Fermer les tickets au fil de l'eau

C'est le prérequis le plus important et le plus facile à sous-estimer. Un ratio heures/point ne se calcule que sur des tickets terminés : tant que la clôture se fait en lot une fois par mois, nous aurons du temps saisi et aucun dénominateur pour le diviser.

L'automatisation Git y répond presque entièrement : PR liée, merge, passage automatique en Done. C'est aussi le seul de ces quatre prérequis qui se règle par un réglage plutôt que par une habitude.

Le volume embarqué dans un cycle et la fluidité de la validation sont un chantier séparé, plus lourd. Ils ne bloquent pas le démarrage d'Everhour, mais ils reviendront en rétro tant qu'ils ne seront pas traités.

Annexe C

Questions ouvertes

Ce qui suit se décide avec l'équipe, pas à sa place. Ce qui n'y figure pas n'est pas ouvert, et la dernière partie dit lesquelles et pourquoi.

Chaque question est accompagnée de pistes avec leurs avantages et leurs inconvénients. Elles servent à démarrer la discussion, pas à la borner : une réponse qui ne figure pas dans la liste est un bon signe. Cette annexe sert une fois, à l'atelier de lancement ; le reste du document sert tous les jours.

Ce que l'équipe décide

Saisie en fin de journée, ou timer au fil de l'eau ?

Fin de journée Une seule interruption, cinq minutes, rien à penser dans la journée Reconstitution de mémoire, précision réelle de l'ordre de ±30 min
Timer au fil de l'eau Précision réelle, capture les interventions courtes Un timer oublié met huit heures sur un ticket et fausse la semaine
Mixte : timer sur les blocs longs, saisie manuelle pour le reste Le meilleur des deux sur la majorité des cas Deux habitudes à tenir au lieu d'une

Le choix peut rester individuel : les deux produisent la même donnée.

Sous-issues ou checklist dans la description ?

Checklist markdown Zéro effet de bord : rien n'entre dans le cycle, rien ne pollue les rapports Pas d'état par étape, pas d'assignation possible
Sous-issues Progression visible, deux personnes peuvent se répartir le travail Elles s'invitent dans le cycle et en gonflent le périmètre affiché

Dans les deux cas : ni points ni temps dessus, et jamais dans le cycle.

La durée du cycle : une semaine ou deux ?

Deux semaines Absorbe mieux les imprévus, et 1 h 30 de rituels en moins par dev et par semaine Deux fois moins de points de mesure sur le ratio, donc un calibrage plus lent
Une semaine Rythme serré, écarts visibles vite, deux fois plus de mesures Le planning et la rétro reviennent chaque semaine : la cérémonie double

Le rythme hebdomadaire ne bouge pas dans les deux cas. Seuls le planning et la rétro suivent le cycle.

Les créneaux des rituels vous conviennent-ils ?

Groupés en début de journée (proposition actuelle) Protège les après-midis, qui restent longs et continus Charge la première heure, dure pour ceux qui démarrent tard
Répartis dans la semaine Rien de lourd d'un seul coup Fragmente toutes les journées : c'est le pire scénario pour le travail de fond
Une demi-journée « rituels » par cycle Quatre journées totalement libres Le daily perd son sens, et une demi-journée sans production se remarque

Deux jours comme seuil de découpage, ou plus serré ?

Deux jours Compromis courant, environ cinq US par dev et par cycle Demande un vrai effort de découpage sur les sujets techniques
Un jour Écarts très visibles, flux rapide, estimations plus fiables Beaucoup de tickets à créer et estimer, et le découpage devient artificiel
Trois jours Moins de cérémonie, moins de tickets Un ticket de trois jours en cache facilement cinq, et ça se voit trop tard

Quinze minutes comme pas de saisie, ou trop fin ?

15 minutes Capture la revue, qui pèse 15 à 45 min par ticket Demande de découper mentalement sa journée
30 minutes Très rapide à saisir, presque sans effort Efface les revues courtes, c'est-à-dire précisément ce qu'on cherche à mesurer
5 minutes Donne un sentiment d'exactitude Illusoire : en déclaratif du soir, la précision réelle reste de ±30 min

Le pas doit être plus fin que le plus petit poste qu'on veut mesurer.

Où l'IA intervient dans la création des US, et où elle reste dehors ?

Relecture seule : critiquer une US contre la checklist de cadrage Risque nul, l'humain décide de tout, gain immédiat sur la qualité Aucun gain de vitesse
Relecture et brouillon à partir d'une demande brute Supprime la page blanche et l'oubli systématique du hors-périmètre Risque d'accepter des critères d'acceptation inventés sans les vérifier
Et un agent hebdomadaire sur le backlog : doublons, règles violées Fait respecter le cadre sans que personne n'ait à jouer au gendarme Produit du bruit s'il est mal calibré, et quelqu'un doit traiter ses signalements

La frontière et ses deux instructions sont posées en section 4. Ce qui n'est pas ouvert : l'IA n'estime jamais, n'arbitre pas les priorités, et ne choisit pas le découpage.

Les paramètres que nous avons devinés

Aucun de ces paramètres ne repose sur une mesure. L'usage les corrigera en quelques cycles, mais votre intuition vaut mieux que la nôtre en attendant.

Que met-on dans le bucket Interne ?

Réunions et support seulement (proposition actuelle) Une seule ligne, aucun classement à faire au moment de saisir On ne saura pas si c'est la réunionite ou l'astreinte qui pèse
Y ajouter veille, formation, recrutement Image complète du temps, et un coefficient de charge plus juste Chaque catégorie de plus est une décision de plus à chaque saisie

Commencer à un seul bucket, et ne le découper que s'il dépasse 20 % du total.

20 % de capacité bugs et 15 % de dette, ça vous paraît juste ?

Tels quels Laisse 65 % aux US, ce qui est un ordre de grandeur courant Chiffres arbitraires, posés sans aucune mesure
Plus bas, 10 % et 10 % Plus de place affichée pour le produit Les bugs déborderont quand même, et mangeront les US en silence
Aucune réservation Simple, rien à arbitrer La dette ne passe jamais : c'est le scénario par défaut de toutes les équipes

Mesurer un cycle sans rien réserver, puis fixer les chiffres sur le réel observé.

Six semaines en To scope avant péremption, c'est le bon délai ?

Six semaines (proposition actuelle) Laisse le temps de caler une session, même avec un décideur peu disponible Assez long pour qu'un projet oublié passe inaperçu un mois et demi
Un cycle Un rythme que tout le monde connaît déjà Trop court si le cycle fait une semaine : on annulerait des besoins encore vivants
Pas de délai, une revue de la colonne au pré-tri du grooming Aucun chiffre à deviner, et un créneau qui existe déjà Du cas par cas, donc des projets qui traînent parce que personne n'ose les annuler

Garder six semaines un trimestre, puis compter combien de projets sont sortis par la péremption plutôt que par le grooming.

Que veut dire assignee chez nous : qui fait, ou qui suit ?

Qui fait Lecture naturelle, charge par personne lisible d'un coup d'œil Il faut réassigner à chaque passage de main, sinon le champ ment
Qui suit Un responsable stable du début à la fin du ticket Impossible de lire une charge par personne, et ça déroute les nouveaux arrivants

« Qui fait », plus un label de référent sur les tickets qui en ont besoin.

Les cas de saisie que nous n'avons pas tranchés

Une journée hachée entre six tickets, on fait comment ?

Les deux ou trois gros nommément, le reliquat sur le plus gros Tenable au quotidien, saisie en deux minutes Les interventions courtes disparaissent du décompte
Tout, au pas de 15 minutes Exhaustif Dix minutes de saisie par jour : ça ne tiendra pas trois semaines
Un bloc « multi-tickets » sur Interne Honnête, et rapide Sort du produit un temps qui en fait partie, et fausse le coût des features

Deux personnes sur un même ticket ?

Les deux saisissent Coût réel : ce sont bien deux personnes mobilisées Le ticket « coûte » deux fois le temps écoulé, ce qui surprend à la lecture
Une seule saisit Le chiffre colle à la durée ressentie Sous-estime le coût de moitié, et rend le binôme invisible donc facile à supprimer

Le temps passé sur un ticket finalement annulé ?

Il reste sur le ticket annulé Du gâchis mesuré, c'est une information utile en soi Il faut penser à exclure les tickets annulés du calcul du ratio
On le bascule sur Interne Le ratio reste propre sans effort particulier On perd la trace de ce que coûtent les changements d'avis

Le laisser dessus, exclure les annulés du ratio, et regarder ce total une fois par trimestre.

Vingt minutes pour dépanner un collègue ?

Sur son ticket à lui C'est le coût réel de la fonctionnalité, entraide comprise Il faut retrouver le ticket le soir venu
Sur Interne Aucune friction Sous-estime le coût de la feature et rend l'entraide invisible

Sur son ticket au-delà de quinze minutes, rien en dessous.

Les quatre qui décideront de l'adoption

Celles-ci ne portent pas sur les règles, et ce sont les seules qui prédisent si le dispositif tiendra.

Qui voit quoi dans Everhour ?

Tout le monde voit tout ce qui est agrégé Rend l'engagement d'ouverture vérifiable au lieu d'une promesse Dans une petite équipe, l'agrégé permet parfois de recomposer l'individuel
La direction seule Simple à mettre en place L'engagement devient invérifiable : c'est le moyen le plus sûr de tuer l'adoption

Notre position : tout le monde voit tout ce qui est agrégé. Le geste vaut mieux que la phrase.

Qu'est-ce qui va vous empêcher de saisir votre temps ?

Pas « êtes-vous d'accord », à quoi tout le monde répond oui. Réponses à anticiper, chacune ayant sa réponse pourvu qu'elle soit dite :

  • « J'oublie » : la deadline du vendredi et un rappel calendrier à 17h.
  • « Je ne sais pas sur quel ticket le mettre » : c'est presque toujours un symptôme de ticket manquant.
  • « Je fais trois choses en parallèle » : les deux ou trois gros, le reste arrondi.
  • « Je n'ai pas envie qu'on voie que j'ai passé deux jours là-dessus » : c'est la vraie objection, et elle appelle la clause d'ouverture, pas un argument technique.

Qu'est-ce que vous voulez en tirer, vous ?

Si rien ne revient à ceux qui saisissent, c'est une taxe et elle sera contournée. Contreparties concrètes à proposer :

  • De quoi refuser une échéance intenable avec des chiffres plutôt qu'une intuition.
  • La preuve que le goulot de validation est réel, et sa durée exacte.
  • Le coût des interruptions, pour arbitrer l'astreinte.
  • Un argument chiffré pour faire passer de la dette technique.

À quoi saura-t-on, dans trois mois, que ça n'a pas marché ?

Définir les critères d'échec à l'avance : c'est ce qui évite le process zombie que plus personne n'ose remettre en cause. Quelques candidats :

  • Tout le monde saisit exactement sept heures par jour.
  • La couverture d'estimation retombe sous la moitié des tickets du cycle.
  • Le ratio heures/point est si dispersé qu'aucune fourchette n'est exploitable.
  • Plus personne ne consulte les rapports, y compris ceux qui les ont demandés.

Ce qui n'est pas ouvert

Le dire franchement vaut mieux qu'une fausse consultation, qui se repère en trois minutes et coûte plus cher que de ne rien demander.

La règlePourquoi elle ne se négocie pas
Le temps saisi ne compare jamais deux personnesUne donnée déclarative que chacun sait lue individuellement cesse d'être fiable en trois semaines
Le temps et l'estimation vivent sur l'USUne donnée saisie à deux niveaux selon les personnes ne se répare pas après coup
La revue se pointe sur le ticket reluSinon 15 à 25 % du coût disparaît, d'un biais constant donc indétectable
Definition of Done : mergéLe périmètre estimé doit être exactement le périmètre tracké
Ceux qui font sont ceux qui estimentUne estimation posée par un autre est une ancre, pas une estimation
L'IA n'estime jamaisMême raison : un nombre plausible sans origine connue contamine le grooming
Pas de tableur de suivi parallèleDeux vérités divergent en trois semaines, et c'est toujours Linear qu'on accuse
Deux points de méthode

Un tour écrit avant la discussion. Chacun note ses réponses avant que quiconque ne parle : sinon le premier qui s'exprime ancre la salle. C'est le même mécanisme que celui qui interdit d'annoncer une estimation en grooming.

Deux cycles d'essai, puis une revue avec l'option d'arrêter. Une règle présentée comme définitive appelle la résistance ; la même, datée et révisable, se fait essayer.