web-dev-qa-db-fra.com

Planification à long terme et agile?

Mon équipe a récemment traversé le processus de mise en place d'un plan de près d'un an pour notre travail. Nous avons séparé le plan en trois phases. Chaque phase comprendra quelques lancements.

Je me demande, d'un point agile de toi, est-ce faux? Je pense que ce n'est pas une mauvaise idée, car nous n'avons pas passé trop de temps à concevoir quelque chose que les premières étapes. Il est possible pour nous de changer de direction. Dans le même temps, c'est bien que nous n'agissons pas avec seulement le court terme en vue.

16
Petko M

Avoir une vision de l'endroit où le projet doit aller est une bonne choseTm.

Croire que c'est précisément ce qui va arriver n'est pas.

"En se préparant au combat, j'ai toujours trouvé que les plans sont inutiles, mais la planification est indispensable."

- Dwight D. Eisenhower

Les méthodologies agiles d'approche prennent consiste à briser les choses en morceaux digestibles et à réaffecter la vision après que chaque pièce ait été digérée.

Cela signifie que votre point de fin d'une année ne sera pas précisément ce que vous pensez maintenant. Cependant, vous devriez avoir abordé tous les éléments de grande valeur de votre liste et avoir conservé vos parties prenantes engagées et heureuses lorsque vous avancez.

12
Peter K.

OK, la direction a été présentée avec un mythe à planifier. J'espère, pour votre amour, qu'ils ne vous tiennent pas. Parce que, Sight Inseen, je suis prêt à parier de l'argent que votre équipe n'apportera rien de ce que dit ce plan à long terme. En fait, si vous atteignez la moyenne de l'industrie, vous manquerez d'un facteur 2. Et dans la plupart des organisations une estimation, une fois donné, devient le club qu'ils sont libres de vous battre autant qu'ils le souhaitent.

Vous pensez probablement que je suis juste cynique. Après tout, vous venez de communiquer des moments vagues pour des ensembles de fonctionnalités non spécifiés que tout le monde sait pourrait arriver beaucoup plus lent ou plus rapide que projeté, non? Désolé, la majeure partie de cela peut être vraie, mais ce n'est pas la façon dont les gens ont tendance à entendre ces chiffres. Ils ont entendu des dates et une date autrefois parlée a tendance à entendre comme étant plus solide que vous l'avez dit. En outre, s'il y a une chaîne de communication, elle deviendra plus solide encore. Et une fois que les clients externes ont promis quelque chose par des ventes en fonction de ce que vous avez dit, vous constaterez soudainement qu'il y a beaucoup moins de flexibilité dans ces chiffres que ce qui devrait y être. Et je vous garantis que vous avez sous-estimé le temps que les choses vont prendre.

Avec ce point évident, je vais vous recommander de lire estimation logicielle pour apprendre quelque chose sur la façon dont l'estimation logicielle devrait être fait. Vous en apprendrez beaucoup sur ce que vous avez mal fait et comment faire mieux la prochaine fois. (Dans le processus, vous apprendrez pourquoi je suis si confiant que vous avez trop estimé ce que vous ferez.)

Cela dit, Agile tient en grande partie à la réduction du processus de ce qui convient à une petite équipe. Fréquemment, un bon moyen de réduire le processus est d'essayer de réduire la planification à long terme à grande échelle en faveur de la planification des petites choses à court terme. Il a également tendance à être plus honnête - parce que vous ne savez pas ce qui va arriver à l'avenir. Cependant, cela ne convient souvent pas aux besoins des entreprises plus importants, et donc, que vous vous déclares vous déclarez agiles, vous devez parfois avoir des plans plus longs.

Cela dit, je vous conseille vivement de découvrir un fait essentiel sur les dates que vous avez communiquées, qui sont malheureusement susceptibles de revenir en tant que délais pour vous mordre. Et ce fait est-ce. Qui font que les gens se soucient de la date ou de la fonctionnalité? Voici ce que je veux dire par là. Les organisations ont fréquemment des dates spécifiques qui comptent. Par exemple, demandez quelque chose pour une conférence ou avant la séance de vacances. Dans ce cas, ce qui compte, c'est de libérer quelque chose, et non si quelque chose est complet. D'autres fois, il existe un ensemble de fonctionnalités qui doivent vraiment être libérées et la complétude compte plus que lorsque cela se produit exactement. Si vous pouvez découvrir quelle situation vous trouvez, votre équipe sera dans une bien meilleure position pour planifier comment gérer les croquants (presque) inévitables qui arrivent.

