Estou curioso para saber se alguém conhece alguma metodologia significativamente diferente (não uma recombinação) e gostaria especialmente de alguém que tenha apresentado alguma experiência com alternativas.
Estou curioso para saber se alguém conhece alguma metodologia significativamente diferente (não uma recombinação) e gostaria especialmente de alguém que tenha apresentado alguma experiência com alternativas.
Respostas:
A Wikipedia lista estes como metodologias / processos de desenvolvimento :
Ágil - com base no desenvolvimento iterativo e incremental, onde requisitos e soluções evoluem através da colaboração entre equipes multifuncionais e auto-organizadas.
Sala limpa - o foco do processo da sala limpa é a prevenção de defeitos, em vez da remoção de defeitos.
Iterativo - um processo de desenvolvimento de software cíclico desenvolvido em resposta às fraquezas do modelo em cascata. Começa com um planejamento inicial e termina com a implantação com as interações cíclicas intermediárias.
RAD - usa um planejamento mínimo em favor da prototipagem rápida. O "planejamento" do software desenvolvido usando o RAD é intercalado com a criação do próprio software.
RUP - O Rational Unified Process (RUP) é uma estrutura de processo de desenvolvimento de software iterativo adaptável, que deve ser customizada selecionando os elementos do processo que são apropriados.
Espiral - combinando elementos de projeto e prototipagem em etapas, em um esforço para combinar as vantagens dos conceitos de cima para baixo e de baixo para cima. Esse modelo de desenvolvimento combina os recursos do modelo de prototipagem e do modelo em cascata.
Cachoeira - seqüencial nas fases de concepção, iniciação, análise, projeto, construção, testes e manutenção.
Lean - uma tradução dos princípios e práticas Lean manufacturing e Lean IT para o domínio de desenvolvimento de software; tudo o que não agrega valor ao cliente é considerado desperdício.
Modelo V - Em vez de descer de maneira linear, as etapas do processo são dobradas para cima após a fase de codificação, para formar a forma típica de V. O modelo V demonstra as relações entre cada fase do ciclo de vida de desenvolvimento e sua fase de teste associada.
TDD - depende da repetição de um ciclo de desenvolvimento muito curto: primeiro o desenvolvedor grava um caso de teste automatizado com falha que define uma melhoria ou nova função desejada, depois produz código para passar no teste e, por fim, refatora o novo código para padrões aceitáveis.
Puro desenvolvimento não estruturado, não gerenciado e de forma livre. Pode ser útil para pequenos projetos de hobby que não têm prazo ou até uma meta clara, mas provavelmente não funcionará em um ambiente corporativo.
O modelo espiral é um processo de desenvolvimento de software que combina elementos de projeto e prototipagem em etapas, em um esforço para combinar vantagens dos conceitos de cima para baixo e de baixo para cima. Também conhecido como modelo de ciclo de vida em espiral (ou desenvolvimento em espiral), é um método de desenvolvimento de sistemas (SDM) usado em tecnologia da informação (TI). Esse modelo de desenvolvimento combina os recursos do modelo de prototipagem e do modelo em cascata. O modelo espiral é destinado a projetos grandes, caros e complicados.
Sente-se com o cliente (ou usuário final) e crie uma série de casos de uso.
Coloque o sistema em papel / quadro branco com algumas cervejas e pizzas. Ria quando algo parece fálico.
Confirme o design com o cliente (ou usuário final) e congele os requisitos.
Auto-explicativo.
Esse argumento em cascata existe há algum tempo e é usado pelos líderes ágeis do pensamento desde o início. Eles também encontraram a "realidade" da cachoeira como um "alerta vermelho".
Quando você começa a trabalhar em um projeto de desenvolvimento de software, descobre rapidamente que a metodologia de desenvolvimento usada terá um papel importante a desempenhar na velocidade e na qualidade do código desenvolvido. Desde que a metodologia Agile é tão amplamente usada, é importante que você entenda as vantagens e desvantagens do ágil, para que você possa determinar se é o mais adequado para as entregas do seu projeto.
O desenvolvimento ágil de software é uma estrutura conceitual para a execução de projetos de engenharia de software. A maioria dos métodos ágeis tenta minimizar o risco desenvolvendo software em caixas de tempo curtas, chamadas iterações, que geralmente duram de uma a quatro semanas. Cada iteração é como um projeto de software em miniatura próprio e inclui todas as tarefas necessárias para liberar o mini incremento de novas funcionalidades: planejamento, análise de requisitos, design, codificação, teste e documentação.
É um bom processo para a empresa, pois inclui o cliente no processo de desenvolvimento e o responsabiliza pela entrega do produto. Por outro lado, os clientes ficam felizes porque se consideram participantes no desenvolvimento do produto.
Deméritos para Agile:
Bem, para uma metodologia interessante que pode funcionar como uma alternativa para o AGILE, pode ser melhor visualizada nesses três links:
Kanban como implementação alternativa ágil