web-dev-qa-db-fra.com

Où et quand la conception, les activités d'architecture ont lieu dans Scrum

Le cycle de vie traditionnel de la cascade comprend une phase spécifique pour la conception et la planification. Dans Scrum, il n'y a pas de gros design frontal. Une petite quantité de conception à mener lors de la décomposition des fonctionnalités dans des histoires, lors de la réunion de planification du sprint et lors du sprint.

Étant donné que la planification du sprint est en boîte de temps à quelques heures, il n'ya pas assez de temps pour que l'équipe de décider des choix technologiques, quelles responsabilités appartiennent à des éléments de déploiement et de libération de composants différents, etc.

Où appartiennent-ils les travaux de design? Devrait-il être mené avant la planification du sprint avec des détails ajoutés aux histoires ou aux tâches? Ou devrait-il y avoir une réunion de conception supplémentaire après la planification de Sprint?

7
Kye

La conception devrait être planifiée pour, soit suffisamment de points d'histoire supplémentaires par histoire, soit comme une histoire séparée. Et vous devriez toujours avoir des concepteurs de votre équipe qui possèdent et surveillez la conception.

Le problème est que la conception représente "aucune valeur commerciale" et des histoires d'utilisateurs pures seront généralement larguées sur "The Team", ce qui est ce blob de développeurs qui se concentre sur des logiciels fonctionnels plutôt que de logiciels de maintenance. Donc, avec l'introduction de Scrum, la conception consciente cesse souvent exister. Pour des produits de course plus importants, il s'agit d'un doseur attendu bien sûr. Ce sera un silencieux, cependant, le temps de développement et le nombre de bugs qui reviennent vont progressivement monter progressivement. Et personne ne le considérera comme inquiétant, nous ferons simplement plus de tests et de se sentir bien à ce sujet. Ce n'est pas une coïncidence que les tests se sont développés dans une grande chose ces derniers temps, également dans des projets logiciels exécutés.

Heureusement, aujourd'hui, nous avons également un nom de fantaisie pour cela: "dette technique". C'est un bon nom car cela ne ressemble à aucun problème à quiconque mais l'équipe de développement. Cela implique que c'est leur faute aussi, les techniciens devraient payer pour cela, pas l'entreprise. C'est leur problème.

Et dans toute l'équité, c'est vraiment. L'équipe de développement doit s'assurer qu'ils conçoivent. Ils sont auto-organisés et doivent être assez forts pour réserver les ressources nécessaires pour faire ce qui est nécessaire. Ils s'engagent à planifier qu'ils se font eux-mêmes. Il y aura une pression pour aller de l'avant avec des fonctionnalités, mais il reste la responsabilité de réfléchir aux choses et d'avoir des personnes responsables et responsables de cela. Scrum rend plus difficile de maintenir ces bases.

8
Martin Maat

Où appartiennent-ils les travaux de design?

Soit avant le premier sprint, ou sur le premier sprint, et éventuellement dans chaque sprint ultérieur. Certaines équipes auront une période de temps avant le premier sprint où certaines de ces décisions sont faites. Si les décisions ne sont pas fabriquées avant le premier sprint, vous devez alors faire au moins une partie des travaux de conception et d'architecture dans le premier sprint. Au fur et à mesure que le projet progresse à travers les sprints, les possibilités de conception et d'architecture supplémentaires seront possibles. L'étendue dépend de la portée et de la complexité du produit en construction.

Je pense que c'est parfaitement valable lors d'une session de planification de sprint pour dire quelque chose comme "Nous n'avons pas assez d'informations sur la façon dont nous allons archiver cela, notre première histoire (ou tâche) doit être à propos de l'architecture".

L'ensemble du point de Scrum doit avoir des équipes habilitées à prendre des décisions sur la construction d'un produit. Si une partie du processus de construction du produit consiste à décider de l'architecture, c'est une activité parfaitement fine pour tout sprint.

5
Bryan Oakley

Robert C. Martin a discuté de cela que vous pouvez trouver sur YouTube:

le Scrum terrestre a oublié

Là-bas, il adresse ce problème commun que dans l'architecture et la conception de Scrum n'est jamais mentionné, il appartient donc à l'équipe d'identifier quelle architecture et votre désiogn doit signifier au sein du projet.

Mon opinion personnelle est que vous devriez avoir un cas dans l'équipe pour être responsable de l'architecture et de la conception. Le contrat devrait être: l'architecte décide de la manière dont ces sujets sont adressés. De l'autre côté, il ne devrait pas être en mesure d'échapper aux questions résultantes qui sont sorties de ses décisions.

Dans mon projet actuel, nous sommes actuellement confrontés à plusieurs problèmes, qui peuvent principalement être décomposés à la diversification des concepts et à la base de code évoquée à côté des implémentations qui ignorent complètement l'architecture au lieu de l'étendre de manière utile.

Le but est que vous ne pouvez pas trouver de consenses sur la meilleure architecture aux exigences données au sein de l'équipe, vous ne pouvez pas vous attendre à ce que l'équipe fasse un bon travail. Cela est également vrai pour les problèmes de qualité de code. Un moyen démocratique de résoudre ce problème peut être un moyen si la compréhension ne diffère que dans certains points. Mais si vous avez des discussions essentielles qui ne conduisent pas à une solution, vous feriez mieux de mettre quelqu'un en position de décider.

5
oopexpert

il n'y a pas assez de temps pour que l'équipe de décider des choix de technologie, quelles responsabilités appartiennent à différents composants de déploiement et de relâchement des considérations, etc.

La majeure partie de celle-ci est traitée dans un "sprint 0" ou est juste inhérente à l'équipe. Vous vous attendez à ce que les serveurs de construction et les environnements soient en place avant le début du projet.

Tout comme si vous êtes une équipe de développeurs Web C #, vous avez connu que vous écrirez un site Web ASP.NET, adossé à MSSQL.

Scrum est axé sur l'obtention des résultats rapidement. Ainsi, quel cadre JavaScript ou la base de données est le meilleur n'est pas important. Ne perdez pas de temps à penser à eux.

Choisissez la chose la plus rapide à mettre en œuvre chaque. Célibataire. temps.

si Le produit est un succès, alors dans quelques années, vous devrez peut-être Avoir un autre projet de modifier l'une des technologies à une version moins chère.

1
Ewan

Il y a des activités qui doivent être effectuées avant que les équipes ne soient en train de sprinter. L'équipe est assemblée, les outils sont achetés, le budget est sécurisé, l'estimation est effectuée, le projet de vision est créé, l'architecture est décidée.

L'idée est de préparer suffisamment et de ne pas aller pendant des semaines et un mois avant de tester votre hypothèse.

Par conséquent, prenez le temps de configurer et de poser les toutes premières questions, puis éloignez les inconnues allitéellement dans des sprints.

Je suggère d'éviter d'appeler la période de préparation Sprint zéro ou du sprint durcissant, etc.

1