web-dev-qa-db-fra.com

Comment faire du travail Scrum pour une équipe avec des rôles définis?

Quelques informations de base

Je fais partie d'une équipe de développement logicielle interne. Cela consiste en

  • 5 développeurs (avec des expériences allant de 2 à 5 ans, je suis l'un d'entre eux)
  • 3 membres du personnel de mise en œuvre (ils font le déploiement et la formation du logiciel)
  • et 1 chef de projet.

Nous développons beaucoup de petits à moyennes projets et leurs délais se chevauchent généralement. Le développement va comme ça:

  1. "Client" nous donne un ensemble d'exigences initiales
  2. Nous développons le système à ladite spécification
  3. Présentent ledit système à "client"
  4. "Client" nous donne des exigences supplémentaires basées sur ladite présentation
  5. Répétez 2-4 jusqu'à ce que "Client" soit à court de nouvelles exigences ou la date de la cible de déploiement est proche
  6. Configurer et déployer le système

Ceci, avec le fait que c'est le "client" qui gère les délais la plupart du temps (qui est un drapeau rouge, de ce que je vois ici dans les programmeurs et pm.se) et nous ne suivons pas une méthodologie de développement définitive. CODING COWBY, Nigh-SIMINAINABLE Code et des bugs qui traversent une production, entre autres choses. C'est pourquoi nous avons choisi d'adopter une méthodologie d'agilité comme Scrum.

Pourquoi Scrum?

C'était l'initiative de notre responsable et tout le monde semble être d'accord sur celui-ci, compte tenu de notre situation actuelle.

Le problème avec scrum

Certains des éléments de Scrum ont des conflits avec notre configuration actuelle que nous ne pouvons pas facilement aborder, en particulier la nature "jack-de-tous les métiers" des développeurs agiles. L'équipe de déploiement ne sait pas comment programmer et les développeurs ont des compétences de communication et de formation inférieures à la moyenne. Et cette gamme ne changera pas vraiment de temps bientôt.

La question

Cela affecterait-il l'efficacité de Scrum comme méthodologie? D'autres changements devraient-ils être apportés pour compenser? Ou serait-il préférable d'abandonner complètement la pensée et de penser à une méthodologie différente?

13
Revenant

En fait, votre mode de travail actuel n'est pas si éloigné de Scrum comme vous le pensez.

Dans Scrum, vous obtenez également un premier ensemble d'exigences, mettez en œuvre ceux-ci et démontrez le résultat, et sur la base de la démonstration, de nouvelles exigences peuvent être données à vous ou que les parties prenantes peuvent décider que le produit est suffisamment bon pour que aucun développement supplémentaire ne soit nécessaire.
[.____] Dans votre situation, le "client" que vous avez parlé de pourrait avoir du rôle du propriétaire du produit dans Scrum (ils semblent déjà combler ce rôle en fixant les priorités dans un projet et en décidant quand il est prêt à être prêt à être deployé).
[.____] Un gros changement pourrait être la longueur d'une itération. Dans Scrum, une itération devrait durer quelque part entre 1 et 4 semaines.

