Le Backlog au cœur du Nouveau Forfait Agile

Le backlog est une composante fondamentale du Forfait Agile.  C’est LA référence partagée entre le client et le prestataire pour décrire les travaux à réaliser par le prestataire, et pour piloter la mise en œuvre tout au long du projet.

Le backlog de départ est constitué dans les phases avant-projet : cadrage, puis avant-vente ou consultation, avant d’être formalisé dans le contrat qui lie le prestataire et le client dans la réalisation du projet. C’est ensuite un document vivant qui évolue durant le projet pour traduire l’avancement de la réalisation et les évolutions du périmètre.

Contenu du backlog

Le Backlog permet de formaliser de manière synthétique ET précise le périmètre fonctionnel et technique du projet, à une maille compréhensible par le client. Il contient des items décrivant de manière granulaire :

Quelques exemples
L’ensemble des fonctionnalités attendues ·        Ajout d’un objet métier

·        Suppression automatique de données (traitement)

·        Export de données

·        Consultation d’un indicateur sous forme d’un graphique

Les principaux travaux techniques à réaliser ·        mise en place de la base technique

·        mise en place des environnements,

·        Mise en place d’un SSO

Les activités connexes représentant de la charge pour l’équipe du prestataire ·        Migration de données

Chaque item du backlog doit répondre aux exigences suivantes :

> Précis et détaillé : sans contenir le niveau de précisions d’une spécification fonctionnelle / technique détaillée, le backlog doit être suffisamment détaillé et non équivoque pour permettre un engagement forfaitaire du prestataire. Si nécessaire, l’item peut être accompagné de précisions / d’hypothèses nécessaires au dimensionnement des travaux à réaliser

Exemple OK
Ajout d’un client / Précision : via appel API Référentiel clients

Exemple KO
Gestion des clients

> Livrable unitairement : chaque item doit être indépendant,  testable et réceptionnable unitairement. Bien sûr, il est possible que la cohérence entre plusieurs items invite à réaliser des livraisons groupées pour faciliter les recettes, mais sans que cela soit une contrainte forte. Un item de backlog n’est pas une tâche de développeur et doit être porteur d’une valeur métier intrinsèque.

Exemple OK
Consultation du détail d’un client

Exemple KO
Appel WS consultation unitaire de l’API Référentiel Client
IHM de consultation du détail d’un client

> Non évidemment dissociable : chaque item doit être le plus granulaire possible (en respectant la contrainte de livrabilité unitaire) pour donner le maximum de latitude à la logique de trade In Trade Out, et pour réduire au maximum le risque d’équivoque.

Exemple OK
Consultation de la liste des clients
Consultation du détail d’un client
Ajout d’un client
Modification d’un client
Suppression d’un client
CRUD des clients / Précision : consultation du détail, ajout, modification & suppression

Exemple KO
Gestion des clients

Trouver le bon niveau de détail

La granularité à atteindre doit être suffisante pour permettre de bien identifier la complexité globale de réalisation et les hypothèses techniques et fonctionnelles sur lesquelles s’appuie l’évaluation des coûts de mise en œuvre, et rester suffisamment macro pour que le backlog reste un outil de représentation d’ensemble du projet utilisable pour le suivi de réalisation.

Les hypothèses associées à chaque item peuvent être utilisées pour préciser les éléments dimensionnant sans les inscrire comme autant d’items de backlog.

Exemple OK
TDB clients / Hypothèses : 3 blocs indicateurs / données à afficher récupérées via API réf. Clients

Exemple KO
TDB clients bloc indicateur 1
TDB clients bloc indicateur 2
TDB clients bloc indicateur 3

Le cadrage dans les phases avant-projet doit être réalisé avec soin pour identifier les éléments dimensionnant de l’effort de réalisation. Il est nécessaire d’identifier notamment les sources de données et les modalités d’accès, les éléments de volumétrie structurants, etc. Ces informations sont nécessaires pour l’évaluation de l’engagement forfaitaire du prestataire, et si elles ne sont pas précisées dans l’expression de besoin, elles seront probablement demandées par le prestataire.

Ceci-dit, le cadrage doit rester une étape « courte » à l’échelle de l’ensemble du projet, et il ne s’agit absolument pas de réaliser des spécifications détaillées en avance de phase ! L’essentiel est d’identifier les éléments dimensionnant pour l’effort de réalisation. Dans ce sens, il est clairement souhaitable que le backlog soit a minima visé par quelqu’un ayant une expérience significative des projets de développement.

L’évaluation en points de complexité

Chaque item est évalué individuellement de manière à pouvoir établir un poids relatif au regard de l’ensemble du projet. L’utilisation de points de complexité, par exemple selon la suite de Fibonacci utilisée classiquement en Agile, est une bonne manière de mesurer le poids de chaque item.

L’évaluation de complexité est un complément indispensable pour donner du relief au backlog, mais également pour constituer un socle de référence capable de servir de base à une évaluation plus objective et plus opposable de nouveaux items, par comparaison aux items existants.

Les points de complexité associés à chaque item sont transposables en coût de réalisation forfaitaire, sur la base d’un ratio de conversion proposé par le prestataire, incluant l’ensemble des prestations attendues (et dépendant de l’organisation mise en place chez le client autour du projet).

Un document vivant

Le backlog est bien plus qu’une base d’engagement contractuel : de l’avant-projet jusqu’à la fin des travaux, il évolue en intégrant les changements de périmètre (ajout / suppression d’items) et les réévaluations éventuelles liées aux modifications d’hypothèses.

Il sert également de support au suivi d’avancement de la réalisation, item par item (démarré, terminé, validé client), avec une vue globale rendue sous la forme d’un burn up chart.

En conclusion

Le backlog est donc un élément clé de l’approche Nouveau Forfait Agile. Constitué avec soin par le client en phase de cadrage, complété et précisé avec le prestataire en phase d’avant-projet, puis mis à jour au fil de l’eau pendant la réalisation jusqu’à la livraison finale.

 

Crédits :

Illustrations : Julie Boiveau / https://julieboiveau.wordpress.com