Il arrive souvent que la story soit mal exprimée, ce qui mène à une mauvaise compréhension généralement suivie par une implémentation insatisfaisante. Les caractéristiques d’une story peuvent se résumer avec l’acronyme INVEST

Indépendante

Définition

L’indépendance signifie qu’une User Story peut être développée, testée et éventuellement livrée seule. Par conséquent, elle apporte de la valeur de manière indépendante.

Dépendance

  • En tant qu’administrateur, je peux dĂ©finir les règles de sĂ©curitĂ© des mots de passe du consommateur afin que les utilisateurs soient tenus de crĂ©er et conserver des mots de passe sĂ»rs.
  • En tant que consommateur, je suis tenu de respecter les règles de sĂ©curitĂ© des mots de passe dĂ©finies par l’administrateur afin de maintenir un niveau de sĂ©curitĂ© Ă©levĂ© pour mon compte.

Dans les deux stories précédentes, nous avons une dépendance. Pour pouvoir réaliser la story consommatrice, nous devons d’abord implémenter les règles de sécurité définies par l’administrateur.

Indépendance

  • En tant qu’administrateur, je peux dĂ©finir le dĂ©lai d’expiration du mot de passe de manière Ă  ce que les utilisateurs soient obligĂ©s de changer leur mot de passe pĂ©riodiquement.
  • En tant qu’administrateur, je peux dĂ©finir les caractĂ©ristiques de force du mot de passe afin que les utilisateurs soient obligĂ©s de crĂ©er des mots de passe difficiles Ă  pirater.

Désormais, chaque story est autonome et peut être développée, testée et déployée de manière indépendante. Chaque story apporte sa propre valeur et elles ne sont pas obligées d’être implémentées dans une même itération.

Négociable

Définition

Une user story n’est pas un contrat, mais une discussion sur les exigences à développer, tester et déployer.

Avec l’agilité, on privilégie une approche où l’équipe va résoudre un problème. On va donc avoir une collaboration entre la partie business et l’équipe pour définir le quoi faire.

Valuable

Définition

L’objectif de l’agilité est de délivrer un produit de haute qualité dans une contrainte de temps et de ressources.

Chaque User Story doit apporter de la valeur à l’utilisateur, au client ou aux parties prenantes.

Exemple

  • Refactorer le système de log des erreurs

Devient

  • En tant que consommateur, je peux recevoir un message d’erreur clair et cohĂ©rent Ă  n’importe quel endroit du produit, de sorte que je puisse savoir comment rĂ©soudre le problème.

Estimable

Définition

L’user story contient le nécessaire pour que l’équipe de développement puisse l’estimer.

Si l’équipe n’est pas capable de donner une estimation, cela signifie qu’elle est trop grosse et doit être redécoupée.

Small

Définition

Une story doit être assez petite pour être développée en une itération.

  • facilite l’estimation
  • apporte de la valeur Ă  la fin du sprint
  • permet d’avoir un feedback spĂ©cifique
  • si on s’est plantĂ© alors ça ne sera que sur une petite partie.

Testable

Définition

Tester permet de vérifier le travail réalisé.

Si une story n’est pas testable, cela signifie :

  • qu’elle est trop grosse ou trop complexe
  • qu’elle dĂ©pend d’une autre story dans le backlog