web-dev-qa-db-fra.com

Y a-t-il un format recommandé pour écrire une dette technique?

Notre équipe commence à affiner un ensemble d'histoires couvrant des composants et de l'interface utilisateur dans le cadre d'une mise à niveau vers une nouvelle version de Angular. Ces composants seront ensuite utilisés pour recréer des écrans dans une application existante. Nous envisageons cette dette technique de travail.

Existe-t-il un format recommandé pour écrire des histoires de dette technique?

Nous utilisons le "comme un ... J'ai besoin de ... Je peux donc ...", ainsi que "donné" de Gherkin "lorsque des critères d'acceptation", pour nos histoires standard qui sont plus directement axées sur le client.

Y a-t-il quelque chose de similaire qui devrait être utilisé pour ces histoires de dette technique? Ou devrions-nous simplement énumérer des exigences techniques?

4
Bheitzer

Le barrage routier que vous rencontrez est là par conception et vous y allez pour les raisons correctes.

Les histoires d'utilisateurs sont choses que l'utilisateur se soucie de. C'est pourquoi il est écrit du point de vue de l'utilisateur. Si vous ne pouvez pas exprimer votre tâche en tant que préoccupation de l'utilisateur, il n'est probablement pas un problème d'utilisateur, ce qui est probablement le cas ici. Autant que l'utilisateur puisse voir, avant et après la tâche de la dette technique, la même fonctionnalité sera maintenue, l'utilisateur ne se soucie donc pas de ce qui se passe derrière l'écran.

La dette technique est une préoccupation de développement. C'est quelque chose que vous vous souciez, mais qui n'ajoute pas vraiment de fonctionnalités que l'application n'aurait autrement pas.

Remarque: Si votre dette technique entraîne une incapacité de mettre en œuvre une caractéristique particulière, la résolution de cette dette technique fait partie intégrante de cette caractéristique/de cette histoire d'utilisateur, à laquelle Point La question actuelle est discutable car vous avez déjà une histoire d'utilisateur valide.

Des histoires d'utilisateurs et l'application de la description des tâches en tant que telles, forcent la charge de travail à orienter sur l'utilisateur, ce qui est la réelle valeur commerciale réside pour la plupart des entreprises (fonctionnalités/fonctionnalités conduisant au bonheur des utilisateurs, ce qui entraîne une acquisition client). Dans ce système, Les mises à niveau techniques ne peuvent exister que s'ils permettent d'ajouter des fonctionnalités supplémentaires/valeur commerciale.

