Spunto CMS
Concepts

Sprints, points et burndown

Un sprint est une liste qui porte des dates. Ses cartes restent dans leur backlog ; les points d'effort, le burndown et la vélocité se lisent dans le journal de l'espace et dans ce que chaque sprint contient.

Un sprint est une liste qui porte des dates

Une liste qui a un startsOn et un endsOn est un sprint — les deux dates ou aucune, des jours en UTC. Les cartes naissent dans leur backlog, qui leur donne leur clé (BACK-12), et sont rattachées au sprint en liste secondaire : passer au sprint suivant ne renumérote rien.

Terminer le sprint (POST …/collections/{collectionId}/complete-sprint, dans l'app web sur le bandeau du sprint) fait passer ce qui n'est pas fini — par catégorie de statut, jamais par nom — à la liste choisie, et laisse ce qui l'est là où ça a été livré. Une transaction, un événement du journal par carte.

Les points d'effort

L'espace désigne une propriété number comme ses points d'effort (Réglages de l'espace → Général → Points d'effort, ou PATCH /workspaces/{workspaceId} avec pointsFieldId). C'est un réglage de l'espace, pas de la liste : un sprint mêle des cartes de plusieurs backlogs, et une carte pèse la même chose dans chaque sprint où on la regarde.

Une fois désignée :

  • sa valeur s'affiche en pastille sur les cartes — cellules de tableau, cartes de kanban, lignes empilées, fiche ;
  • chaque colonne de kanban affiche la somme de ses points, sur la colonne entière et pas seulement sur les cartes chargées (sumFieldId sur POST …/grouped-query, rendu dans ItemGroup.sum) ;
  • le bandeau du sprint affiche faits / total, et combien de cartes ne sont pas estimées.

Une carte sans points pèse 0 — elle ne compte pas pour « une carte », ce qui mêlerait deux unités dans une même somme. Sans propriété désignée, tout se compte en cartes, chacune valant 1. Supprimer la propriété repasse l'espace en cartes.

Le burndown

GET …/collections/{collectionId}/sprint-report rend, pour chaque jour du sprint, le périmètre, ce qui était terminé et ce qui restait à la fin de ce jour, et une ligne idéale qui part du périmètre engagé le premier jour et descend jusqu'à zéro.

Il est relu dans le journal, du plus récent au plus ancien : passages de statut vers ou depuis la catégorie done (une carte rouverte jeudi cesse de compter jeudi), rattachements et détachements, réestimations, archivage. Une carte détachée par Terminer le sprint est un report, pas une réduction du périmètre : elle compte, non terminée, jusqu'au bout. Les jours à venir valent null — la courbe s'arrête à aujourd'hui.

Le journal se purge par mois

Quand une instance applique sa rétention, des mois entiers de journal disparaissent. Pour un sprint plus ancien que ce qui reste, le rapport le dit (burndown.historyFrom) et les jours d'avant valent null : inconnus, pas nuls.

Une carte supprimée sort de toute la courbe, jours passés compris : plus rien ne dit ce qu'elle pesait.

La vélocité

Le même rapport liste ce que chacun des six derniers sprints du même groupe de la barre latérale a terminé (les sprints rangés nulle part forment leur propre série), et la moyenne de ceux qui sont échus — le chiffre avec lequel planifier le suivant.

La vélocité lit l'état présent des cartes de chaque sprint, pas le journal : elle survit à la purge. Le prix : une carte rouverte ou réestimée plus tard réécrit la vélocité du sprint qui l'avait livrée. Une carte reportée puis terminée dans un sprint suivant compte une fois, dans le suivant.

Sur cette page