Avant la première itération

Pendant chaque itération on refait le même type de travail, en le déclinant sur des nouvelles exigences. Mais pour pouvoir lancer la première itération, il faut faire un travail assez différent.

Que faut-il pour démarrer la première itération ? Comment appeler cette période avant le cycle des itérations ?

Certains parlent de l'itération 0 ou du sprint 0, d'autres d'une exploration ou d'une phase de préparation. Je préfère la notion de préparation, parce qu'il ne s'agit pas d'une itération au sens où s'entendent les suivantes : la plupart du temps, il n'y a pas de produit partiel au bout, mais seulement des documents et des plans. Le RUP qui, s'il n'est pas toujours vu comme agile, est clairement itératif propose une phase appelée Inception qui a à peu près le même objectif (en mettant plus l'accent sur l'architecture).

En fait la question intéressante est : de quoi dois-je disposer pour commencer ma première itération dans de bonnes conditions ?

Ce qui me semble indispensable :

  • une liste des exigences (il ne s'agit évidemment pas de faire une spécification détaillée) -c'est le backlog de produit-
  • une solution qui tienne la route ("proof of concept" de l'architecture),
  • une organisation en place (l'équipe),
  • et un plan initial de la release.

Une planification de la release suppose d'avoir, à partir de la liste des exigences, :

  • estimé les exigences (en points)
  • défini la priorité (l'ordre dans lequel développer les exigences).

Si en plus on définit la durée des itérations et on estime la capacité, on peut déduire, avec la date de fin pour la release, les exigences qu'on pense pouvoir faire pour cette date, compte tenu des connaissances actuelles.

C'est avec ce plan de la release (à mettre à jour régulièrement) que la première itération peut commencer dans de bonnes conditions.

Commentaires

1. Le mardi 16 mai 2006, 12:40 par Avangel

Aïe ! Vu que Free ramait sévèrement, j'ai un peu harcelé le bouton de submit de mon message :S Résultat mon rétrolien est un peu envahissant...

Désolé du désagrément ;)

2. Le jeudi 18 mai 2006, 13:42 par JPS

On pourrait élargir le sujet à des domaines extérieurs au développement de logiciels, mais dans lesquels l'agilité peut être (également) intéressante ... : pour lancer une démarche d'alignement métiers/DSI, ou pour une démarche d'accompagnement du changement, la décision de lancer la démarche est prise sans qu'aucune "spécification" soit disponible car elle correspond à une volonté des acteurs décideurs, évidemment éloignés des détails opérationnels. Je pense que la première itération représente dans ce cas la phase d'exploration du sujet, au terme de laquelle on devient capable de proposer un plan d'itérations (et/ou plan projet). Au plan de la gestion du projet (imputations) voire de l'aspect contractuel, la charge de cette première itération est à prendre dans le récurrent, ou en régie.


Claude : Un cadre contractuel ne devrait être mis en place qu'à la fin de cette phase de préparation (ou itération 0).
Un contrat à prix fixé et date fixée basé sur le backlog de produit est alors possible et peut même être agile : le client peut à tout moment changer une exigence pas encore commencée par une autre de valeur égale (en points).

La discussion continue ailleurs

1. Le mardi 16 mai 2006, 12:38 par .: Avangel's weblog :.

Phase de préparation du projet

Je viens de faire 3 matinées de formation sur l’Agilité et Scrum, et on m’a souvent demandé des détails sur le démarrage du projet (chose que j’ai intégrée explicitement dès la deuxième journée). Pour ma part, j’ai dis...

2. Le jeudi 18 mai 2006, 20:27 par L'Agilitateur

De l'entretien de sa propre estime

Claude Aubry récapitule ce que l'on peut faire avant la première itération pour bien démarrer un projet. L'élément qui a le plus retenu mon attention est "un plan initial de la release" qui suppose d'avoir...