web-dev-qa-db-fra.com

Y a-t-il des études sur l'efficience / l'efficacité de la cascade vs agile

Lors d'une réunion, l'autre jour, une réclamation a été rendue qu'Agile n'était que 60% aussi efficace dans le temps de développement par rapport à la cascade. Je ne cherche pas à valider ou à réfuter cette réclamation. Je suis intéressant dans la découverte s'il y a eu des études comparant les 2 méthodologies.

Y a-t-il des études là-bas de comparer les deux?

22
SoylentGray

Le livre - "Fabriquant des logiciels: ce qui fonctionne vraiment et pourquoi nous croyons-y" a des chapitres sur des méthodes agiles, notamment XP, Scrum, Dynamic Software Development et Lean, avec un bon support scientifique. Il est de haute qualité, comme vous l'attendez d'O'Reilly. L'un des éditeurs était l'excellent Greg Wilson , un auteur de la science informatique de confiance, éditeur et présentateur.

Le livre lui-même résume plusieurs études de recherche, dont beaucoup sur Agile. Une section résume les recherches, y compris - "sont deux têtes mieux qu'une? Sur l'efficacité de la programmation de paires" par Dybå, t.; Arisholm, e.; Sjøberg, d.i.k.; Hannay, j.e.; Shull, f.; et "- Études empiriques du développement logiciel agile: une revue systématique " Par Tore Dybå et Torgeir Dingsøyr.

Le sens général est que la plupart des pratiques agiles sont bénéfiques, mais que les effets de la programmation des paires et de la TDD et d'autres locataires agiles ne sont pas aussi forts que l'on pourrait espérer. Il y a même une note de bas de page dérangeante que TDD peut en fait être un peu addictif *.

Le livre est un excellent moyen d'accéder à beaucoup de recherches que cela a été fait, tout en un tout cohésif. Il y a quelques-uns blogs et autres Sites sur le Web qui revoir le livre.


* Ce n'est pas nécessairement mon avis!

12
Kyle Hodgson

Autant que je n'aime pas le titre, je crois que Agilité d'équilibrage et discipline: un guide pour la perplexe peut contenir des informations qui vous concernent. Ce livre de deux experts en gestion de projet d'ingénierie logiciels et à Barry Boehm et Richard Turner. Ce livre examine divers aspects des méthodologies agiles et axées sur le plan, les compare et les contraste, et discute également de les intégrer à une situation "meilleure des deux mondes".

L'annexe E d'agilité et de discipline d'équilibrage contient une multitude d'informations empiriques sur les coûts et les avantages de diverses méthodes agiles et axées sur le plan. Cependant, il ne semble pas y avoir de données sur l'efficacité du temps. Mais je suis un coup d'œil à travers les données, il apparaît (comme je soupçonné) que ce n'est ni/ni de choix - certains projets ont connu des efforts réduits, des horaires plus rapides et des défauts plus faibles lors de l'application des méthodes agiles. Cependant, d'autres projets utilisés. La section aborde un certain nombre de projets différents dans différentes industries, le type de processus qu'ils utilisaient et ce qu'ils ont expérimenté au cours du projet.

Il existe de nombreuses études de cas citées dans l'annexe E qui donne ces données. Il y a beaucoup trop pour moi de commencer à nommer au hasard, car beaucoup sont concentrés dans une industrie donnée ou même au sein d'une organisation donnée. Si vous envisagez de regarder des cas, je suggérerais de trouver ceux qui sont de nature similaire à votre équipe, à votre projet, à votre organisation et à l'industrie de tirer des conclusions raisonnablement valables.