Et c'est là que se trouve le constructeur: quelle est la valeur commerciale de votre mise à niveau technique proposée?

  • S'il ajoute des fonctionnalités que l'utilisateur souhaite, cette fonctionnalité est l'histoire de l'utilisateur.
  • S'il s'agit de la maintenabilité (c'est-à-dire que les tâches futures peuvent être mises en œuvre plus rapidement), les coûts et les efforts consacrés à ce sujet devraient provenir de la société investissant en soi pour simplifier sa charge de travail future. Vous devez noter que l'utilisateur ne se soucie pas de cela (Ce n'est pas une fonctionnalité!). Ce n'est pas une histoire d'utilisateur et ne devrait pas prétendre être un.
  • S'il s'agit de la sécurité, alors il relève de la sécurité de la sécurité. Cela n'est pas toujours facilement exprimé comme une histoire d'utilisateur (par exemple, l'utilisateur moyen ne se soucie pas de l'utilisation de HTTPS). Il peut être exprimé en tant que tel ("comme un utilisateur que je souhaite interagir en toute sécurité avec l'application"), mais il est également possible que cette préoccupation de sécurité ne provienne pas des utilisateurs, mais plutôt de votre entreprise (à quel point nous revenons à l'entreprise investissant. elle elle-même du point balle précédent)
  • Si c'est sur la performance, cela peut être interprété comme une histoire d'utilisateur dans la raison. Les utilisateurs ne se soucient pas des optimisations de nanoseconde. Les utilisateurs se soucient des améliorations de performance multi-secondes.
  • S'il s'agit de moderniser l'UX de l'application, vous avez une histoire d'utilisateur claire: un aspect et une sensation plus agréable. Si cela compte comme valeur commerciale est contextuel; Combien coûte votre entreprise (et par extension de ses clients) intéressé par l'esthétique de leur produit?

Mais le plus grand point de balle, pour lequel ce barrage routier a été presque explicitement créé, est Développeurs faisant quelque chose pour eux-mêmes, par exemple. vouloir jouer avec les nouveaux jouets. Bien que vous puissiez faire valoir qu'il y a des avantages indirects (moral du développeur, de garder les développeurs à jour, ...), il y a généralement pas de valeur commerciale réelle ajoutée. S'il y en avait, vous seriez capable d'exprimer facilement la valeur commerciale comme une histoire d'utilisation.

En bref, votre incapacité à décrire le changement de fonction de sa valeur commerciale (= Histoire utilisateur) suggère qu'il n'y a pas de valeur commerciale ajoutée. Dans un environnement piloté par une histoire utilisateur, il s'agit du scénario exact qui est intentionnellement bloqué pour ne pas gaspiller des ressources de développement. Demander comment la former comme une histoire d'utilisateur vous indiquerait comment contourner les contrôles et les soldes intentionnels que votre entreprise choisit de fonctionner sous, ce qui n'est pas un bon moyen de s'approcher de cela.

Si vous avez besoin de contourner les précédents habituels (histoires d'utilisateurs), vous devez parler à la gestion de projet sur la mise à niveau et ses avantages indirects qui ne sont pas liés à la valeur commerciale.

Nous utilisons le "comme un ... J'ai besoin de ... Je peux donc ...", ainsi que "donné" de Gherkin "lorsque des critères d'acceptation", pour nos histoires standard qui sont plus directement axées sur le client.

Notez que cela n'est pas exclusif aux histoires d'utilisateurs. Ce format peut également être utilisé pour exprimer également les préoccupations des développeurs, par ex.

AS n développeur J'ai besoin de mettre en œuvre une injection de dépendance Donc, je peux baisser les futurs efforts de débogage en utilisant des tests moqueurs/unités.

Si ce format est la seule exigence, vous n'avez pas besoin d'utiliser des histoires d'utilisateurs pour cela. Mais si votre entreprise restreint cela à la valeur commerciale axée sur l'utilisateur, votre dette technique est tristement ignorée.

Je ne suis pas un fan de sociétés qui ne regardent pas les préoccupations de développeurs et ne sont intéressés que par les préoccupations des utilisateurs; Mais en tant que développeur, je ne suis pas celui qui fait les décisions exécutives et si c'est ce que la société choisit de faire, je ne peux pas l'annuler.

2
Flater

"Scrum framework ne décrit que quoi doit être effectué, mais n'applique pas Comment Cela doit être fait". "Les histoires d'utilisateurs sont une excellente technique permettant de capturer des exigences fonctionnelles de" assez bon pour le moment "de la manière qui laisse de la place à une conversation ultérieure. mais Scrum ne prescrit pas et ne les nécessite pas.Autres techniques conviennent bien, tant qu'ils aident à promouvoir trois choses:

  1. Ils rendent l'arriéré de produits compréhensible à l'équipe Scrum et à ses parties prenantes. Un intervenant devrait pouvoir visualiser l'arriéré du produit et avoir un bon sens de ce qui se passe et dans quel ordre;
  2. Le niveau de détail qu'ils exigent devraient correspondre à l'incertitude du développement de produits. Les articles qui se trouvent plus loin dans l'avenir devraient nécessiter moins de détails que les éléments qui sont sur le point d'être tirés dans un sprint;
  3. Ils devraient favoriser une communication et une conversation en cours entre l'équipe de Scrum et les intervenants (qui incluent les utilisateurs); "

Les deux citations de " mythe 4: dans Scrum, l'arriéré du produit doit consister à des histoires d'utilisateurs " sur scrum.org

Vous pouvez également aimer regarder " raconter de meilleures histoires " Keynote de David Evans.

Sommaire:

  • L'arriéré peut avoir toutes sortes d'histoires. Dans mes équipes, j'ai suggéré trois types: utilisateur, technique, recherche
  • Vous Ne devez pas avoir à Utilisation 'comme un [rôle] Je veux [action] afin que le format [raison]' '' Format pour une histoire d'utilisateur.
2
kriscorbus