De nombreux ouvrages et articles de Scrum indiquent qu'un sprint échoué (lorsque l'équipe ne parvient pas à compléter certaines fonctionnalités du backlog de sprint) n'est pas si grave, il arrive de temps en temps et peut s'avérer utile si l'équipe apprend de ses erreurs. et améliore quelque chose dans les sprints suivants. Et l'équipe ne doit pas être punie pour ne pas avoir achevé le travail auquel elle s'est engagée.
Vous «punissez» ce type de comportement en limitant la quantité de travail que ceux qui n'ont pas terminé peuvent assumer le prochain sprint. Les chances de travailler sur des trucs sympas disparaissent. La récompense pour faire du bon travail est plus de travail.
Cela semble très bien du point de vue du développeur, cependant, supposons que nous avons une société de logiciels "Scrum-Addicts LLC" qui développe quelque chose pour les clients sérieux ("Money-Bags Corporation"):
Les responsables de Scrum-Addicts suggèrent de créer un logiciel pour Money-Bags. Ils conviennent d'une liste de fonctionnalités. Money-Bags demande à fournir une date d'expédition. Les responsables de Scrum-Addicts consultent leur équipe Scrum. Selon l'équipe, cela prendra 3 semaines. -longues sprints pour compléter toutes les fonctionnalités Le gestionnaire Scrum-Addicts ajoute une semaine par sécurité, s'engage à expédier le logiciel dans un mois et signe un contrat avec Money-Bags. Après 4 sprints (délai d'expédition), l'équipe Scrum ne peut livrer que 80% de fonctionnalités (en raison de l'inexpérience avec le nouveau système, de la nécessité de corriger des bogues critiques dans les fonctionnalités précédentes dans un environnement de production, etc.) Comme Scrum le suggère, à ce stade, le produit est potentiellement livrable, mais Money-Bags a besoin de 100% de fonctionnalités, comme mentionné dans le contrat. Alors ils rompent le contrat et ne paient rien.
Scrum-Addicts est au bord de la faillite car Money-Bags ne leur a pas donné d'argent et les investisseurs ont été déçus des résultats et ne veulent plus aider la société.
Si lundi je te parie 100 $ qu'il va pleuvoir jeudi et qu'il ne pleuvra pas avant vendredi, tu aurais raison de prendre mon argent. Si, au lieu d’une chance de jouer, vous voulez des prévisions météorologiques, nous avons besoin d’un contrat nous permettant de vous donner une prévision à jour mardi.
De toute évidence, aucun éditeur de logiciel ne veut être à la place de Scrum-Addicts. Ce que je ne comprends pas à propos d’Agile et de Scrum, c’est la façon dont ils suggèrent aux équipes de gérer la planification et les délais afin d’éviter la situation décrite ci-dessus.
Pensez à POURQUOI MB veut prendre sa balle et rentrer à la maison. MB n'a pas exigé que le travail soit effectué dans un mois au début. SA a promis 100% des fonctionnalités critiques en un mois et n'a pas tenu ses promesses. SA a défini l’échéance et non le MB. SA a même ajouté arbitrairement une semaine à la date limite. Alors, pourquoi est-ce une date limite?
Parfois, lorsqu'ils sont en concurrence pour le travail, les éditeurs de logiciels cèdent à la tentation de se montrer et de promettre la lune. Les professionnels établissent avec soin si une lune est même nécessaire. Quel est le besoin le plus critique de MoneyBags? 100% de fonctionnalités ou un produit fonctionnel dans un mois? Savent-ils même ce qui est vraiment critique? Y at-il un événement à venir fixant une date limite?
Si je négociais ce contrat avec Scrum-Addicts, je voudrais en savoir plus sur les besoins de Money-Bags et structurer le contrat afin d’accorder autant de flexibilité que possible avec Money-Bags. Je leur apprendrais comment fonctionne le processus agile pour qu'ils sachent à quoi s'attendre de nous.
Ainsi, au lieu de s’attendre à ce que tout fonctionne à la perfection en un mois, ils s’attendraient à ce que le premier produit livrable soit évalué en 1 à 2 semaines.
Donc, pour résumer, j'ai 2 questions:
Qui est à blâmer? Les gestionnaires, parce que c'est leur travail de faire la planification
L'équipe, parce qu'ils sont engagés à faire plus de travail qu'ils pourraient
quelqu'un d' autre
N'importe qui aurait pu arrêter cette mascarade avant que nous ayons un mois plus tard.
Je pourrais aller aussi loin que blâmer Money-Bags Corp pour avoir embauché une équipe qui, de manière frauduleuse, représentait de manière agile un processus en cascade comme agile. Le contrat lui-même indique clairement que ce n'est pas agile. Planifier d'être fait dans un mois ne le rend pas agile.
Si vous insistez pour que ce soit agile, c'est agile avec un seul sprint d'un mois. Ce qui, oui, je ne le recommanderais pas car c'est, encore une fois, la même chose que cascade.
Qu'y a-t-il à faire?
Que diriez-vous de l'agilité? Livrer quelque chose à chaque sprint? Obtenir des commentaires avant la date limite? Des sprints d'une semaine? Pourquoi ne pas renégocier le contrat draconien au moment même où vous soupçonnez que le délai est en danger plutôt que de vous cacher et de prier? À tout le moins, vous pouvez arrêter de perdre du temps sur un projet condamné et trouver un client plus raisonnable.
Les gérants doivent déplacer l'échéance deux fois (ou trois fois) plus tard que l'estimation de l'équipe d'origine.
Les multiplicateurs de date limite sont à peu près aussi utiles que de régler votre montre 15 minutes plus tôt pour ne jamais être en retard. Vous pouvez seulement vous tromper si longtemps avant de réaliser ce que vous êtes en train de faire.
Les premières estimations sont fausses. Essayez de capturer comment mal. 5 semaines, donner ou prendre quelques semaines est une expression simple qui vous permet d'exprimer à quel point la date d'achèvement est incertaine. Plutôt que d'essayer de deviner avec précision, vous devinez à quel point votre hypothèse est folle. Faites du vrai travail et obtenez de vraies données. Ensuite, vous pouvez commencer à faire des estimations avec une plage plus étroite. Une à deux semaines, c'est amplement le temps de le faire.
Les membres de l'équipe doivent être encouragés à faire tout le travail auquel ils se sont engagés, peu importe les circonstances (en infligeant des pénalités pour les sprints manqués).
Les membres de l'équipe doivent être encouragés. Échec, commis ou autre. Plutôt que de construire des conséquences artificielles telles que des punitions ou même des bonus (carottes et bâtons), des études ont montré que les personnes qui font du travail créatif, tel que la programmation, réagissent mieux si trois choses sont fournies: Autonomie, Maîtrise et But.
Daniel Pink en a parlé à TED . La discussion porte sur la motivation, pas l'agilité, mais j'ai facilement vu comment mapper ces points sur l'agile:
Autonomie - Je veux diriger ma propre vie - Laissez-moi choisir un travail dans l'arriéré.
Maîtrise - Je veux améliorer quelque chose qui compte - Les commentaires des clients.
Objectif - Je veux faire partie de quelque chose de plus grand que moi - Une équipe collaborative.
L'équipe doit abandonner Scrum car cela ne correspond pas à la politique de l'entreprise en matière de délai. Scrum peut respecter un délai plus précis que la cascade. Compte tenu d'un délai, Scrum peut le respecter. Il peut le rencontrer avec seulement 1 fonction sur 47 en fonction du temps, des fonctionnalités et des compétences, mais il peut le faire.
Un projet agile peut être conçu de manière tellement efficace que chaque soir, lorsque l'équipe rentre chez elle, elle est prête à être expédiée. Cela semble idiot, à moins que vous ne pensiez à l'expédition comme à un test du client. Le plus tôt possible, le plus tôt vous pourrez faire des ajustements. Cela touche toutes les échéances possibles. Juste pas toutes les fonctionnalités. Mais cela vous oriente vers les fonctionnalités qui comptent.
Nous devrions tous abandonner le développement de logiciels et rejoindre un monastère
Oui, comme m'enfermer dans une pièce à l'écart de la vraie vie, ça va me faire écrire moins de code.
J'ai édité cette réponse à la taille. Si vous êtes curieux, lisez l'historique d'édition.