title: Trame de création d'un ticket Linear¶
type: concept owner: auto confidentiality: internal last_updated: 2026-07-13 last_reviewed: 2026-07-13 review_cadence: quarterly tags: [concept, linear, specs, product, engineering]
Trame de création d'un ticket Linear¶
Modèle partageable pour rédiger une issue Linear chez Bricks — tickets humains et tickets éligibles à l'agent autonome.
Avant de créer le ticket¶
Issue ou project ?¶
| Situation | Où le mettre |
|---|---|
| 1 livrable cohérent (1 PR, 1 feature, 1 fix) | Issue dans un project existant |
| ≥2 livrables séparables, ≥2 surfaces, ou décision structurante | Project dédié + plusieurs issues liées |
Cf. Conventions Linear Bricks pour la hiérarchie initiative / project / issue.
Titre¶
Action concrète et observable, orientée métier.
- Bon : « Ajouter un export CSV sur la liste des projets »
- Mauvais : « Implémenter route GET /projects/export »
Trame type — description du ticket¶
Copier-coller dans le corps de l'issue Linear :
## Contexte
[1-3 phrases : pourquoi ce ticket existe, d'où il vient (meeting, ADR, demande user, bug remonté).
Lien vers la source si elle existe.]
## Problème
[Qui souffre, de quoi — 1-2 phrases.
À remplir si sujet produit. Omit si ticket purement technique sans pari produit.]
## Hypothèse
[Si [action], alors [résultat attendu] parce que [mécanisme].
Omit si N/A.]
## Outcome / métrique de succès
[Métrique + comment on la mesure + fenêtre temporelle.
Écrire `[outcome non formulé]` si inconnu — ne pas inventer.]
## Plus petit incrément (MVP de ce ticket)
[Minimum livrable pour apprendre ou débloquer — pas le scope complet du project.]
## Kill criteria
[Optionnel. Seuil ou date d'invalidation du pari pour CE ticket.]
## Parcours user (si impact UI)
[Entrée → happy path → sorties → retours en arrière.
Omit si ticket back / data sans surface user.]
## États couverts (si impact UI)
[Liste exhaustive : happy, vide, chargement, erreur, partiel, désactivé.
+ edge cases nommés : donnée tronquée, double action, hors ligne, abandon.
Tout ce qui n'est pas listé ne sera pas implémenté.]
## Niveau de fidélité retenu (si impact UI)
[zoning / wireframe / mid-fi / high-fi — et pourquoi.
Lien Figma si applicable.]
## Critères de QA design (si impact UI)
- États visuels à vérifier (happy + vide + chargement + erreur + partiel)
- Edge cases listés ci-dessus
- Accessibilité minimale (contraste, clavier, labels)
- Cohérence design system (pas de one-off)
- Qui valide vs maquette, et quand
## Story
En tant que [persona], je veux [action] pour [bénéfice].
## Critères d'acceptation
- [ ] Critère 1 — observable et testable
- [ ] Critère 2
- [ ] Critère 3
## Hors scope
[Liste explicite de ce qui n'est PAS dans ce ticket.]
## Risques, edge cases et données
- Edge cases fonctionnels (donnée absente, doublon, permission, erreur réseau, timeout…)
- Risques data / migration (volumes, invariants, rollback)
- Données de test nécessaires
- Cas explicitement reportés
## Vérification ownership
- Test manuel du parcours critique à réaliser
- Vérification preprod / prod (déploiement, feature flag, migration, activation)
- Logs / métriques à surveiller si pertinent
- Personnes à prévenir ou à faire tester
- Follow-up post-ship si nécessaire
## Contraintes techniques
[À remplir si applicable :
- Migration DB autorisée + schéma cible détaillé
- Dépendance npm autorisée + version + justification
- Surface sensible (paiements, KYC, votes…) → review humaine obligatoire
- Convention spécifique à respecter]
## Sources
- [ADR / meeting / Slack / transcript](url)
Sections à garder selon le type de ticket¶
| Type | Sections obligatoires |
|---|---|
| Tout ticket | Contexte · Story · Critères d'acceptation · Hors scope (si risque de scope creep) |
| Sujet produit | + Problème · Hypothèse · Outcome · Plus petit incrément |
| Impact UI | + Parcours · États couverts · Fidélité · QA design |
| Ticket éligible agent | Tout le template ci-dessus, sans ambiguïté résiduelle |
| Ticket technique pur | Contexte · Critères d'acceptation · Risques/edge cases · Contraintes techniques · Vérification ownership |
Métadonnées Linear (en plus du corps)¶
- Project : rattacher au project pertinent (ou préciser si ticket isolé)
- Priorité : Urgent / High / Medium / Low — posée maintenant, pas « à voir »
- Label
éligible agent: uniquement si le ticket est prêt pour l'agent autonome (spec complète, zéro arbitrage ouvert) - Relations :
blockedBy/relatedTo/ parent si dépendances
Test mental pour les dépendances : « Si A est fait mais B ne l'est pas, A peut-il être considéré comme livré ? »
- Oui → A bloque B
- Non → A est bloqué par B
Règles de rédaction¶
- Orienté métier, pas implémentation — ne pas prescrire contrôleurs, routes, hooks ; décrire le comportement attendu.
- Critères d'acceptation observables — pas « bonne UX » ou « code propre ».
- 1 ticket = 1 livrable cohérent — pas de ticket fourre-tout API + front + cleanup.
- Hors scope explicite — limite le scope creep.
- Pas d'ambiguïté — si un arbitrage n'est pas tranché, le ticket n'est pas prêt ; créer d'abord une ADR ou une synchro.
- Done = shippé en prod — une PR mergée ou un design fait ne suffit pas à fermer le sujet (conventions Linear).
Anti-patterns à éviter¶
| Mauvais | Pourquoi |
|---|---|
| « À voir avec l'équipe si on utilise X ou Y » | Arbitrage non tranché → ticket bloqué |
| « Améliorer la gestion des exports » | Trop large → découper en project + issues |
| Critères flous (« bien intégré ») | Pas vérifiable |
| Pré-mâcher l'implémentation | Le dev (ou l'agent) traduit |
Ticket sans - [ ] dans les critères |
Pas de validation possible |
Version courte (ticket simple, exécution humaine)¶
Pour un ticket ops ou technique sans pari produit :
## Contexte
[Pourquoi, source]
## Story
En tant que [persona], je veux [action] pour [bénéfice].
## Critères d'acceptation
- [ ] …
- [ ] …
## Hors scope
- …
## Vérification
[Comment on sait que c'est fait — test manuel, prod, qui valide]
Sources¶
- Conventions Linear Bricks — hiérarchie initiative / project / issue, définition de Done
- Lean Product Management — problème, hypothèse, outcome, MVP, kill criteria
- Product Design Bricks — parcours, états, fidélité, QA design
- Ownership engineering — vérification bout en bout (tests, prod, communication, follow-up)