Décider d'un cycle de vie pour les projets, et d'un horizon
Une petite mairie a plus de projets imaginables que de temps pour les mener, et la crainte première est d'en oublier. La section 27 pose les quatre états — envisagé, engagé, terminé, écarté —, l'horizon en mois des envisagés, et surtout ce qu'on écarte : la matrice d'Eisenhower, un backlog séparé, une vue de rétrospective. Elle garde aussi la trace de ce que le premier essai a corrigé, dont l'immobilité de la barre d'horizon, abandonnée à l'usage. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -827,3 +827,228 @@ vont par paires. La génération aurait produit une liste exacte et illisible.
|
|||||||
Elle se lit, elle ne s'édite pas (décision 24) : rien n'y aurait de sens à désigner. `j`, `k`, `gg`
|
Elle se lit, elle ne s'édite pas (décision 24) : rien n'y aurait de sens à désigner. `j`, `k`, `gg`
|
||||||
et `G` y font donc ce qu'ils font dans un document — ils déroulent la liste. `gm` et `ga` marchent
|
et `G` y font donc ce qu'ils font dans un document — ils déroulent la liste. `gm` et `ga` marchent
|
||||||
dans les deux vues, le reste attend le retour à la frise.
|
dans les deux vues, le reste attend le retour à la frise.
|
||||||
|
|
||||||
|
## 27. Le cycle de vie d'un projet, et l'horizon
|
||||||
|
|
||||||
|
L'outil est employé pour piloter les chantiers d'une petite mairie : beaucoup plus de projets
|
||||||
|
imaginables que de temps pour les mener, et une crainte première — **ne rien oublier**. Une idée
|
||||||
|
qu'on ne peut pas traiter cette année ne doit pas disparaître pour autant.
|
||||||
|
|
||||||
|
Or l'outil ne connaissait que les projets déjà planifiés. Tout ce qui n'était pas encore engagé
|
||||||
|
vivait ailleurs — un carnet, une tête, un compte rendu de réunion — de sorte que l'arbitrage se
|
||||||
|
rendait **sans voir le planning**, alors que c'est précisément le planning qui dit s'il y a la
|
||||||
|
place.
|
||||||
|
|
||||||
|
### La priorité est une décision d'avant l'engagement
|
||||||
|
|
||||||
|
Le point de départ était une matrice d'Eisenhower dans le panneau d'un projet. Deux objections
|
||||||
|
l'ont déplacée.
|
||||||
|
|
||||||
|
L'urgence est **déjà dans les dates**. La resaisir crée un champ qui se périme en silence : un
|
||||||
|
projet coché « urgent » en juin ne l'est plus en septembre, et rien ne viendra le décocher.
|
||||||
|
|
||||||
|
Surtout, une fois un projet planifié, **l'arbitrage est déjà rendu** — ce sont ses dates qui le
|
||||||
|
portent. Une priorité posée sur un projet engagé ne déciderait plus rien, elle commenterait. Le
|
||||||
|
lieu de la priorisation est donc en amont, sur ce qui n'est pas encore engagé.
|
||||||
|
|
||||||
|
### Quatre états, dont deux se déduisent
|
||||||
|
|
||||||
|
Un projet traverse quatre états, et deux d'entre eux se lisent dans les données sans qu'on ait
|
||||||
|
rien à tenir à jour :
|
||||||
|
|
||||||
|
| État | Comment on le sait |
|
||||||
|
|---|---|
|
||||||
|
| **Envisagé** | il n'a qu'un horizon, pas encore de phase |
|
||||||
|
| **Engagé** | on lui a donné au moins une phase datée |
|
||||||
|
| **Terminé** | toutes ses phases sont finies **et** on l'a acté |
|
||||||
|
| **Écarté** | on a décidé de ne pas le faire |
|
||||||
|
|
||||||
|
Une règle unique les résume : **les phases commandent l'état, sauf quand on a prononcé quelque
|
||||||
|
chose.** Livré n'est pas clos, et abandonner est une décision — ces deux-là s'actent. Le reste se
|
||||||
|
déduit.
|
||||||
|
|
||||||
|
**Clore un projet termine toutes ses phases avec lui.** Sans cela la frise se contredirait : une
|
||||||
|
ligne éteinte au-dessus de segments pâles, et la vue par mois annonçant des tâches à venir dans un
|
||||||
|
projet fini. C'est donc la seule opération du cycle qui **écrase des données** — le statut d'une
|
||||||
|
phase bloquée est perdu, et rouvrir le projet ne peut pas le deviner. Elle se confirme à ce titre,
|
||||||
|
comme une suppression (décision 21), mais **seulement quand il reste quelque chose à écraser** : un
|
||||||
|
dialogue qui ne prévient de rien apprend à cliquer sans lire.
|
||||||
|
|
||||||
|
Engager n'est donc pas un bouton : c'est un geste, celui de donner ses premières dates fermes. Et
|
||||||
|
écarter n'est pas supprimer — le projet quitte la frise mais reste retrouvable, avec dans ses notes
|
||||||
|
la raison pour laquelle on a dit non. Les mêmes idées reviennent tous les deux ans, portées par
|
||||||
|
d'autres : savoir qu'on les a déjà examinées, et sur quel motif, a de la valeur.
|
||||||
|
|
||||||
|
### L'horizon est le repli des bornes
|
||||||
|
|
||||||
|
Un projet envisagé n'est pas une ligne hors du temps : il porte un **horizon**, exprimé en mois —
|
||||||
|
« mars 2027 », « de mars à septembre 2027 », « courant 2028 » — et il se pose **sur la frise**, à
|
||||||
|
cet horizon. C'est là que l'arbitrage devient concret : quand le printemps 2027 est déjà chargé et
|
||||||
|
que six projets pâles s'y superposent, on décide devant l'évidence plutôt que dans l'abstrait.
|
||||||
|
C'est ce qui remplace le calcul de charge que l'outil ne fera jamais.
|
||||||
|
|
||||||
|
La règle tient en une phrase, et elle ne mélange pas le saisi et le calculé :
|
||||||
|
|
||||||
|
> L'emprise temporelle d'un projet se calcule depuis ses phases. Un projet qui n'en a pas encore la
|
||||||
|
> déclare à la main : c'est son horizon.
|
||||||
|
|
||||||
|
Les phases gagnent toujours. `bornesProjet()` fait déjà ce calcul et retourne `null` quand il n'y a
|
||||||
|
aucune phase — l'horizon bouche ce trou, il n'ajoute pas de règle. Corollaire : **on ne réécrit
|
||||||
|
jamais une saisie par un calcul**. Un projet qui perdrait sa dernière phase retrouve l'horizon qu'il
|
||||||
|
avait déclaré, pas l'enveloppe des phases disparues.
|
||||||
|
|
||||||
|
Le grain est le mois, jamais l'année : en début de mandat, tout est à faire, et un horizon annuel ne
|
||||||
|
range plus rien. Un horizon s'exprime comme un intervalle de mois plutôt que par des crans nommés —
|
||||||
|
ni trimestre ni semestre à apprendre, un seul mécanisme, et trois propriétés qui en découlent :
|
||||||
|
|
||||||
|
- **la largeur de la barre pâle *est* l'incertitude**, l'œil la lit sans qu'on l'écrive ;
|
||||||
|
- **la précision de l'horizon suit la maturité du projet** : on resserre à mesure qu'on y voit
|
||||||
|
clair. Il n'y a pas de frontière entre envisagé et engagé, il y a un dégradé ;
|
||||||
|
- **engager, c'est préciser au jour près** ce qui était au mois près.
|
||||||
|
|
||||||
|
La barre d'un projet envisagé se dessine donc autrement : pâle, aux bords fondus, et **accrochée au
|
||||||
|
mois** — jamais au jour. C'est l'accroche au lundi de la décision 9 poussée d'un cran : le geste
|
||||||
|
existe, il ne permet simplement pas de poser une date qu'on n'a pas.
|
||||||
|
|
||||||
|
Elle fut d'abord rendue **immobile**, au motif qu'interdire physiquement valait mieux qu'une
|
||||||
|
convention. L'usage a tranché autrement, et pour une bonne raison : on ajuste un horizon *en
|
||||||
|
regardant ses voisins*, pour voir si le printemps 2027 est déjà chargé. Obliger à passer par un
|
||||||
|
panneau pour ce réglage-là, c'est le faire à l'aveugle. L'accroche au mois suffisait à protéger ce
|
||||||
|
qui devait l'être.
|
||||||
|
|
||||||
|
L'horizon **survit à l'engagement**. Non pour le comparer à ce qui a été planifié, mais parce que ne
|
||||||
|
rien effacer est ici plus simple qu'effacer, et parce qu'il sert de filet si le projet se dépeuple.
|
||||||
|
|
||||||
|
### Un horizon échu remonte à la surface
|
||||||
|
|
||||||
|
Un backlog échoue toujours de la même façon : tout ce qu'on n'ose pas refuser y atterrit, il gonfle,
|
||||||
|
plus personne ne le relit. Les deux garde-fous habituels — un plafond, une péremption qui efface —
|
||||||
|
sont ici interdits par la crainte de départ.
|
||||||
|
|
||||||
|
L'horizon en fournit un meilleur : **un projet dont l'horizon est dépassé se signale**. On est en
|
||||||
|
juin, quatre projets visaient le premier trimestre : il faut trancher, on repousse ou on écarte.
|
||||||
|
Rien ne disparaît, mais rien ne dort — et la relecture tombe d'elle-même au rythme des arbitrages
|
||||||
|
budgétaires.
|
||||||
|
|
||||||
|
### Ce qui ancre un projet écarté
|
||||||
|
|
||||||
|
La question n'a pas la même réponse selon d'où vient l'écartement.
|
||||||
|
|
||||||
|
Un projet écarté **depuis l'état engagé** garde ses phases datées, dont certaines ont réellement eu
|
||||||
|
lieu. Il a un ancrage, et un vrai : le travail fait ne doit pas s'effacer, puisque la frise est notre
|
||||||
|
mémoire.
|
||||||
|
|
||||||
|
Un projet écarté **depuis l'état envisagé** n'a rien. Son horizon a cessé d'être une prévision — on
|
||||||
|
ne le fera pas à cette date, on ne le fera pas du tout — et l'y laisser serait un mensonge sur la
|
||||||
|
frise.
|
||||||
|
|
||||||
|
D'où **la date d'écartement**, posée automatiquement, jamais saisie. C'est l'ancrage commun aux deux
|
||||||
|
cas, celui sans lequel les écartés ne forment plus qu'un tas. Il ne s'agit pas de journaliser les
|
||||||
|
décisions — les comptes rendus de réunion font ce travail, et mieux — mais d'horodater une sortie.
|
||||||
|
|
||||||
|
La clôture est horodatée de la même façon, et c'est ce qui donne au modèle sa forme définitive :
|
||||||
|
**les deux actes prononcés laissent une date, et ces deux dates sont l'unique trace de l'état dans le
|
||||||
|
fichier.** Acter, c'est dater. Il n'y a pas de champ « état » — il se lit dans ces deux dates et dans
|
||||||
|
la présence de phases.
|
||||||
|
|
||||||
|
On les retrouve d'abord en les cochant dans le filtre par état, ce qui les ramène dans la colonne
|
||||||
|
des libellés, groupés et éteints. Cela répond à « je sais que ça existe, je veux le retrouver ». Cela
|
||||||
|
ne répond pas à « relire d'un coup deux ans d'idées écartées avec leurs motifs », qui demanderait une
|
||||||
|
liste — geste assez rare pour attendre que le manque se fasse sentir.
|
||||||
|
|
||||||
|
### La réanimation ne demande aucun mécanisme
|
||||||
|
|
||||||
|
Puisque les états se déduisent, il suffit de **retirer l'écartement** : le projet retrouve tout seul
|
||||||
|
l'état que ses données commandent. Des phases, il redevient engagé ; un horizon seul, envisagé. Pas
|
||||||
|
de destination à choisir, une seule commande.
|
||||||
|
|
||||||
|
Le système se referme bien : un projet écarté en 2026 et réanimé aujourd'hui revient avec un horizon
|
||||||
|
périmé, donc se signale aussitôt comme échu. On le redate dans la foulée.
|
||||||
|
|
||||||
|
```
|
||||||
|
écarté ←──────┐
|
||||||
|
↗ ↑ │ réanimer
|
||||||
|
/ │ │ (l'état se
|
||||||
|
envisagé ──────┴─ engagé ──→ terminé recalcule)
|
||||||
|
(un horizon) (≥ 1 phase) (acté)
|
||||||
|
↑ │
|
||||||
|
└──────────────┘
|
||||||
|
s'il perd sa dernière phase
|
||||||
|
```
|
||||||
|
|
||||||
|
### L'état ne passe pas par les tags
|
||||||
|
|
||||||
|
Un tag est libre, disparaît quand plus personne ne le porte, et dérive orthographiquement
|
||||||
|
(décision 16) : trois propriétés inacceptables pour un état. Ce sont deux mécanismes indépendants
|
||||||
|
qui filtrent la même frise, et les tags restent disponibles pour ce à quoi ils servent.
|
||||||
|
|
||||||
|
Les deux filtres ne se comportent d'ailleurs pas pareil, et il faut que cela se voie : **celui des
|
||||||
|
tags est conjonctif, celui des états est disjonctif**. Un projet porte plusieurs tags mais un seul
|
||||||
|
état — cocher `client` + `urgent` resserre, cocher `envisagé` + `engagé` élargit. La même case à
|
||||||
|
cocher voudrait sinon dire deux choses opposées selon la ligne où elle se trouve.
|
||||||
|
|
||||||
|
Comme celui des tags, le filtre par état **n'est pas enregistré** : c'est un état de vue, pas un
|
||||||
|
réglage.
|
||||||
|
|
||||||
|
### Ce que le premier essai a corrigé
|
||||||
|
|
||||||
|
Trois choses ne se sont vues qu'en manipulant l'outil, et toutes disaient la même : **un projet
|
||||||
|
envisagé ne doit pas être un citoyen de seconde zone**.
|
||||||
|
|
||||||
|
**Engager démarre à l'horizon.** La première phase d'un projet envisagé naissait à la date du jour,
|
||||||
|
comme celle de n'importe quel projet vide. Elle apparaissait donc à des mois de la barre pâle qu'elle
|
||||||
|
venait remplacer, et le lien entre les deux se perdait. Elle commence maintenant au premier jour de
|
||||||
|
l'horizon : engager, c'est préciser au jour près ce qu'on avait déclaré au mois près, pas repartir
|
||||||
|
d'ailleurs.
|
||||||
|
|
||||||
|
**Les deux actes sont dans le panneau, pas seulement dans le menu.** Ils avaient été rangés dans le
|
||||||
|
menu ⋯ au nom de la décision 20 — un bouton permanent se mérite, et clore un projet est rare. Mais
|
||||||
|
c'est dans le panneau qu'on **lit** l'état du projet, donc c'est là qu'on cherche à en changer : les
|
||||||
|
y chercher et ne pas les trouver coûte plus cher que deux boutons de plus. Ils figurent aux deux
|
||||||
|
endroits, comme « plier » ou « masquer ».
|
||||||
|
|
||||||
|
**Les projets sans phase paraissent dans la vue par mois.** Ils n'y figuraient pas, faute de phase à
|
||||||
|
lister — alors qu'un projet visé pour mars 2027 *arrive* bel et bien en mars 2027. Les omettre
|
||||||
|
revenait à dire que la liste ne montre que l'engagé, quand toute cette décision pose le contraire.
|
||||||
|
Ils s'y rattachent au premier mois de leur horizon, dans les mêmes colonnes que les phases mais en
|
||||||
|
italique. C'est ce qui a fait renommer `phasesParMois` en `entreesParMois` : la liste ne montre plus
|
||||||
|
seulement des phases.
|
||||||
|
|
||||||
|
La règle porte sur **l'absence de phases et non sur l'état**, exactement comme `empriseProjet` : un
|
||||||
|
projet écarté avant d'avoir jamais été engagé n'a lui non plus que son horizon pour se situer, et
|
||||||
|
il doit se retrouver là quand on ouvre le cimetière. La distinguer par l'état aurait fait du
|
||||||
|
cimetière de la liste par mois une collection des seuls projets qui avaient démarré — soit
|
||||||
|
l'inverse de ce qu'on y cherche.
|
||||||
|
|
||||||
|
### Ce qui a été reporté, et pourquoi
|
||||||
|
|
||||||
|
Ces choix ne sont pas des refus définitifs. Ils attendent leur moment, et il vaut mieux savoir
|
||||||
|
lequel.
|
||||||
|
|
||||||
|
**La matrice d'Eisenhower.** Elle n'a pas de sens sur des projets engagés, pour les raisons
|
||||||
|
ci-dessus. Sur les seuls envisagés elle redevient cohérente, et se branche même bien : l'horizon
|
||||||
|
fournit l'axe d'urgence, il ne resterait que l'importance à saisir. À reprendre quand une liste
|
||||||
|
existera, et seulement si l'horizon seul ne suffit pas à départager.
|
||||||
|
|
||||||
|
**Une vue liste des envisagés.** La frise sait situer, elle ne sait pas ranger : on ne peut pas
|
||||||
|
ordonner six projets par priorité dans un empilement de couloirs. Cette première étape ne livre donc
|
||||||
|
**aucun mécanisme d'ordre explicite entre projets** — ce qu'elle livre, c'est l'horizon, et c'est
|
||||||
|
déjà l'arbitrage le plus décisif. Reste le départage fin entre projets visant le même trimestre.
|
||||||
|
|
||||||
|
**Un dézoom de l'axe temporel**, pour embrasser plusieurs années d'un coup. Le jour où il arrivera,
|
||||||
|
il faudra rouvrir la décision 14, « une seule échelle, pas de zoom ».
|
||||||
|
|
||||||
|
**Une vue de rétrospective.** La frise défile en arrière sans limite (décision 15) : le passé y est
|
||||||
|
déjà lisible, et un écran de plus l'aurait redit. Corollaire à tenir : **un projet terminé reste sur
|
||||||
|
la frise**, éteint mais présent, sinon on perd le bilan.
|
||||||
|
|
||||||
|
**Des dates réelles à côté des dates prévues.** Ce serait doubler chaque champ pour un gain nul :
|
||||||
|
dans cet outil on recale les barres au fil de l'eau, donc la date de fin *devient* le réel. La
|
||||||
|
contrepartie est assumée — la qualité du bilan dépend de l'entretien de la frise, et aucun champ ne
|
||||||
|
répare un planning qu'on ne tient pas.
|
||||||
|
|
||||||
|
**Un repère de fin de mandat**, comme le repère « aujourd'hui ». Pertinent sur le principe, sans
|
||||||
|
urgence en début de mandat.
|
||||||
|
|
||||||
|
**Un retour arrière déclaré**, d'engagé vers envisagé. On déplace les dates, cela suffit. Le seul
|
||||||
|
cas où il survient — retirer la dernière phase — se résout tout seul par la règle des bornes.
|
||||||
|
|||||||
Reference in New Issue
Block a user