Dans Développement rapide: Taming Wild Software Horaires , Steve McConnell identifie un certain nombre de facteurs à prendre en compte lors du choix d'une méthodologie de cycle de vie: niveau de compréhension des exigences, niveau de compréhension de l'architecture, fiabilité souhaitée, gestion des risques Les contraintes de l'horaire, la quantité de processus générale, le projet "corrections de cours", la capacité de fournir au client une visibilité, aptitude à fournir une gestion de la visibilité et de la sophistication de l'équipe et de la gestion de développement. Il y en a d'autres, aussi bien, comme la culture organisationnelle, il n'y a probablement pas une liste exhaustive nulle part.

Même étant donné exactement le même projet, il y a aussi le facteur d'équipe. Si vous prenez une équipe qui a constamment livré des logiciels à l'aide de la méthodologie de spirale pilotée par le plan et de les jeter dans Scrum, ils vont faire l'expérience d'une diminution de la productivité, d'une augmentation de la battage, et de surmonter un nouveau modèle de processus avant de pouvoir venir autour de réussir. Même si une autre méthodologie pourrait être plus adaptée, la Business doit toujours livrer le logiciel. C'est pourquoi les efforts d'amélioration des processus sont souvent des efforts à long terme et non de la nuit - les changements majeurs sont choquants pour une équipe et (même si la méthodologie pourrait être mieux adaptée sur papier) peut entraîner une diminution de la productivité.

Il y a beaucoup plus que de simplement l'efficacité ou l'efficacité du processus, et vous ne pouvez pas simplement regarder un instantané de la même équipe travaillant dans un environnement piloté par le plan et un environnement agile. Vous devez envisager le contexte industriel et organisationnel, les attributs du projet, de l'équipe, du client, etc. lors de la prise de décision.


Sur la base de ce que j'ai lu, je vais devoir être en désaccord avec votre évaluation de vos collègues. Je suis sûr que vous pouvez trouver une étude de cas quelque part où un projet agile était de 60% moins efficace en ce qui concerne certaines mesures de performance qu'un projet similaire axé sur le plan. Cependant, il existe également des études qui montrent que Agile donne 80% de moins d'efforts, 50% de moins de temps et une satisfaction élevée de la clientèle avec le produit.

10
Thomas Owens

Je n'ai pas d'étude mais j'aimerais communiquer mon expérience.

L'efficacité de l'une des méthodologies mentionnées dépend fortement des analystes.

Lorsque vous avez un excellent propriétaire de produit, alors Scrum, par exemple, est certainement plus rapide qu'une approche de cascade avec une mauvaise spécification.

Agile avec un mauvais propriétaire du produit est certainement plus lent que la cascade avec une superbe spécification.

Cependant, plus souvent que non, nous ne connaissons pas les exigences exactes suffisamment précoces et les méthodologies agiles ont des cycles de retour d'information plus rapides. Cela signifie que, dans des terrains incertains, agile est une meilleure méthode permettant de fournir un produit de haute qualité dans des coûts raisonnables. Il existe de nombreux autres avantages, par exemple, des projets agiles sont plus faciles à annuler lorsqu'ils ne fonctionnent pas et peuvent ainsi réduire les pertes au minimum.

On pourrait dire que les méthodologies agiles réduisent les risques, tandis que la cascade, même si cela peut être parfois plus rapide, peut être un pari monétaire.

6
Falcon

agile n'était que 60% aussi efficace dans le temps de développement

Vrai.

Mais c'est une mesure boiteuse.

Les méthodes agiles offrent généralement une valeur réelle plus tôt.

La cascade colle simplement à un calendrier indépendamment de ce qui est livré et ne fournit souvent rien de valeur jusqu'à ce qu'une énorme période ne soit passée.

Plus loin.

Vous pouvez mesurer "le temps de développement" séparé de "Développement et temps de test".

Agile comprend généralement des tests. Donc, il semble plus lent.

Le développement des cascades peut être proprement séparé des tests. Donc, le code est "prêt à tester" plus tôt. Mais n'est pas "fait" jusqu'à ce que beaucoup plus tard.

Donc. Ils sont totalement corrects. Pour ce qu'ils ont mesuré.

4
S.Lott