10
btilly

C'est bien d'avoir un plan tant que vous le considérez en cours et non quelque chose d'écrit en pierre.

La clé ici est de faire Communiqués régulièrement (au moins mensuellement), rassembler réel réel à partir de vos utilisateurs et mettre à jour votre plan en fonction de ce retour.

Cela signifie que votre plan changera lorsque la portée du projet change. C'est ne bonne chose, car cela signifie que vos utilisateurs ont appris plus sur ce qu'ils veulent.

5
Martin Wickman

En supposant que project-management et agile Vous vouliez dire Scrum, ce ne serait pas le moyen exact d'aller.

Dans le point de vue Scrum, si vous avez un plan d'un an, vous devriez au moins avoir autant de sprints qu'il y a des mois en un an. Par conséquent, votre plan d'un an devient plus agile car il est modifiable entre deux sprints.

A Sprint ne peut pas être plus d'un mois, où le Team s'engage à apporter le Sprint Backlog Items à l'état de Done.

Done est un mot important ici, et chacun des Scrum Team Doit avoir une définition de fait, c'est-à-dire où il n'y a pas de travail restant à faire. Lorsqu'un Sprint Backlog Item est effectué , cela signifie que l'analyse, l'architecture et la documentation technique est écrite et que la fonctionnalité a été minutieusement testée (tests unitaires, tests d'intégration , tests fonctionnels ...).

Une fois la Product Backlog est en place et les articles donnés à la priorité aux caractéristiques moins importantes au fond et les plus importants sur le dessus, l'équipe (des développeurs) détermine la durée de la durée du développement de chaque Product Backlog Item prendra en fonction de leur propre expérience. C'est là que vous pouvez déterminer que le projet nécessitera une année complète de travail. Considérer que seul le Product Owner Doit hiérarchiser les points car il est celui qui est responsable du retour sur investissement, sinon, sait quel est le plus important pour l'utilisateur final. De plus, l'équipe doit évaluer le temps nécessaire pour développer pleinement une caractéristique bien qu'il puisse y avoir des morceaux de code réutilisables ici et qu'il pourrait répondre aux besoins de cette fonctionnalité, c'est-à-dire d'éviter une complexité ultérieure et d'être certain qu'un article ne doit pas prendre plus longtemps que ce que l'équipe a dit que cela nécessiterait. L'arriéré du produit n'a pas besoin d'être parfait! L'énumération simple des histoires d'utilisateurs que nous pouvons penser au système à développer suffit à cette étape du processus.

C'est pendant le Sprint Planning Meeting que l'équipe doit s'engager sur ce qui sera développé pour le prochain Sprint, créant ainsi le Sprint Backlog. Les Sprint Backlog consiste en un sous-ensemble basé sur le Product Backlog Items que le Team s'engage à être fait à la fin du sprint. Considérant par exemple un arriéré de produit de 50 articles, et tous les 50 éléments doivent être effectués une année à effectuer, alors l'équipe peut souhaiter sélectionner 5 éléments de l'arriéré du produit et créer le carnet de sprint avec ces 5 éléments. Ces mêmes éléments peuvent être élargis/explosés dans de multiples autres objets lorsque cela est requis, ce qui rend l'équipe qui modifie peut-être leur esprit après révision et s'engager à ne faire que 4 articles sur 5 éléments précédemment sélectionnés à partir de l'arriéré du produit.

Une fois que la réunion de planification de la sprint est terminée, ce qui ne peut durer plus de 8 heures pour un sprint complet du mois, dans lequel l'équipe ne s'engage pas seulement à faire le travail pour les articles sélectionnés, mais des plans sur la manière dont il va faire le travail Pour que tout le monde dans l'équipe sache exactement ce qu'il doit faire, le Sprint doit commencer. Il est important que l'équipe soit transversale pour l'amour du projet.

