Pergunta

Eu acredito que Agile é nada, mas outra implementação do Spiral Model. Eu sou um grande defensor da Spiral (O modelo espiral é um processo de desenvolvimento de software que combina elementos de design e prototipagem-in-etapas, em um esforço para combinar vantagens de cima para baixo e conceitos bottom-up) desde o seu início e já vi que muitos projectos implementar espiral sem saber que eles estão operando em um mundo Spiral. Desde o dia Agile começou a ganhar popularidade do conceito de espiral começou a ficar esquecido um pouco. Estou certo de que para projetos complexos espiral ainda é a melhor alternativa, mas eu gostaria de obter uma melhor compreensão das semelhanças e diferenças entre as técnicas ágeis e espirais. Alguém pode explicar suas diferenças / semelhanças?

Foi útil?

Solução

Agile é em espiral. Totalmente. Em parte, o nome foi mudado para fins de marketing.

O problema é que espiral tende a implicar "grande projeto na frente" - onde você planejar muitas espirais, cada um, a fim de risco. Espiral, no entanto, não é Agile -. A sua execução apenas incremental na ordem de risco

Uma grande distinção que Agile acrescenta é o "não coisas overplan você pode não sei ainda." Agile é espiral, mas você criar planos detalhados para apenas um incremento de cada vez.

Agile adiciona um monte de outras coisas, também. Espiral é uma abordagem muito técnica. Agile, no entanto, reconhece que a tecnologia é construída por pessoas. A Agile Manifesto tem quatro princípios que estão acima e além abordagem de gestão de risco simples do Boehm.

Outras dicas

A diferença básica, a meu ver, é que a maioria dos modelos espiral de desenvolvimento ainda insistem em projeto grande, up-front. A ênfase está em saber tanto quanto você pode sobre como o sistema será usado; descobrir todos os casos de uso. Depois de conhecer estes, então você projetar o sistema e dividi-la em fases que se seguem um detalhe-design, implementação, teste, laço refactor-design iterativo. No Agile, o seu é um planejamento up-front - talvez reunindo grande compreensão grão (títulos história) - de modo que libera razoáveis ??pode ser descrito, mas cada lançamento está previsto de forma independente e que atrasar descoberta dos detalhes até que estejamos prontos para começar implementação dessa liberação. Esperamos mudança e não tente saber tudo primeiro.

Outra coisa que difere é que a maioria das filosofias ágeis envolvem métodos "de teste de primeira". Isso é diferente da espiral onde o teste é muitas vezes uma atividade em si mesmo e os testes não são desenvolvidos antes do código. Na maioria das vezes elas são planejadas com antecedência, mas desenvolvido em paralelo ou após a codificação. Muitos métodos ágeis insistir no desenvolvimento de testes em primeiro lugar como a especificação para o código.

Eles são semelhantes em que eles são iterativos. Eles diferem na implementação e compreensão do que uma iteração é.

Eu não sou um especialista para o modelo espiral, mas a partir da wikipedia-definição, parece-me que há algumas diferenças significativas.

Por exemplo, em um projeto Agile, no final de uma iteração não resiste um protótipo, mas um sistema totalmente funcional, totalmente testado, potencialmente implantável (1), que contém as funcionalidades de maior prioridade na lista de recursos.

Os coleta de requisitos no início do projeto é destinado a ser apenas o suficiente para ir (para dar o próximo passo) e destinam-se a ser concretizada apenas pouco antes de começar realmente implementado. As mudanças são as exigências são bem-vindas.

Além disso, há muito mais para o Agile do que simplesmente fazer desenvolvimento iterativo - um foco no rosto em conversa cara em vez de comunicação escrita, um foco em trazer pessoas de negócios e juntos técnico no seu dia-a-dia. Um foco em colaboração maximizar o valor em vez de definir e, em seguida, cumprir um contrato.

No caso de você não vê-lo ainda, dê uma olhada na Agile Manifesto , que basicamente é a definição para Desenvolvimento Ágil de Software.

(1) Isso não significa que ele tem que fazer sentido do negócio para implantar o sistema, "apenas" que é tecnicamente viável. Deve ser uma decisão de negócio puro se para implantar o sistema no final de uma iteração.

Eu acredito Agile é tipo de iterativo SDLC enquanto espiral é tipo de Incremental SDLC. Scrum é um tipo de Agile outros são DSDM / FDD / XP etc. Todos SDLC após cachoeira seguido mesmo conjunto de atos (Requisito análise, projeto, codificação e testes) em algumas combinações diferentes. conjunto tão básico de ação em sequencial ou iterativo ou incremental são os mesmos.

Quanto Agile e Spiral são preocupação ambos têm vantagem comum 1.Changing manuseamento Requisito 2.Short lançamentos prazo gestão 3.Risk é fácil devido ao menor tempo de SDLC equipe 4.Cross ajuda produto e projeto vai suave

Primeiro Agile é realmente um número de diferentes processos que seguem uma filosofia similar. Um dos da filosofia que o torna diferente é que cada iteração produz um produto de trabalho. Pode ser descrito como iterativo e incremental. Muita ênfase é colocada sobre o produto de trabalho e em testes. Em muitos modelos ágeis testar vem antes da codificação.

No modelo espiral o número de iterações são fixas, enquanto que cada fase de um modelo ágil pode consistir de qualquer número de iterações.

Está certo que existem semelhanças, mas a filosofia subjacente faz a diferença. Este href="http://en.wikipedia.org/wiki/Agile_software_development" rel="nofollow página explica com mais detalhes e compara ágil para outros métodos.

Você pode dizer que os processos ágeis são Use Case impulsionado ... colocar muita ênfase sobre as pessoas, o usuário final.

Eu diria espiral e ágil são semelhantes. No entanto, ultimamente ágil tem muitas vezes aparentemente tornar-se um sistema de propaganda para desculpar cowboy codificação. I.

  • requisitos extremamente minimalista
  • análise técnica mínima
  • documentação mínima
  • Não há comentários de código
  • Bonus-- Especial mau uso do Domain Driven projeto para o excesso de complicar o modelo de objeto

Isso nunca foi a idéia com espiral. Eu diria que não é realmente o ponto de Agile quer, mas você ficaria surpreso quantas vezes eu vi isso recentemente. Mais e mais experientes desenvolvedores / PMs estão começando a ver a sabedoria de uma abordagem mais equilibrada entre cachoeira e "ágil." - talvez isso simplesmente nos traz de volta à espiral

Apesar de existirem algumas idéias úteis na mente-espaço Agile, que muitas vezes parece como se manifesta a partir de pessoas que estavam em organizações que tiveram particularmente sobre-onerosa / metodologias de projeto de software inútil, e foi uma reação / reação exagerada ao isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top