La gestion des exigences à court terme pour les projets Agile me semble être un problème résolu.
Sous l'angle Scrum, de nouvelles exigences ou des modifications apportées aux exigences existantes sont fournies via User Stories. Et les histoires d'utilisateurs regroupées sous une épopée ou une fonctionnalité facilitent la livraison d'exigences plus complexes et plus importantes.
Bien sûr, une User Story n'est pas techniquement un document d'exigences. Il s'agit d'un regroupement gérable de travaux qui correspond à ce que l'on appelle souvent une tranche verticale de fonctionnalités. Et la portée de ces histoires peut être définie sans ambiguïté grâce à l'utilisation des critères d'acceptation (AC).
Ainsi, bien que les User Stories ne soient pas des exigences formelles, leur navigation peut vous donner une idée assez claire de leurs exigences sous-jacentes. À court terme.
Je dis à court terme car, au fur et à mesure de l'avancement d'un projet, le nombre de User Stories augmente. Ainsi, parcourir une liste sans cesse croissante d'histoires pour trouver une exigence devient de moins en moins efficace au fil du temps.
Ce problème est aggravé lorsque vous envisagez des histoires d'utilisateurs qui se développent, remplacent ou annulent même les histoires précédentes.
Imaginez maintenant un écart de 2 ans entre les itérations de développement d'un projet (stable en production). L'équipe d'origine a disparu, tout comme toutes leurs connaissances.
Si l'équipe d'origine savait que cela allait se produire (par exemple, c'est la nature de l'entreprise), quelles mesures pourraient-elles prendre pour aider les équipes suivantes?
Bien sûr, l'arriéré fournira des informations, mais ce n'est guère sous une forme facilement consultable.
Alors, que peut-on faire pour aider les équipes suivantes à comprendre l'état du projet, y compris pourquoi et comment il y est arrivé?
D'après mon expérience, les choses suivantes ne fonctionnent pas:
- Préparation du backlog pour supprimer ou mettre à jour les user stories précédentes afin que le backlog puisse être lu comme un document d'exigences.
- Documentation Sprints où les membres de l'équipe sont chargés de documenter l'état actuel du système.
- Documentation via des tests de comportement . Cette approche est la seule que j'ai vue proche de fonctionner. Malheureusement, les tests de comportement codé sont victimes du problème de dénomination. Bien que les tests puissent documenter correctement le système, il est presque impossible d'obtenir une équipe fluctuante de développeurs pour écrire leurs tests en suivant la même terminologie, formulation et style de domaine.
Donc, pour réitérer:
Comment gérer à long terme les exigences d'un projet Agile?