Modèle Agile Vs spirale pour SDLC [fermé]

je crois que L'Agile n'est rien d'autre qu'une autre implémentation du modèle Spiral. Je suis un fervent partisan de Spiral (le modèle spiral est un processus de développement de logiciels combinant des éléments de conception et de prototypage par étapes, dans un effort pour combiner les avantages des concepts du haut vers le bas et du bas vers le haut) depuis ses débuts et j'ai vu que beaucoup de projets mettent en œuvre Spiral sans savoir qu'ils opèrent dans un monde en spirale. Depuis le jour où Agile a commencé à gagner en popularité le concept de spirale commencé à avoir un peu oublié. Je suis sûr que pour les projets complexes, la spirale reste la meilleure alternative, mais j'aimerais mieux comprendre les similitudes et les différences entre les techniques agiles et spirales. Quelqu'un peut-il expliquer leurs différences/similitudes?

22
demandé sur Thomas Owens 2008-10-31 17:51:48

6 réponses

Agile spirale. Totalement. En partie, le nom a été modifié à des fins de marketing.

le problème est que la spirale tend à sous-entendre "grande conception à l'avant" -- où vous planifiez de nombreuses spirales, chacune par ordre de risque. Spiral, cependant, n'est pas Agile -- c'est juste une exécution incrémentale par ordre de risque.

une grande distinction Qu'Agile ajoute est le "n'exagérez pas les choses que vous ne pouvez pas savoir encore." Agile spirale, mais vous créez des plans détaillés pour seulement incrément de temps.

Agile ajoute beaucoup d'autres choses, aussi. Spirale est une approche très technique. Agile, cependant, reconnaît que la technologie est construite par les gens. Agile Manifesto repose sur quatre principes qui vont au-delà de la simple approche de gestion des risques de Boehm.

42
répondu S.Lott 2008-10-31 15:02:45

la différence fondamentale, comme je le vois, est que la plupart des modèles spiralés de développement insistent encore sur la grande conception, à l'avant. L'accent est mis sur le fait de savoir autant que vous pouvez sur la façon dont le système sera utilisé; découvrir tous les cas d'utilisation. Une fois que vous les connaissez, alors vous concevez le système et le décomposez en phases qui suivent un détail itératif-conception, mise en œuvre, essai, refactor-boucle de conception. Dans Agile, il s'agit d'une planification préalable -- peut-être en recueillant des connaissances sur les grandes céréales (histoire titres) -- de sorte que des versions raisonnables peuvent être décrites, mais chaque version est planifiée indépendamment et nous retardons la découverte des détails jusqu'à ce que nous soyons prêts à commencer la mise en œuvre de cette version. Nous attendons du changement et n'essayons pas de tout savoir d'abord.

une autre chose qui diffère est que la plupart des philosophies agiles impliquent des méthodes "d'essai d'abord". Cela diffère de la spirale où l'essai est souvent une activité en soi et les essais ne sont pas développés avant le codage. Le plus souvent, ils sont prévus à l'avance, mais développés en parallèle ou après codage. De nombreuses méthodes agiles insistent sur le développement de tests d'abord comme spécification pour le code.

Ils sont semblables en ce qu'ils sont itératives. Ils diffèrent dans la mise en œuvre et la compréhension de ce qu'une itération est.

12
répondu tvanfosson 2008-10-31 15:07:24

Je ne suis pas un expert pour le modèle en spirale, mais d'après la définition de wikipedia, Il me semble qu'il y a des différences significatives.

par exemple, dans un projet Agile, à la fin d'une itération, il n'y a pas de prototype, mais un système entièrement fonctionnel, entièrement testé, potentiellement déployable (1), contenant les caractéristiques les plus prioritaires de la liste des caractéristiques.

le rassemblement des exigences au début du projet est censé être juste assez pour obtenir (passer à l'étape suivante) et sont destinés à l'être étoffé peu de temps avant qu'ils obtiennent réellement mis en œuvre. Les changements apportés aux exigences sont les bienvenus.

en outre, il y a beaucoup plus à faire Agile que simplement faire du développement itératif - un accent sur le face-à-face conversation au lieu de communication écrite, un accent sur le fait de réunir les gens d'affaires et technique dans leur travail quotidien. L'accent, en collaboration maximiser la valeur au lieu de définir puis de remplir un contrat.

Dans le cas où vous ne le voyez pas encore, jetez un oeil à l' Agile Manifesto, qui est essentiellement la définition pour le développement de logiciel Agile.

(1) cela ne veut pas dire qu'il a à faire sens des affaires pour déployer le système, "juste" que c'est techniquement faisable. La décision de déployer ou non le système à la fin d'une itération devrait être une décision purement commerciale.

2
répondu Ilja Preuß 2008-11-02 11:09:01

je crois que Agile est un type de SDLC itératif alors que spiral est un type de SDLC incrémental. Scrum est l'un le type de Agile autres sont DSDM/FDD/XP etc. Tous les SDLC après waterfall ont suivi le même ensemble d'actions(analyse des besoins, Conception, codage et test) dans différentes combinaisons. Ainsi l'ensemble de base de l'action dans séquentielle ou itérative ou incrémentale sont les mêmes.

pour ce qui est de L'agilité et de la spirale, Les deux ont un avantage commun 1.Modification de la manipulation des exigences 2.À court terme publier 3.La gestion des risques est facile en raison de la durée plus courte de SDLC 4.L'équipe de Cross aide le produit et le projet à se dérouler en douceur

1
répondu Gajanan Polaswar 2012-04-13 11:26:37

Première Agile est en fait un certain nombre de processus différents qui suivent une philosophie similaire. Une de la philosophie qui la rend différente est que chaque itération produit un produit de travail. Elle peut être décrite comme itérative et incrémentale. Beaucoup d'accent est mis sur le travail produit et les tests. Dans de nombreux modèles agiles, le test précède le codage.

dans le modèle en spirale, le nombre d'itérations est fixe, alors que chaque phase d'un modèle agile peut consister en n'importe quelle itération. nombre d'itérations.

vous avez raison, il y a des similitudes, mais la philosophie sous-jacente fait la différence. Ce page explique plus en détail et compare agile à d'autres méthodes.

vous pouvez dire que les processus agiles sont basés sur des cas D'utilisation...en plaçant l'accent sur les gens, l'utilisateur final.

0
répondu Vincent Ramdhanie 2008-10-31 15:03:16

je dirais que la spirale et l'agile sont semblables. Cependant, récemment agile est souvent devenu un système de propagande pour excuser cowboy codage. I. e.

  • exigences extrêmement minimales
  • analyse technique minimale
  • documentation minimale
  • Pas de commentaires dans le code
  • Bonus spécial -- abus du Design piloté par domaine pour compliquer le modèle d'objet

Cela n'a jamais été l'idée de spirale. Je dirais que ce n'est pas vraiment le but de L'agilité non plus, bien que vous seriez surpris combien de fois j'ai vu cela récemment. de plus en plus de développeurs/OPM expérimentés commencent à voir la sagesse d'une approche plus équilibrée entre cascade et "agile" -- peut-être que cela nous ramène simplement à la spirale.

bien Qu'il y ait quelques idées utiles dans L'Espace Agile de l'esprit, il semble souvent comme si elle s'est manifestée de personnes qui étaient dans des organisations qui ont eu particulièrement des méthodologies de conception de logiciels trop lourdes/inutiles, et a été une réaction/sur-réaction à cela.

0
répondu alchemical 2010-02-09 23:11:55