En ce qui concerne la composition de l'équipe et le jack-de-tous les métiers faussacy: Scrum fait non exiger que tout le monde soit un track-of-tous. SCRAM nécessite juste que l'équipe dans son ensemble ait toutes les compétences requises pour obtenir le produit d'une liste d'exigences à quelque chose qui a été déployé/peut être déployé.
[ Matériel pour les caractéristiques que les développeurs mettent en œuvre maintenant.

Une fois que le propriétaire du client/produit a donné le feu vert pour le déploiement, le travail de l'équipe de Scrum sera principalement fait, afin que les développeurs puissent se rendre à un autre projet (et être disponible uniquement sur la demande de résolution de problèmes après le déploiement) et de la mise en œuvre Le personnel peut basculer pour effectuer la formation et soutenir le déploiement.

Le fait qu'il y ait la date limite n'est pas un vrai problème, tant qu'il y a suffisamment de flexibilité dans la fonctionnalité nécessaire à cette libération.

17

Vous demandez des alternatives pour que je vais dire une programmation extrême (XP). Spécifiquement, je pense que la programmation paire pourrait vous aider ici.

En associant des personnes avec des compétences différentes ensemble, peu importe quelles compétences: faire du café, des tests, une formation, etc. Vous pouvez diffuser les compétences autour de l'équipe.

Mais pour être honnête, cela ne sonne pas comme Scrum, c'est que loin pour vous. Une partie de Scrum est en train d'être flexible et de trouver ce qui convient le mieux à votre équipe. Une partie de XP== respecte votre équipe et s'adaptant. Peut-être que dans une période de 100 ans, nous pourrions avoir une profession plus complète avec des règles difficiles et rapides (bien que je doute de cela), mais pour l'instant, faites quoi Travaux pour vous est tout ce que nous avons. L'important est d'avoir des boucles de retour d'information. Si quelque chose ne fonctionne pas, l'équipe doit en discuter et essayer de nouvelles choses jusqu'à ce qu'ils trouvent quelque chose qui fonctionne.

5
Encaitar

Comment faire du travail Scrum pour une équipe avec des rôles définis ?

Fais-le. Selon le Guide Scrum Tout le monde est un développeur, mais de retour ici sur la planète Terre, différentes personnes apporteront différentes choses à la table. I presque de Lynched Quand j'ai suggéré que certaines personnes soient vraiment des testeurs tandis que d'autres écrivent le logiciel.

Certaines choses que vous voudrez peut-être aborder:

Sprint

On dirait que vous avez une phase de développement initiale suivie d'une série de ce qui sont ostensiblement sprints. Envisagez de rompre cela. Non seulement le client verra-t-il quelque chose de plus tôt, vous aurez une meilleure idée des jalons de développement comme ils se produisent.

Dates limites fixes

Cela dépourvue de temps et de temps et est une épine persistante sur le côté des Devs où je travaille actuellement. Scrum définit des estimations pour le sprint - rien de plus. Oui, vous pouvez frapper la cible après une série de sprints, mais une fois que le client a des yeux sur des versions précoces, la portée est susceptible de se glisser de manière significative. Ce n'est pas un problème en soi, mais le client doit être informé que des travaux supplémentaires auront lieu dans des sprints ultérieurs et au-delà des exigences connues.

3
Robbie Dee

Scrum ne fonctionne pas bien avec des projets distincts qui se chevauchent, car vous n'avez pas d'ensemble stable de personnes travaillant sur un projet pour le sprint complet. D'où les concepts comme la verbosité, etc. sont probablement simplement de vous déprimer.

Mais prenez d'abord l'histoire qui donne le meilleur coût/avantage au client et la mise en œuvre, y compris les tests automatisés complets, à une qualité suffisante pour être déployée, avant de travailler sur la prochaine histoire est un concept utile. De même, il faut que tout le code écrit pour qu'une histoire soit examinée par un autre développeur avant que l'histoire soit considérée comme considérée comme "faite".

Je suppose que votre personnel de mise en œuvre doit écrire des documents de formation et de référence, ils peuvent être écrits (premier projet) pour chaque histoire avant que le code ne soit écrit, devenons donc les tests d'acceptation.

J'espère que vous constaterez qu'au début de chaque projet lorsque la contribution du personnel de mise en œuvre aidait la plupart des développeurs à 100% engagés dans le déploiement du projet précédent. Par conséquent, envisagez si le personnel de la mise en œuvre peut travailler sur la rédaction des histoires et de la documentation de l'utilisateur pour le projet suivant, tandis que les développeurs écrivent le code du projet en cours.

"Développement dirigé par le comportement" avec le personnel de mise en œuvre écrit l'exemple utilisé dans les tests peut fonctionner.

Donc, il y a un peu de scrum qui vous aidera, mais essayez de vous appuyer de Scrum au lieu d'utiliser Scrum.

0
Ian