Cela dit, à la fin de chaque sprint, qui dure un mois dans la situation actuelle, tous les éléments que le Team engagés à faire doit être un élément suppléant de fonctionnalités entièrement fonctionnelles ciblant les éléments sélectionnés de l'arriéré du produit. Il doit être livrable, mais il n'est pas obligatoire qu'il soit livré s'il n'a pas de sens de le faire en fonction de la Product Owner.

C'est pendant le Sprint Review Meeting où le Product Owner doit être convoqué que le Team démontre ce qui a été fait pendant le sprint et où il doit dire pourquoi il n'a pas fait, le cas échéant, tout le travail qu'il s'est engagé. Le travail défait est ensuite remis dans le Product Backlog et disponible pour le prochain Sprint. Bien sûr, ces éléments annulés doivent être inclus dans le prochain sprint, sauf indication contraire par le propriétaire du produit, au cas où l'objectif avait changé. Mais surtout, bien que l'objectif d'un système changé au cours d'une sprint, ne l'interrompez pas à moins d'absolument nécessaire. Seul le propriétaire du produit a le pouvoir d'interrompre le sprint.

Une fois la Sprint Review Meeting est terminé, ce qui ne devrait durer plus de 4 heures pour un sprint mensuel (si je me souviens bien), il est temps d'accéder au Sprint Retrospective Meeting. Le Sprint Retrospective est requis pour le Team se produise afin de pouvoir discuter, en présence du maître Scrum et du propriétaire du produit (facultatif) Qu'est-ce qui s'est mal passé, comment le scrum L'équipe peut améliorer ses performances, etc. et apporter des ajustements en conséquence.

Quand la boîte de temps pour le Sprint Retrospective est terminé, puis le nouveau Sprint Planning Meeting doit avoir lieu pour planifier le prochain Sprint et créer le nouveau Sprint Backlog.

N'oubliez pas que le Team est responsable de maintenir le Daily Scrum qui est une réunion de stand-up de 15 minutes où chaque membre de l'équipe répond aux trois questions (pas dans cet ordre particulier):

  1. Qu'avez-vous fait depuis le dernier scrum quotidien?
  2. Que comptez-vous faire jusqu'à la prochaine Scrum quotidienne?
  3. Quels sont les problèmes ou les obstacles que vous avez rencontrés depuis le dernier quotidien?

Les Scrum Master n'est pas Obligé Pour être là, il est nécessaire d'assurer que l'équipe se réunit au quotidien et que les membres répondent correctement aux trois questions.

Le maître Scrum est responsable du respect des règles de Scrum par les autres membres de l'équipe Scrum (Scrum Master, propriétaire du produit et équipe).

À la fin, à la suite de ces règles simples, votre équipe de développement deviendra agile. L'agilité est la capacité de rattraper tout changement aussi rapide que l'équipe peut, c'est-à-dire à la fin de chaque sprint, où il peut prendre conscience des modifications apportées par le propriétaire du produit à l'arriéré du produit. En cas de catastrophe totale et de changement d'orientation complet, le maximum perdu que la société doit absorber est un mois de développement, qui est assez négligent, considérant qu'il n'y a qu'environ 20 jours ouvrables dans un mois.

Si vous avez besoin d'informations détaillées sur le développement logiciel Scrum et Agile, veuillez vous reporter à Scrum.org et leur Guide Scrum .

Eh bien, c'est une réponse! J'espère que cela vous aidera au moins à travers votre gestion de projet.

Éditer # 1

Pendant que vous envisagez de faire trois ou quatre phases, comme vous l'appelez, il est plus probable que votre équipe perdra la concentration du point de vue de l'objectif principal. Si vous démontrez uniquement le premier trimestre de ce que vous avez fait l'équipe, il pourrait y avoir des changements importants pour que cela nécessitera une refonte importante et repensant à l'architecture de votre logiciel, la reprenant peut-être peut-être plus de 20 jours de travail perdu. Le principe de l'agilité consiste à pouvoir rattraper les changements dès qu'ils se produisent, ou dès qu'il est possible dans un délai raisonnable, c'est-à-dire pour Scrum, la boîte temporelle d'un sprint.

2
Will Marcouiller